免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
未知領域系列:Python高級教程之面向?qū)ο?/div>

這期的Python學習教程主要為大家講Python的高級部分:面向?qū)ο?/span>

記錄點

面向?qū)ο?/span>

  • 類 - class

  • 對象

class Student(): #定義一個類
name = '' #定義變量
age = 0
def print_file(self): #定義一個方法
print("name:"+self.name)
print('age:'+str(self.age)) #輸出
student =Student() #實例化一個對象
student.print_file() #調(diào)用方法

【注】:self 在每個方法括號中都必須寫上,這個相當于java中的 this 關鍵字。

但 self按嚴格來說它不是python的關鍵字,self可以是任何符合的字符串,只是python官方推薦使用 self 而已

類與對象:類像一個模板一樣,可以產(chǎn)生各種各樣的對象

  • 構(gòu)造函數(shù)

 def __init__(self,name): #構(gòu)造函數(shù)
self.name=name
self.source= 0
print(name) #調(diào)用實例變量 方式1
print(self.name) #調(diào)用實例變量 方式2
print(self.__class__.name)#調(diào)用類變量 方式1

部分特性和java差不多

類變量和實例變量

實例變量:通過實例對象調(diào)用的變量和在構(gòu)造函數(shù)中定義過的 如上述構(gòu)造函數(shù)類代碼

print(name) #調(diào)用實例變量 方式1
print(self.name) #調(diào)用實例變量 方式2

類變量:通過類名直接調(diào)用的,或者在實例函數(shù)中使用 self.class.變量名調(diào)用的 如上述代碼

print(self.__class__.name) #調(diào)用類變量 方式1
Student.name #調(diào)用類變量 方式2

方法

實例方法

就是一般的定義方法,關聯(lián)實例對象

def show(self):
pass

【注】:關鍵字 pass 相當于一個占位 在還沒想好邏輯的時候可以使用它 反正代碼報錯

類方法

方法上使用裝飾器 @classmethod 以及必傳參數(shù) cls

#類方法
@classmethod
def plus_sum(cls):
cls.sum +=1
print(cls.sum) #調(diào)用類變量

【注】: cls 字符串 和self的作用差不多,只是只能用在類方法上

在類方法中調(diào)用類變量的方式與實例方法不同

self.__calss__.name #實例方法調(diào)用類變量
cls.name #類方法調(diào)用類變量

靜態(tài)方法

方法上使用裝飾器 @staticmethod,和類方法的區(qū)別就是不用傳cls,一般不推薦使用

 #靜態(tài)方法
@staticmethod
def plus_sum():
pass

要點:一般保證數(shù)據(jù)的安全不能直接給數(shù)據(jù)賦值,要在方法中進行完成,方法中可以進行判斷,體現(xiàn)了python的面向?qū)ο蟮姆庋b性

私有

私有方法

在方法前面加 ‘__’ 雙下劃線

def __sum(self):
pass

私有方法外部強行調(diào)用會報錯

私有變量

在變量前面加 ‘__’ 雙下劃線

__name = '小米'

無法進行私有變量調(diào)用,

student = Student() #實例化
print(student.__name)

因為python的動態(tài)機制,這里其實是重新定義了一個變量 __name

可以使用 _dict _ 來查看當前對象的所以變量信息

print(student.__dict__) #輸出詳細

可以從輸出的內(nèi)容中可以看到,原來的變量變成了 類名加變量名 如:_Student__name

面向?qū)ο?繼承

python的繼承特性和java的繼承特性差不多,相信有java繼承的會更好的理解

父類

#父類 2019-8-28
class Human():
sum = 0
def __init__(self,name,age):
self.name=name
self.age=age
def show(self):
print("父類的方法")

子類

from m4 import Human #導入父類 m4為文件名 Human為類名
class Student(Human): #繼承父類

def __init__(self,school,name,age):
self.school=school

#調(diào)用父類的構(gòu)造函數(shù) 需要加入self 方式一
Human.__init__(self,name,age)
#方式二 使用super關鍵字
super(Student,self).__init__(name,age)

def out(self):
#調(diào)用父類方法
super(Student,self).show()
print("加油")
ss = Student('社會','44',5)
print(ss.name)
print(ss.age)
ss.out()

調(diào)用父類的兩種方式

方式一

 #調(diào)用父類的構(gòu)造函數(shù) 需要加入self 方式一
Human.__init__(self,name,age)

方式二

使用關鍵字 super

#方式二 使用super關鍵字
super(Student,self).__init__(name,age)

伙伴們有哪些不清楚的地方可以留言,更多的Python教程也會繼續(xù)為大家更新!

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服