python获取类函数的变量不包括_Python函数不访问类变量

如果要创建类变量,则必须在任何类方法之外声明它(但仍在类定义中):

class Example(object):

somevariable = 'class variable'

有了这个,您现在可以访问您的类变量.

>> Example.somevariable

'class variable'

您的示例不起作用的原因是您要为实例变量赋值.

两者之间的区别在于,一旦创建了类对象,就会创建一个类变量.而实例变量将在对象实例化后创建,并且只有在它们被分配后才会创建.

class Example(object):

def doSomething(self):

self.othervariable = 'instance variable'

>> foo = Example()

这里我们创建了一个Example实例,但是如果我们尝试访问其他变量,我们将收到一个错误:

>> foo.othervariable

AttributeError: 'Example' object has no attribute 'othervariable'

由于在doSomething中分配了其他变量 – 我们还没有调用ityet – 它不存在.

>> foo.doSomething()

>> foo.othervariable

'instance variable'

__init__是一种特殊的方法,只要发生类实例化就会自动调用它.

class Example(object):

def __init__(self):

self.othervariable = 'instance variable'

>> foo = Example()

>> foo.othervariable

'instance variable'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值