【发布时间】:2021-01-27 16:28:21
【问题描述】:
我有测试类:
class Foo_class:
def __init__(self,x=0):
"""init, x defaul as 0."""
self.x=x
def val(self):
return self.x
我想明白,怎么调用:
f=Foo_class()
print(f.val)
f.val 将返回 def f.val() 的值。
有可能吗?
【问题讨论】:
-
您可以使用描述符,例如
property -
除非你使用装饰器,否则你不能调用这样的类方法。
f.val将返回该方法对象在类中的地址,如下所示,<bound method Foo_class.val of <__main__.Foo_class object at 0x000002A1D9098160>> -
你也可以在
__init__中做self.val = x... ;)
标签: python python-3.x