繁体   English   中英

在__init__中使用类方法

[英]Using a class method in __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()

当然可以!

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

尝试这个

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM