Python筆記 self語句的使用

2021-10-16 09:16:48 字數 1022 閱讀 4467

class

student

(object):

# __slots__ = ('name','age','city') 這個屬性直接定義在類裡,是乙個元組,用來規定物件可以存在的屬性

# def __new__(cls, *args, **kwargs):

def__init__

(self,x,y)

: self.name = x

self.age = y

defsay_hello

(self)

:print

(,self.name)

"""物件就是記憶體空間的乙個位址

1.呼叫了 __new__ 方法,用來申請記憶體空間

2.呼叫了 __init__ 方法傳入引數,將self指向建立好的記憶體空間,填充資料

3.變數s1也指向建立好的記憶體空間

誰呼叫方法self就是指的誰

當前呼叫方法的物件

"""s1 = student(

'張三',18

)print

('s1的名字是:'

,s1.name)

s2 = student(

'jack',21

)s2.say_hello(

)#s2呼叫say_hello(),say_hello()裡的self就是s2

s1.say_hello(

)#s1呼叫say_hello(),say_hello()裡的self就是s1

#print(s.hight) 沒有屬性會報錯

s1.city =

'上海'

#如果這個屬性以前不存在,會給物件新增乙個新的屬性

#如果這個屬性以前存在,會修改這個屬性對應的值

print

(s1.city)

結果

s1的名字是: 張三

上海process finished with exit code 0

Python中關於 self 的種種用法筆記

給物件增加屬性 先來看個例子 class cat def eat self print s 愛吃魚 self.name 在 python 中,要 給物件設定屬性,非常的容易,但是不推薦使用 tom.name tom lazy cat.name 大懶貓 使用self在方法內部輸出每乙隻貓的名字 由 哪...

Python要self的理由

python的類的方法和普通的函式有乙個很明顯的區別,在類的方法必須有個額外的第乙個引數 self 但在呼叫這個方法的時候不必為這個引數賦值 顯勝於隱 的引發 python的類的方法的這個特別的引數指代的是物件本身,而按照python的慣例,它用self來表示。當然我們也可以用其他任何名稱來代替,只...

Python要self的理由

接觸python以來,看到類裡的函式要帶個self引數,一直搞不懂啥麻子原因。晚上特別針對python的self查了一下,理理。python的類的方法和普通的函式有乙個很明顯的區別,在類的方法必須有個額外的第乙個引數 self 但在呼叫這個方法的時候不必為這個引數賦值 顯勝於隱 的引發 python...