python 定义方法时如何使用self?
python how to use self when defining a method?
我对编码很陌生。
我想了解何时使用 'self'。
在定义方法和调用方法时是否应该始终使用 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
参数是class的对象。如果你声明 class 方法,你应该传递它。换句话说,您声明您的方法属于此对象并将其传递给此方法。尝试运行
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>
<__main__.Bar object at 0x000001A0CA120608>
(地址可能是其他地址)是 Bar
class
的 bar
对象
我对编码很陌生。 我想了解何时使用 'self'。 在定义方法和调用方法时是否应该始终使用 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
参数是class的对象。如果你声明 class 方法,你应该传递它。换句话说,您声明您的方法属于此对象并将其传递给此方法。尝试运行
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>
<__main__.Bar object at 0x000001A0CA120608>
(地址可能是其他地址)是 Bar
class
bar
对象