模塊就像字典
字典是python中唯一映射關系,它用一個事物對應另外一個事物,也就是所謂的key->value。
模塊包含一些變量和函數,可以導入,並且可以用點(·)來操作訪問變量和函數。
記住‘從X獲取Y的概念’。
他們相似,只是語法不同。
1.也就是說在python中有一條通用的模式:
(1)有一個key =value的容器
(2)通過key從容器中獲取數據
不同點:
在字典中key是字符串,寫法為[key];在模塊中寫法為.key,其余的地方一模一樣。
類就像模塊
可以認為模塊就是python的特殊字典,然后可以用點(·)操作符來訪問它。
類(class)是組織一系列的函數和數據並將它們放在一個容器里面,同樣可以用點(·)操作符來訪問它們。
使用類可以創造出很多個類似基類的類別,而模塊一但導入了整個項目有且只有一個模塊
對象就像導入
如果類像模塊,那么應該也有一個類似import的概念。在類中這個概念被稱為實例化,當一個類被實例化,就得到了一個類的對象了。
創建一個類;
class Mystuff(object):
def __init__(self ):
self.a = 'How are you?'
def apple(self):
print("I am classy apple ")
b = Mystuff()#類的實例化
b.apple()#調用類的方法
print b.a#打印類的屬性
分析下類的實例化這一句話其實python內部給我們做了很多事情:
python查找Mystuff()類確認是被定義過
--->python創造一個新對象,其中包含Mystuff()中定義的所有函數
--->python查找Mystuff()類中是否定義__init__()函數,如果有就初始化這個空對象
--->Mystuff()類中的__init__()方法一個self參數,它就是我們創建的空對象,可以在上面設置變量
--->給self.a(空對象)的變量設置參數,初始化這個對象
--->截止目前python可以使用這個空對象了,然后把他賦值給變量b
注:類---------->對象
這個過程(也可以稱為類的實例化)是通過類來創建對象,這個對象就是類的一個實例,也叫實例對象。
python類中屬性的引用
python中屬性的引用是由外而內的,當你創建一個類的實例時,准備開始引用屬性,這個時候編譯器會搜索實例是否擁有屬性,如果有就引用,如果沒有就會搜索這個實例所屬類是否有屬性,有就引用,沒有就報錯。