Python 中 一切皆對象

1.一切皆對象:

              動態語言與靜態語言的區別:  python面向對象更加徹底。
              python中一切皆對象。函數,類,異常等等都是對象。
              可以動態修改python類中的屬性。
                     
              類和函數屬於python的一等公民。即:
	                       1.賦值給一個變量。
	                       2.可以添加到集合對象中。
	                       3.可以作爲參數傳遞給函數。
	                       4.可以當作函數的返回值。

函數和類可以賦值給一個變量。 在這裏插入圖片描述
在這裏插入圖片描述
上圖中的運行結果如下:
在這裏插入圖片描述

2.type、 object 、class的關係

在這裏插入圖片描述
其中 object是type的一個實例對象。
type卻繼承了object這個最頂層的類。
type又是自身的一個實例實例化對象。

#type->int->1
#type->class->obj
#object是最頂層基類
#type本身也是一個類,同時也是一個類


>>> a=1
>>> type(1)
<class 'int'>
>>> type(int)
<class 'type'>
>>> b="abc"
>>> type(b)
<class 'str'>
>>> type(str)
<class 'type'>
>>> class Student:
...    pass
...
>>> stu=Student()
>>> type(stu)
<class '__main__.Student'>
>>> type(Student)
<class 'type'>
>>> a=[1,2]
>>> type(a)
<class 'list'>
>>> type(list)
<class 'type'>
>>> Student.__bases__
(<class 'object'>,)
>>> class MyStudent(Student):
...   pass
...
>>> MyStudent.__bases__
(<class '__main__.Student'>,)

>>> type.__bases__
(<class 'object'>,)
>>> object.__bases__
()
>>> type(object)
<class 'type'>

考慮:爲什麼list是一個class的時候又把它作爲一個一個對象呢,這就是python
的創建理念,因爲在java或者c++的時候,類一旦被創建加載到內存當中的時候,是不能被輕易修改的,因爲它已經編譯好了,修改的技術複雜些。python爲了靈活性,把他們都變成對象,因爲對象我們可以隨時修改它。

3Python中常見的內置類型

1.對象的三個特徵

1身份
2類型
3值

2.內置類型

1.None(全局只有一個)
2.數值 int float complex(複數) bool
3.迭代類型
4.序列類型 list (bytes、bytearray、memoryview(二進制序列)) range tupe str array
5.映射(dict)
6.集合 set frozenset
7.上下文管理類型(with)
8.其它
             1)模塊類型
             2)class和實例
             3)函數類型
             4)方法類型
             5)代碼類型
             6)object對象
             7)type類型
             8)ellipsis 類型
             1)notimplemented類型

完結

下一篇 魔法函數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章