您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python面向對象中類和對象的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
我們是不是聽過面向過程,拿來放在一起對比就比較好理解了。
簡單來理解,面向過程就是一切用函數解決一切文件,簡單粗暴!
面向對象是面向過程編程之后才出現了,沒有面向對象編程很多程序還不是照樣開發。
面向對象,也使用函數,但是多了一個網,這個網把一個或者多個函數,和數據關聯在一起,然后稱為一類事物,也就是程序中的‘類'(class)
面向對象編程,首先提出的第一個概念就是‘class',類:
#這就是一個class的定義代碼: class hello_class(): pass
然后通過class_name()
這樣調用來生產對象。
代碼稍微升級一下,我們看看:
class hello_class(): pass #輸出類信息 print(hello_class) print(type(hello_class)) #創建類的實例對象 print(hello_class()) print(type(hello_class()))
稍微補充一下:
print函數輸出類對象的結果:通常是<'class全名‘ object at id序列號>
下面是運行結果:
這里我們加入新知識點:類實例對象 , 通常直接說,實例。
實例是class產生的對象,所有某個hello_class對象的類型(通過type函數獲取)都必定是hello_class。
看完一個類,我們再看看兩個類的對比,結果也是一致的。
下面是兩個類的定義和生成對象的代碼展示:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/15 11:58 下午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : __init__.py.py # @Project : hello class student(object): “”“學委補充一下:__init___ 函數為類的初始化函數,在創建類對象實例的時候這個函數會被調用。”“” def __init__(self): print("hello, I am student") class programmer(object): def __init__(self): print("hello, I am programmer") class student(object): def __init__(self): print("hello, I am student") class programmer(object): def __init__(self): print("hello, I am programmer") s1 = student print(s1) p1 = programmer print(p1) s11 = student print(s11) p11 = programmer print(p11) print("*" * 16) # 創建對象 s2 = student() print(s2) p2 = programmer() print(p2) # 創建對象 s3 = student() print(s3) p3 = programmer() print(p3)
稍微解釋一下:
s1 和 p1 這兩個變量打印輸出結果是‘class'類型的。
s11 和 p11 這兩個變量打印輸出結果是‘class'類型的,但是s1跟s11,p1跟p11 是不變的。
s2 和 p2 這兩個變量打印輸出結果是'object'類型的。
s3 和 p3 這兩個變量打印輸出結果是'object'類型的。
下面是運行結果:
初始化函數被調用了打印了對象信息。
到這里,大家應該都能知道class和object區別了吧
類: 描述了函數和屬性的固定關系
(類實例)對象: 基于這種固定關系的一個活生生的個體,它的id是變化的。
學委定義了一個student類,并創建了兩個學生對象。
直接復制運行下面的代碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/15 11:58 下午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : __init__.py.py # @Project : hello class student(object): def __init__(self, name): self.name = name def get_name(self): return self.name def set_name(self, name): self.name = name def study(self): print(f"{self.name} : 好好學習,天天向上!") s1= student("小白") print(s1) print(s1.get_name()) print(s1.study()) s2 = student("學委的學生粉絲:哈哈哈") print(s2) print(s2.get_name()) print(s2.study())
我們看到他們的id總是不同的(運行幾次看看)。
然后每個學生都有一個name屬性(攜帶姓名數據),和三個函數屬性(分別用來獲取姓名,改名,學習)。
然后我們調用了每個學生的study函數,輸出了各自的學習狀態。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python面向對象中類和對象的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。