在__init__中使用类方法

时间:2012-01-17 14:14:03

标签: python oop class

我有以下课程,我希望在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()

3 个答案:

答案 0 :(得分:5)

当然可以!

self.location_change()

类中的每个方法都应该至少使用一个参数,这通常称为self。

def location_change(self):

python中oop的入门教程 http://www.voidspace.org.uk/python/articles/OOP.shtml

文档 http://docs.python.org/tutorial/classes.html

答案 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>