python之路--day18--面向對象編程--類和對象
阿新 • • 發佈:2018-04-10
思想 self 恢復 python 初始 人類 基於 bsp 一個
---恢復內容開始---
1,面向過程編程
核心是‘過程‘二字,過程指的是解決問題的步驟,即先幹什麽再幹什麽
基於該思想編寫程序就好比在編寫一條流水線,是一種機械式的思維方式
優點:復雜的問題流程化.進而簡單化
缺點:可擴展性差
2,面向對象
核心是‘對象’二字,對象指的是特征與技能的結合體
基於該思想編寫程序就好比在創建一個世界,你就是這個世界的上帝,是一種上帝式的思維方式
優點:可擴展性強
缺點:編程的復雜度高於面向過程
1,類
對象是特征與技能的結合體,類就是一系列對象相同的特征與技能的結合體
2,在現實世界中:一定先有對象,後來隨著人類文明的發展總結出的類
對象是具體存在的,而類知識一種抽象概念
3,在程序中,務必保證:先定義類,後調用類來產生對象
現實生活中的對象: 對象1: 特征: school="Oldboy" name="馬冬梅" age=18 sex="female" 技能: 學習 選課 對象2: 特征: school="Oldboy" name="甜蜜蜜" age現實生活中的對象=21 sex="male" 技能: 學習 選課 對象3: 特征: school="Oldboy" name="原石開" age=22 sex="male" 技能: 學習 選課 現實生活中的老男孩學生類: 相同的特征 school="Oldboy" 相同的技能 學習 選課‘‘‘
##定義程序中的類
class 類名(使用駝峰體):
# 用變量表示特征
#用函數表示技能
#註意:在定義類的階段會立即執行類體內的代碼,然後將產生的名字存放於類名稱空間中,
可以通過 類名 . __dict__ 來查看
使用 . 對象名 來 訪問類的屬性,類中定義的名字,都可以通過 點 來訪問
點的本質操作就是__dict__
##調用類
類名加() 就可以調用類
註意:
*********************************實例****************************************
1 #程序中的對象 2 #調用類,或稱為實例化,得到對象 3 s1=OldboyStudent() 4 s2=OldboyStudent() 5 s3=OldboyStudent() 6 7 #如此,s1、s2、s3都一樣了,而這三者除了相似的屬性之外還各種不同的屬性,這就用到了__init__ 8 #註意:該方法是在對象產生之後才會執行,只用來為對象進行初始化操作,可以有任意代碼,但一定不能有返回值 9 class OldboyStudent: 10 ...... 11 def __init__(self,name,age,sex): 12 self.name=name 13 self.age=age 14 self.sex=sex 15 ...... 16 17 18 s1=OldboyStudent(‘李坦克‘,‘男‘,18) #先調用類產生空對象s1,然後調用OldboyStudent.__init__(s1,‘李坦克‘,‘男‘,18) 19 s2=OldboyStudent(‘王大炮‘,‘女‘,38) 20 s3=OldboyStudent(‘牛榴彈‘,‘男‘,78)類的調用
python之路--day18--面向對象編程--類和對象