工作內(nèi)容-9:00——17:30
模塊 module
每一個(gè).py結(jié)尾的源文件都是一個(gè)模塊
模塊方便代碼的維護(hù)
方便代碼的復(fù)用
使用模塊可以避免命名沖突
包 package
包本質(zhì)上就是一個(gè)文件夾
在模塊名前添加包名可避免模塊命名沖突
python.day04.demo01
python.day05.demo01
每一個(gè)包目錄下都有一個(gè)__init__.py的模塊
如果沒(méi)有,則python把該目錄當(dāng)做普通目錄處理
'''
import sys
def test():
# 調(diào)用系統(tǒng)模塊獲取命令行參數(shù)
args = sys.argv
print(args)
# test()
# 測(cè)試代碼
if __name__ == "__main__":
test()
# 導(dǎo)入模塊的所有內(nèi)容
# import demo01
# demo01.test()
# 導(dǎo)入模塊中指定的內(nèi)容
from demo01 import test
test()
'''
面向?qū)ο缶幊?—— oop object oriented programming
程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu)
'''
# 創(chuàng)建一個(gè)學(xué)生類
# 通過(guò)class關(guān)鍵字創(chuàng)建類,類名首字母要大寫
class Student:
# 方法method
# __init__(self)方法也稱為構(gòu)造方法-constructor
# 類中每一個(gè)方法的第一個(gè)參數(shù)都必須是self,且該參數(shù)由系統(tǒng)自動(dòng)傳參
def __init__(self):
pass
# 創(chuàng)建對(duì)象——調(diào)用Student類的構(gòu)造方法創(chuàng)建一個(gè)該類的實(shí)例-instance
tom = Student()
# 添加數(shù)據(jù)
tom.name = 'Tom Cruse'
tom.age = 22
tom.gender = '男'
print(tom.name)
mike = Student()
mike.name = 'Michael Jordan'
print(mike)
print(tom)
class Dog:
def __init__(self,name,age,color,weight):
# 定義類的屬性(數(shù)據(jù))
# self:代詞,指代當(dāng)前對(duì)象
'''
變量的作用域
name是局部變量,它的作用范圍僅限于定義它的函數(shù)或方法內(nèi)部
self.name是成員變量,它的作用范圍是定義它的類的內(nèi)部
__xxx,變量名前面有兩個(gè)下劃線表示該變量是一個(gè)私有變量
私有變量只允許從類的內(nèi)部訪問(wèn),不能從外部訪問(wèn)
'''
self.__name = name
self.__age = age
self.__color = color
self.__weight = weight
'''
封裝
把數(shù)據(jù)和處理數(shù)據(jù)的邏輯封裝起來(lái)
調(diào)用方便,且不需要知道內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)
'''
def show(self):
print(self.__name,self.__age,self.__color,self.__weight)
# 私有變量可修改
# getter/setter方法,用于讀寫對(duì)象的屬性
def set_name(self,name):
self.__name = name
def get_name(self):
return self.__name
def set_age(self,age):
if age > 0 and age <= 15:
self.__age = age
else:
# 拋出異常
raise NameError('錯(cuò)誤年齡!')
def get_age(self):
return self.__age
def set_weight(self,weight):
if weight > 0 and weight <= 50:
self.__weight = weight
else:
raise NameError('錯(cuò)誤體重!')
def get_weight(self):
return self.__weight
wangcai = Dog('旺財(cái)',4,'黃白','蘇格蘭牧羊犬')
# print(wangcai.name)
wangcai.show()
wangcai.set_age(10)
# wangcai.set_age(-10)
# wangcai.set_weight(-10)
lai = Dog('來(lái)福',3,'黑','拉布拉多')
# print(lai.name)
lai.show()
'''
object類是所有其他類的父類
如果一個(gè)類的父類是object,可以不寫
'''
class Animal:
# 如果沒(méi)有顯示的提供構(gòu)造方法,程序會(huì)提供一個(gè)默認(rèn)的構(gòu)造方法
def run(self):
print('動(dòng)物正在跑...') |