python,定义一个函数A,函数B有一个变量,函数调用时怎么在函数A里获取变量的值。可以用数据库是什么的

两个函数的参数不一样

第1个回答  2012-10-28
你的问题感觉有些困惑,推荐答案里应该是正解。不过后面又有朋友回复你用类来表达。我觉着他们都说得对。你先想清楚,你的数据结构的组织关系。

哪些是需要隐藏的,为什么要隐藏。不隐藏会有什么后果。然后你再想用函数+变量方式还是用类方式。

明确说明函数是没有静态变量的。所以不存在函数里有一个变量,几个其它的函数可以引用,这个变量又是封闭隐藏的。这感觉思维刘有些混乱。

只要你自己想清楚了,迈过这一关,自然就会自己找到答案的。
def fun1(parameter1):
var b
b=333
return b

def fun2(parameter2):
c=fun1(parameter2*3)
return c
不知道你是不是想表达这样的结果。本回答被提问者采纳
第2个回答  2012-11-10
如果需要封装细节和防止名称污染的话,可以使用类或者闭包

我这里举个闭包的例子,data作为公用的变量,外层使用一个包装函数.

def _t( ):

data = [ None ]

def func1( value ):

print( data )

data[ 0 ] = str( value )

def func2( value ):

print( data )

data[ 0 ] = int( value )

return func1 ,func2

func1 ,func2 = _t( )

func1( 3 )

func2( '12' )

func1( 2 )
第3个回答  2012-10-27
将函数A,函数B定义在类中,将共有变量设为该类成员变量,不知道是否能满足你的需求。
第4个回答  推荐于2018-04-24
可以把变量设置为全局变量:

def fun1():
global var1
...
def fun2():
global var1追问

变量是容器变量,由于程序其他函数很多也用到了该变量名,防止变量值相互覆盖没有设置为全局变量

追答

可以考虑在A和B函数中专门定义一个全局变量,用来在A和B之间传递变量的值,在B中将该变量赋值给全局变量。

本回答被网友采纳