我有以下课程,我希望在location_change
内为该课程使用__init__
方法。有没有办法做到这一点?我在下面使用的示例是一个简化,但我需要做的是使用类方法来转换一些构造函数数据。可以在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()
答案 0 :(得分:5)
当然可以!
self.location_change()
类中的每个方法都应该至少使用一个参数,这通常称为self。
def location_change(self):
python中oop的入门教程 http://www.voidspace.org.uk/python/articles/OOP.shtml
答案 1 :(得分: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()
答案 2 :(得分: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"它正在与论证,自我合作。否则它是一个未定义的变量。调用它时还需要使用类名。 这应该给你:
USA
UK
<__main__.Dummy object at 0x1005ae1d0>