在__init__中使用类方法
我有一个类,我想在这个类的初始化方法__init__
中使用一个叫location_change
的方法。请问有没有办法做到这一点?下面的例子是一个简化版,但我需要做的是用一个类的方法来处理一些构造函数的数据。这在Python中可以实现吗?
class dummy:
def __init__(self):
self.location = 'USA'
print(self.location)
location_change()
print(self.location)
def location_change():
self.location = 'UK'
first_dummy = dummy()
3 个回答
1
class Dummy:
def __init__(self):
self.location = 'USA'
print(self.location)
Dummy.location_change(self)
print(self.location)
def location_change(self):
self.location = 'UK'
first_dummy = Dummy()
print(first_dummy)
你需要告诉“location_change”它正在使用一个叫做self的参数。否则,它就会变成一个未定义的变量。你还需要在调用它的时候使用类的名字。
USA
UK
<__main__.Dummy object at 0x1005ae1d0>
5
当然可以!
self.location_change()
在一个类里面,每个方法至少需要一个参数,这个参数通常叫做self。
def location_change(self):
这是一个关于Python面向对象编程的入门教程 http://www.voidspace.org.uk/python/articles/OOP.shtml
3
试试这个
class Dummy:
def __init__(self):
self.location = 'USA'
print(self.location)
self.location_change()
print(self.location)
def location_change(self):
self.location = 'UK'
first_dummy = Dummy()