【问题标题】:python how to use self when defining a method?python在定义方法时如何使用self?
【发布时间】:2019-11-19 07:35:54
【问题描述】:

我对编码很陌生。 我想了解何时使用“自我”。 定义方法和调用方法时是否应该始终使用self?

在下面的代码中,#1 到#5,请帮忙解释什么是错的,为什么?

class customer() :
    def __init__(self, name, age, cellNumber): 
        self.name = name
        self.age = age
        self.cellNumber = cellNumber
    def sayHi():   #1
        print("Hi hi!!")
    def info(): #2
        print(self.name + " is "+ str(self.age) + "Number is "+ self.cellNumber)

customer.sayHi() #3
print(brian.age, rex.cellNumber)
print(rex.age)
customer.info(rex)** #4
rex.info()** #5

【问题讨论】:

标签: python methods self


【解决方案1】:

self参数是类的对象。如果你声明类方法,你应该通过它。换句话说,您声明您的方法属于此对象,并将其传递给此方法。尝试运行

def foo(string):
    print(string + ' from function')

class Bar:
    def foo(self, string):
        print(string + ' from ', self)

foo('Hi cruel world')
bar = Bar()
bar.foo('Hi cruel world')

你会看到

Hi cruel world from function
Hi cruel world from  <__main__.Bar object at 0x000001A0CA120608>

&lt;__main__.Bar object at 0x000001A0CA120608&gt;(地址可能是另一个)是Bar类的bar对象

【讨论】:

    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多