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