面向過程:核心是過程二字,過程指的是解決問題的步驟。編程的時候先把解決問題的步驟分析出來,然后用函數(shù)把這些步驟實現(xiàn),在一步一步的具體步驟中再按順序調用函數(shù)。適合簡單任務,不需要過多協(xié)作。
面向對象:核心是對象二字,對象是由屬性和方法組成的。編程的時候首先思考的是怎么設計這個事物。 比如思考造車,我們就會先思考“車怎么設計?”,而不是“怎么按步驟造車的問題”。找輪胎廠完成制造輪胎的步驟,發(fā)動機廠完成制造發(fā)動機的步驟;這樣,發(fā)現(xiàn)大家可以同時進行車的制造,最終進行組裝,大大提高了效率。
生活中的例子
總結:
在編程中,不同的編程范式(面向過程,面向對象)不分好與壞,中國的菜系,不同的菜系也有不同的,他們之間沒有高低之分,編程也是一樣的,不同的編程場景使用不同的范式去做
類和對象:使用大駝峰命名,(所有單詞首字母大寫)
定義類之后沒有實例對象:執(zhí)行代碼,類中代碼執(zhí)行
定義在類中的變量n稱為屬性,定義的函數(shù)v稱為方法
語法一:class 類名:
pass
語法二:class 類名:
類代碼(屬性,行為)
class Ren: # 創(chuàng)建了一個人的類
創(chuàng)建一個實例對象語法:object對象對象名 = 類名()
類名():創(chuàng)建了一個對象 通過等于號賦值給了指定的變量
pp = Ren()
pp:就是一個人的對象
類(類對象)和實例對象總結:類是類型,對象是類型的數(shù)據在python中創(chuàng)建的類(類對象) 其實就是創(chuàng)建的一個自定義的類型 也可以認為是一個大的分類
在python中 根據類(類對象)創(chuàng)建的實例對象 就是該自定義類型的一個數(shù)據
pp = Ren() pp對象就是Ren類的一個數(shù)據
類對象是一個大的分類 那么實例對象是這個分類的其中一個數(shù)據
方式一:使用對象名 賦值新屬性
實例對象名n.屬性名n = 屬性值;
如:pp = Ren() # 這個pp對象有具體指向哪一個人嗎 ?
pp.name = ‘小清’
pp.sex = ‘男’
pp.height = 175
pp.weight = ‘120斤’
pp.idCard = ‘432503199911245678’
注:
①給實例添加的屬性 叫做實例屬性 這個實例屬性只能當前這個對象才能使用
②在類中創(chuàng)建的屬性叫做類屬性 根據這個類產生的實例都能共享到這個屬性
如:class Dog:
age = 6
③類屬性只能通過類對象來進行修改
④如果類屬性和實例屬性同名 兩者互不相干 實例對象優(yōu)先使用自己的
init前后都是兩根下?lián)Q線 init是固定的方法名
def __init__(self):
self.nickName = "小花"
self.strain = "中華田園犬"
self.color = "棕黃色"
①每一個實例對象 都會有一個隱藏起來的構造方法 顯示調用這個構造方法為這個實例對象添加屬性
②構造函數(shù)的作用:給對象添加屬性
③在創(chuàng)建實例對象的同時給對象添加默認的屬性
語法:
print(實例對象名.屬性名)=屬性值
如:pp.name #print(pp.name)就是輸出它的值
pp.sex #print(pp.sex)就是輸出它的值
3.可以根據類對象產生很多個實例對象:n類可以產生無數(shù)個實例對象 但是每一個實例對象 都是不同的個體
object:對象
語法:對象名 = 類名()
類名():創(chuàng)建了一個對象 通過等于號賦值給了指定的變量
pp = Ren()
pp:就是一個人的對象
二:用更高級方法給對象添加屬性和方法:cls
方法一:cls:類方法cls就是class的縮寫 表示這個方法就是類方法 cls表示當前類對象
在類中創(chuàng)建一個帶cls參數(shù)的方法叫做類方法 必須使用@classmethod
類方法也是一個共享的方法~~~
共享女友 共享雨傘
1.租女朋友回家過年
2.防雨
如:age = 6
@classmethod
def showAge(cls):
print(f'~~~~共享的年齡是{cls.age}')
方法二:static靜態(tài)方法就是一個不需要寫cls和self關鍵字也能存在于類中的方法
靜態(tài)方法的作用和類方法作用一致~~~
@staticmethod
def demo():
print('我是靜態(tài)方法')
三:如何定義一個函數(shù)v:def 函數(shù)名(形參):
函數(shù)體
函數(shù)名(實參)
四:實例化
1.給實例對象添加行為:v行為在代碼中表現(xiàn)的就是一個函數(shù) 在類中定義的函數(shù)稱之為方法
當你去創(chuàng)建一個實例方法的時候 第一個參數(shù)一定要指定一個self參數(shù)
這個參數(shù)是固定 self表示的是當前訪問的對象
實例方法:屬于實例對象的方法
①函數(shù)型建議小寫
②定義在函數(shù)中的參數(shù)叫做形參 調用函數(shù)的時候傳遞的數(shù)據叫做實參
③方法的用法和函數(shù)一致
④位置參數(shù) 不定長參數(shù)
_init_初始化注意事項:
寫一個易混的代碼:
class People:
name = “jk”
age = 18
jk = People()
java = People()
print(jk)
print(jk.name)
print(jk.age)
print(java.name)
??情況1: 如:修改自身的屬性jk.name = “韋尋”
則: print(jk.name)?
情況2: 如:修改類的屬性People.name = “阿飛”
則: print(jk.name)
print(java.name)?
情況3: 如:添加屬性 自己對象本身java.height = 1.8
則:print(java.height)
?# 查看字典屬性print(類名.__dict__)
注:
①在 Python 類的內部,無論是類屬性還是實例屬性,都是以字典的形式進行存儲的,其中屬性名作為鍵,而值作為該鍵對應的值。
②為了方便用戶查看類中包含哪些屬性,Python 類提供了__dict__ 屬性。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧