1. py中三個中啊喲的概念type、object和class的關係。
type生成了int生成了1
type->class->obj
type用來生成類物件的
object是最頂層的基類
type也是乙個類,同時type也是乙個物件
結論:類是由type這個類生成的物件。obejct是所有類都繼承的基類。繼承都是object,例項是由type生成。
把握幾個知識點就能深刻理解這個觀點。
知識點1:type()並可以顯示型別,所謂型別可以反映是由誰例項化生成的。例項化是動作,生成的結果就是物件。這是第一條線。
比如:
>>> a = 1>>> type(1
)'int
'>
>>> type(int
)'type
'>
int例項化了a,a是結果是乙個物件,type例項化了int,int是結果是乙個物件。
知識點2:不但例項化的過程,type最終形成環路,type例項化了自己,type的結果是乙個物件,就是type自己。
知識點3:__bases__可以顯示繼承關係,就是所謂一層一層的繼承關係。不管繼承了多少層,最終都會繼承object這個基類,包括type這個生成器的繼承。這是第二條線。
知識點4:type和ojbect,是乙個特殊關係,互為指向的關係。
總結:重點要理解繼承和例項化,是兩個不同概念,是兩種概念兩條線,其中又互為依賴。例項化是母體和子體的是生成關係。繼承是屬性和方法的遺傳關係。
生成關係 vs 遺傳關係。是一切接物件的核心。
舉個例子:兒子是由母親生的,這是乙個關係。繼承母親的特性和行為這是乙個關係。記住這個就理解了。
a = 1b = "
abc"
print(type(1))
print(type(
int))
print(type(b))
print(type(str))
class
student:
pass
class
mystudent(student):
pass
stu =student()
print(type(stu))
print(type(student))
print(
int.__bases__)
print(str.__bases__)
print(student.__bases__)
print(mystudent.__bases__)
print(type.__bases__)
print(
object
.__bases__)
print(type(
object))
2. py中場景的內建型別(內建型別不是資料型別,是更廣義的概念)。
物件的三個特性:
身份、用id檢視,就是指的記憶體位址。
型別、用type檢視
值、型別有哪些:
none(全域性只有乙個)
數值:int
float
complex
bool
迭代型別:
序列型別:
list
byte、bytearray、memoryview(二進位制序列)
range
tuple
strarray
對映(dict):
集合:set
frozenset(凍集合)
上下文管理型別:
with語句
其他:模組型別
class和例項
函式型別
方法型別
**型別
ojbect物件
type型別
elipsis型別:省略號型別
notimplemented型別。
Python說文解字 雜談08
1.python變數到底是什麼?python和j a中的變數本質不一樣,python的變數實質是乙個指標 int str,便利貼 a 1 1.a貼在1上面 2.它的過程是先生成物件,然後貼便利貼。3.is 是指的標籤貼是否一樣。a 1 b 1 這個是一樣,用的是小整數的內部inter機制的內部優化。...
Python說文解字 雜談07
1.深入dict from a 2.常用方法 a bobby2 clear a.clear copy,返回淺拷貝 new dict a.copy new dict bobby1 company imooc3 深拷貝 import copy new dict copy.deepcopy a new d...
Python說文解字 雜談04
1.鴨子型別 當你看到乙隻鳥走來像鴨子,游泳起來像鴨子,叫起來也像鴨子,他麼他就可以叫做鴨子。任何可迭代的物件。一樣的方法,可以用可迭代的話,就可以迭代的組合列印。getitem 可以塞到任何的類中,跟鴨子型別一樣,指定相同的方法名。魔法函式正是充分運用了鴨子型別,能夠被本身呼叫。class cat...