Python說文解字 雜談02

2022-09-18 10:15:36 字數 2055 閱讀 6734

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 = 1

b = "

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...