本帖最后由 淰7331 于 2021-1-22 20:32 編輯
''' 模塊module 每一個.py結(jié)尾的源文件都是一個模塊 -模塊的好處之一是方便代碼的維護 -方便代碼的復(fù)用 -使用模塊還可以避免變量,函數(shù)名等命名沖突 包package -包本質(zhì)上就是一個文件夾 -在模塊名前添加包名,可以避免模塊命名沖突 python.day04.demo01 python.day05.demo01 -每一個包目錄下都有一個__init__.py的模塊, 如果沒有,則Python把該目錄當做普通目錄處理 ''' import sys def test(): # 調(diào)用系統(tǒng)模塊獲取命令行參數(shù) args = sys.argv print(args) # test() # 測試代碼 if __name__ == "__main__": test() # 導入模塊的所有內(nèi)容 # import demo01 # demo01.test() # 導入模塊中指定的內(nèi)容 from demo01 import test test() ''' OOP Object Oriented Programming —— 面向?qū)ο缶幊?/font> 程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu) ''' # 創(chuàng)建一個學生類 # 通過class關(guān)鍵字創(chuàng)建類,類名通常要求首字母大寫 class Student: # 方法method # __init__(self)方法也稱為——"構(gòu)造方法"-Constructor # 類中每一個方法的第一個參數(shù)都必須是self,并且該參數(shù)由系統(tǒng)自動傳參 def __init__(self): print('這是構(gòu)造方法。。。') # 創(chuàng)建對象——調(diào)用Student類的構(gòu)造方法創(chuàng)建一個該類的實例-instance tom = Student() # 添加數(shù)據(jù) tom.name = 'Tom Cruse' tom.age = 22 tom.gender = '男' print(tom.name) mike = Student() mike.name = 'Michael Jordan' mike.age = 25 mike.score = 99 print(tom) print(mike) ''' 1G = 1024Mb*1024Kb*1024byte 8G = 8*1024Mb*1024Kb*1024byte 32bit = 4byte = 2**32 print(2**32) print(8*1024*1024*1024) print(2**64) ''' class Dog: def __init__(self,name,age,color,weight): # 定義類的屬性(數(shù)據(jù)) # self: 代詞,指代當前對象 ''' 變量的作用域 name是局部變量,它的作用范圍僅限于定義它的函數(shù)或方法內(nèi)部 self.name是成員變量,它的作用范圍是定義它的類的內(nèi)部 __xxxx, 變量名前面有2個下劃線,表示該變量是一個私有變量 私有變量只允許子類的內(nèi)部訪問,不能從類外部進行訪問 ''' self.__name = name self.__age = age self.color = color self.weight = weight ''' 封裝 把數(shù)據(jù)和處理數(shù)據(jù)的邏輯封裝起來 調(diào)用方便,并且不需要知道內(nèi)部的實現(xiàn)細節(jié) ''' def show(self): print(self.__name,self.__age,self.color,self.weight) # getter/setter方法,用于讀寫對象的屬性 def get_name(self): return self.__name def set_name(self,name): self.__name = name def get_age(self): return self.__age def set_age(self,age): if age>0 and age<=15: self.__age = age else: # 拋出異常
''' object類是所有其它類的父類 如果一個類的父類是object,可以不必聲明 ''' class Animal(object): # 如果沒有顯式的提供構(gòu)造方法,程序會提供一個默認的構(gòu)造方法 def run(self): print('動物正在跑...') ''' 繼承 Dog類繼承了Animal類,我們把Dog類也稱為子類,Animal類也稱為父類 繼承的好處就是子類可以獲得父類的全部功能(包括屬性和方法)
繼承的同時,子類也可以有自己的方法 并且子類可以對繼承自父類的方法進行 重寫 ''' ''' 多態(tài) 同一個對象表現(xiàn)出不同的狀態(tài),稱之為多態(tài) 多態(tài)可以簡化方法的調(diào)用 ''' # isinstance(), 判斷某個對象是否是某個類的一個實例
|