python中建立類role 初識Python類

2021-10-12 10:58:01 字數 1710 閱讀 6280

吐槽:學習物件導向就像你追乙個女神一樣,剛剛有點感覺了,過幾天又陷入絕望的感覺,很蛋疼。

類的語法

classperson(object):print("learning class")

test=person()#test就是類person的例項化物件#例項化,就是以person類為模板,在記憶體裡開闢一塊空間,存上

然後想加點東西,是誰在學習類。

class person(object):

def __init__(self,name):

self.name = name

def learng(self):

print(self.name,"is learning class")

test = person("jhon")

test.learng() #類例項化後就可以呼叫類中的方法了

#test就是類person的例項化物件

#例項化,就是以person類為模板,在記憶體裡開闢一塊空間,存上資料,賦值成乙個變數名

class person(object):

def __init__(self,name):

self.name = name

def learng(self):

print(self.name,"is learning class")

print(person)

# test = person("jhon")

# test.learng() #類例項化後就可以呼叫類中的方法了

#test就是類person的例項化物件

#例項化,就是以person類為模板,在記憶體裡開闢一塊空間,存上資料,賦值成乙個變數名

列印結果如下:

這說明即使類不例項化,這個person類本身也是已經存在記憶體裡的。如果例項化了?會有什麼反應了?

根據圖我們得知,其實self就是例項本身!例項化python會自動把這個例項本身通過self引數傳進去。

趁熱打鐵,接下來分解一下下面**分別是什麼意思

class role(object): #定義乙個類, class是定義類的語法,role是類名,(object)是新式類的寫法,必須這樣寫,以後再講為什麼

def __init__(self,name,role,weapon,life_value=100,money=15000): #初始化函式,在生成乙個角色時要初始化的一些屬性就填寫在這裡

self.name = name #__init__中的第乙個引數self,和這裡的self都 是什麼意思? 看下面解釋

self.role = role

self.weapon = weapon

self.life_value = life_value

self.money = money

上面的這個__init__()叫做初始化方法(或構造方法),在類被呼叫時,這個方法會自動執行,進行一些初始化的動作,所以我們這裡寫的__init__(self,name,role,weapon,life_value=100,money=15000)就是要在建立乙個角色時給它設定這些屬性,那第乙個self是幹毛用的呢?

初始化乙個角色,就需要呼叫類一次:

r1 = role('alex','police','ak47』) #生成乙個角色 , 會自動把引數傳給role下面的__init__(...)方法

r2 = role('jack','terrorist','b22』) #生成乙個角色

未完待續。。。。

python類中的建立物件

python中物件導向的知識 參考部落格 知識概念和c 大體類似,但是也有一些不同的地方需要注意 如 一 python中例項化結果,建立類,例如 class a def prt self print self print self.class 例項化來建立物件 t a t.prt 二 注意在c 中建...

python在類中建立執行緒

import threading import time class mythread threading.thread def run self for i in range 3 time.sleep 1 msg i m self.name print msg def saypoem self p...

Python中type()詳解 動態建立類

眾所周知 type 函式可以檢視變數的型別 先看乙個簡單的列子來看一下type檢視變數型別 class animal pass a animal print type a print type animal 可以發現我定義的animal類本身的型別是 type 從 python 直譯器的角度來看,當...