python 物件導向 類變數和類方法使用(四)

2021-10-17 23:11:38 字數 3351 閱讀 8571

class student:

# 成員變數

def __init__(self,name,gender,tel):

self.name=name

self.gender=gender

self.tel=tel

# 成員方法

def show(self):

print(f'的性別-,她的**-')

# 構造方法

stu1=student('samantha','f',110)

stu2=student('john','m',112)

# 呼叫方法

class 類名:

變數名 = 值

呼叫: 賦值:

類名.變數名 = 值

取值:類名.變數名

區別:1.例項變數 > 物件名.變數名

2.類變數 > 類名.變數名

"""

class student:

#類變數:不會隨著物件的改變而發生

info='學生資訊'

# 成員變數:隨著物件的改變而發生改變

def __init__(self,name,gender,tel):

self.name=name

self.gender=gender

self.tel=tel

# 類名.變數名

print(student.info)

"""

在沒有建立物件之前,我們嘗試了類名.例項變數名

student.name 發生異常:attributeerror: type object 'student' has no attribute 'name'

"""print(student.name)

# 建立物件

stu1=student('samantha','f',110)

"""類名.例項變數名 => 類名無法去呼叫例項變數,student.gender 會發生異常:attributeerror: type object 'student' has no attribute 'gender'

物件名.類變數名 => 物件是可以呼叫類變數,stu1.info

"""# print(stu1.name,stu1.info,student.gender)

類成員: 為了節約記憶體空間

1.變數

類變數 : 直接定義在類裡面,物件的不同不會產生變化,直接歸屬於類管轄

例項變數 : 定義在init方法裡面, self 物件建立之後才會執行, 隨著物件不同而發生改變

2.方法

類方法: 不會隨時物件的改變而發生改變

例項方法: 會隨著物件的改變而發生改變

(1) 類方法

class 類名:

@classmethod

def 方法名(cls, 形參):

方法體(2) 例項方法

class 類名:

def 方法名(self,形參1,形參2,.......):

方法體呼叫:

類名.方法名(實參) **推薦使用

物件名.方法名(實參) **不常用

注意:1.類方法: @classmethod cls類

2.例項方法: self物件

class student:

#類變數:不會隨著物件的改變而發生

info='學生資訊'

# 成員變數:隨著物件的改變而發生改變

def __init__(self,name,gender,tel):

self.name=name

self.gender=gender

self.tel=tel

#例項方法

def show(self):

print(f'的性別-,她的**-')

#類方法

@classmethod

def myclass(self):

print('類方法的使用!')

#呼叫# 類名.方法名(實參)

student.myclass()

#建立物件

stu=student('mike','man',110)

#物件名.成員變數

print(stu.name,stu.gender)

#物件名.方法名(實參)

1、類方法中不允許使用例項變數和例項方法。2、例項方法中允許使用類變數和類方法。

class student:

#類變數:不會隨著物件的改變而發生

__info='學生資訊'

# 成員變數:隨著物件的改變而發生改變

def __init__(self,name,gender,tel):

self.name=name

self.gender=gender

self.tel=tel

#例項方法

def show(self):

print(f'的性別-,她的**-')

#類方法,cls是引數!!!

@classmethod

def myclass(cls):

#訪問類方法

cls.display()

# 訪問類屬性

print(cls.__info)

@classmethod

def display(self):

print('我是類方法!!')

# 1.例項物件.類方法名(實參1,實參2,...)

stu=student('mike','man',110)

stu.show()

# 2.類物件.類方法名(實參1,實參2,...)

9 物件導向 類和物件 例項變數 類變數

使用 class 語句來建立乙個新類 class dog self 代表的是類的例項,代表當前物件的位址 def init self,name 稱為類的建構函式,進行初始化成員變數 self.name name def bulk self 自定義函式 print s 汪汪 self.name d1 ...

python物件導向(類和物件)

物件導向程式設計的2個非常重要的概念 類和物件 物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念 類 類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件 賓士汽車 類 賓士smart 類 張三的那輛賓士smart 物件 狗...

Python 物件導向 類和物件

類 和 物件 是物件導向程式設計的 兩個 核心概念 類就相當於製造飛機時的圖紙,是乙個模板,是負責建立物件的 物件就相當於用圖紙製造的飛機 在開發過程中,應該先有類,再有物件 類中定義了什麼屬性和方法,物件中就有什麼屬性和方法,不可能多,也不可能少 在使用物件導向開發前,應該首先分析需求,確定一下,...