python在定义方法时如何使用self?

python在定义方法时如何使用self?,python,methods,self,Python,Methods,Self,我对编码很陌生。 我想知道什么时候使用“自我”。 我应该在定义方法和调用方法时始终使用self吗 在下面的代码#1到#5中,请帮助解释什么是错误的以及为什么 class customer() : def __init__(self, name, age, cellNumber): self.name = name self.age = age self.cellNumber = cellNumber def sayHi():

我对编码很陌生。 我想知道什么时候使用“自我”。 我应该在定义方法和调用方法时始终使用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

self
参数是类的对象。如果声明类方法,则应该传递它。换句话说,您声明您的方法属于此对象,并将其传递给此方法。试着跑

def foo(字符串):
打印(字符串+‘来自函数’)
分类栏:
def foo(自身,字符串):
打印(字符串+“自”,自)
福(“嗨,残酷的世界”)
bar=bar()
巴富(“嗨,残酷的世界”)
你会看到的

Hi cruel world from function
Hi cruel world from  <__main__.Bar object at 0x000001A0CA120608>
来自函数的残酷世界
嗨,残酷的世界

(地址可能是另一个)是
bar
类的
bar
对象,这是否回答了您的问题?或者也可以阅读。这个例子中几乎所有的东西都是错的;缩进,缺少名称,调用类上的实例方法。。。但简单的回答是,您需要在每个实例方法的定义中至少放置一个参数,约定是将该参数命名为self(特别是如果您要在方法的代码中将其称为self,就像您在info中所做的那样)。