1. 程式人生 > >python之路--day18--面向對象編程--類和對象

python之路--day18--面向對象編程--類和對象

思想 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--面向對象編程--類和對象