Python學習筆記之六 Python中的類

2021-10-19 17:54:45 字數 2724 閱讀 4792

類(class)是物件導向程式設計(oop,object-oriented programming)實現資訊封裝的基礎。類是一種使用者定義的引用資料型別,也稱類型別。每個類包含資料說明和一組運算元據或傳遞訊息的函式。

例項化:根據類來建立物件被稱為例項化。

屬性:通過例項可以訪問的變數被稱為屬性。

方法:類中的函式被稱為方法。

在每次根據類建立例項時,python都會自動執行__init__()方法,類中的任何方法至少都需要包含乙個形參self,且該形參必須位於其他形參前面。具體使用方法如下例項所示:

#python中約定類名的首字母大寫

class student():

def __init__(self, name, ***, age):

#使用self.字首定義的屬性(變數)可以供類中所有的方法使用,也可以通過例項對其進行訪問

self.name = name

self.*** = ***

self.age = age

#類中所有的方法都需要包含形參self

def student_info_show(self):

#在類的方法中可以對類中帶有self.字首的變數進行訪問

print(str(self.name) + " is a(n) " + str(self.age) + " years old " + str(self.***))

#建立乙個例項student_1

student_1 = student('xiaoming', 'boy', 12)

#通過例項student_1呼叫類中定義的方法

student_1.student_info_show()

#通過例項student_1訪問類中的屬性(變數)

print("name is " + str(student_1.name))

上述**的執行結果如下所示:

xiaoming is a(n) 12 years old boy

name is xiaoming

在實際使用中我們可以根據類建立任意數量的例項。具體使用方法如下例項所示:

class student():

def __init__(self, name, ***, age):

self.name = name

self.*** = ***

self.age = age

def student_info_show(self):

print(str(self.name) + " is a(n) " + str(self.age) + " years old " + str(self.***))

#建立乙個例項student_1

student_1 = student('xiaoming', 'boy', 12)

student_1.student_info_show()

#建立乙個例項student_2

student_2 = student('xiaohong', 'girl', 11)

student_2.student_info_show()

上述**的執行結果如下所示:

xiaoming is a(n) 12 years old boy

xiaohong is a(n) 11 years old girl

在編寫類時,也可以使用繼承的方法來基於另乙個現成的類建立新的類。乙個類繼承另乙個類時,它會自動獲得另乙個類的所有屬性和方法。原有的類稱為父類,新類稱為子類。子類繼承了父類所有的屬性和方法,同時還可以定義自己的屬性和方法。

class student():

def __init__(self, name, ***, age):

self.name = name

self.*** = ***

self.age = age

def student_info_show(self):

print(str(self.name) + " is a(n) " + str(self.age) + " years old " + str(self.***))

class mystudent(student):

def __init__(self, name, ***, age, grade):

super().__init__(name, ***, age)

self.grade = grade

my_stu = mystudent('xiaopeng', 'boy', 10, 6)

my_stu.student_info_show()

print("name: " + str(my_stu.name))

print("***: " + str(my_stu.***))

print("age: " + str(my_stu.age))

print("grade: " + str(my_stu.grade))

上述**的執行結果如下所示:

xiaopeng is a(n) 10 years old boy

name: xiaopeng

***: boy

age: 10

grade: 6

python之raw input (學習筆記六)

python之raw input 學習筆記六 我們經常使用raw input 讀取使用者的輸入,如下例子所示 name raw input please input your name 截圖如下 下面簡單說下,raw input 與if搭配使用,指令碼如下 usr bin env python co...

Python學習筆記(六)

函式 呼叫python內建的函式,可以通過 help fun 進行查詢。舉例 abs x 求x絕對值 cmp x,y 比較兩個數大小,如果 xy,返回 1。int x 把其他資料型別轉換為整數,包括字串型別。str 把其他型別轉換成 str。編寫函式 def my abs x if x 0 retu...

Python學習筆記(六)

函式練習題 1 寫函式,檢查傳入字典的每乙個value的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。dic def dict func dic for key,value in dic.items if len value 2 value value 0 2 dic key...