在__init__中使用类方法

1 投票
3 回答
756 浏览
提问于 2025-04-17 10:26

我有一个类,我想在这个类的初始化方法__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

还有官方文档 http://docs.python.org/tutorial/classes.html

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()

撰写回答