
正文
Python访问函数变量 python访问类变量
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
python中变量或者函数问题
好像很难实现对变量X的任何改变都调用函数f()Python访问函数变量,调用的过程通常发生在对变量X的赋值和读取之时Python访问函数变量;如果变量赋值为某种结构类型Python访问函数变量,例如list,对list内元素的处理,无法引发调用
1、可以使用class的property属性实现
2、可以考虑使用yield语法实现
File file2.py:
import file1
x = file1.joinf()
x.X = 90 或者 m = x.X时都可以执行不同的程序
========================================
File file1.py:
def ART(func):
return property(**func())
class joinf():
def __init__(self):
self.__X = None #真实保存变量的地方,不可直接访问
@ART
def X():
def fget(self): #执行m=x.X时调用的函数
pass #可以在此执行任何指令和函数 - 可以在此调用函数f()
return self.__X #不一定非要返回原值,此处返回什么,m得到的就是什么
def fset(self, value): #执行x.X=90 操作时执行的函数,value就是90
pass #可以在此执行任何指令和函数 - 可以在此调用函数f()
self.__X = value #不一定把原值付给self.__X的,可以对value进行处理后再赋值给value
return locals()
相关问答
Q1: python 函数外面的变量能在里面使用吗?
这涉及到变量的生命周期问题,一般的,在函数里面声明的变量在函数外是不起作用的。
一个比较简单的解决办法是你在函数外就先声明这个变量,声明成全局变量。然后在函数里面进行操作和赋值。
最后就能在函数外获取变量的值了。例如:
123456 x = 0def a(): x = 2if __name__ == '__main__': a() print x
最终x打印出来的结果就是2
Q2: 自动化测试时需要使用python,请问如何理解python中的全局变量和局部变量?
提供理解供参考:
简单点来说:
1、在python中,全局变量可以直接访问,而局部变量只能在定义的块(如函数体)内部或是通过函数访问。
2、同名的变量,会优先使用局部变量。
为更好理解,示例代码如下:
代码运行结果:
3、可以在函数体内部,使用 global 来字义一个全局变量,在使用之前这个全局变量必须初始化。
Q3: python同一个类内两个函数变量怎么调用
classA():
self.b1 = 0
def b(self):
self.b1=123
def c(self):
c1=self.b1+5
print c1
Q4: python,定义一个函数A,函数B有一个变量,函数调用时怎么在函数A里获取变量的值。可以用数据库是什么的
你的问题感觉有些困惑,推荐答案里应该是正解。不过后面又有朋友回复你用类来表达。我觉着他们都说得对。你先想清楚,你的数据结构的组织关系。
哪些是需要隐藏的,为什么要隐藏。不隐藏会有什么后果。然后你再想用函数+变量方式还是用类方式。
明确说明函数是没有静态变量的。所以不存在函数里有一个变量,几个其它的函数可以引用,这个变量又是封闭隐藏的。这感觉思维刘有些混乱。
只要你自己想清楚了,迈过这一关,自然就会自己找到答案的。
def fun1(parameter1):
var b
b=333
return b
def fun2(parameter2):
c=fun1(parameter2*3)
return c
不知道你是不是想表达这样的结果。
Q5: python函数中能调用外部变量与对象吗?
当然可以,下面举一例:
Python访问函数变量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python访问类变量、Python访问函数变量的信息别忘了在本站进行查找喔。








