標籤:__init__ 函數 面向 school 問題 day 優點 執行個體化 name
---恢複內容開始---
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=name13 self.age=age14 self.sex=sex15 ......16 17 18 s1=OldboyStudent(‘李坦克‘,‘男‘,18) #先調用類產生Null 物件s1,然後調用OldboyStudent.__init__(s1,‘李坦克‘,‘男‘,18)19 s2=OldboyStudent(‘王大炮‘,‘女‘,38)20 s3=OldboyStudent(‘牛榴彈‘,‘男‘,78)
類的調用
python之路--day18--物件導向編程--類和對象