關於python中self的理解

2021-09-01 07:12:36 字數 568 閱讀 9588

self可以這麼理解

class就是表示「汽車」 然後__init__是一些汽車的基本定義,比如要有發動機,要有方向盤 在這個定義的過程中,可能需要一種引用,比如現在北京要求汽車都要裝自檢測系統,監測系統統計資料必定是某一輛車它自身的,是乙個「例項」邦定的行為,你的檢測功能不會也不允許去收集其他汽車的資料. 

1

#-*- coding: cp936 -*-

2class

汽車:3

自檢測(這輛車,x,y......):

4這輛車.get發動機轉數()

5 這輛車.get里程表()

...... 這裡self就特指這輛車它本身,__init__可以理解為自檢測。 

類/物件可以擁有像函式一樣的方法,這些方法與函式的區別只是乙個額外的self變數。 

個人理解:為什麼說方法與函式的區別是乙個額外的self變數呢?可能是因為每個類的例項/物件的方法只能在它自己的例項/物件的範圍裡面起作用,故要加self來區分;而函式是在任何時候都可以引用,沒有類的界限。

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

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

python中self的用法

self相當於是類對外提供的乙個呼叫屬性和動態方法的介面,在類的方法中加上self,則可以通過例項化後的物件呼叫,沒有的話就只能通過類本身呼叫 類名.函式名 分為兩種情況 class test01 def init self,t self.t t def testfun01 self print 這...

python中的 self 應用

x 6 class a def sing self self.x 10 def mutl self y 10 x print y a a a.mutl 結果是 60 先弄清 mutl 中的 x 到底是哪乙個?為什麼不呼叫類內部的 x 引數而跑去呼叫類外的 x 呢?self 到底指代的是誰,self ...