中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

為什么Python中一切皆對象

發布時間:2020-09-24 12:11:43 來源:億速云 閱讀:274 作者:Leah 欄目:編程語言

為什么Python中一切皆對象?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

引言

Java語言也是面向對象的語言,但是Python要更加徹底

Python的面向對象特性,是它使用起來靈活的根本所在

對象的特點

可以賦值給一個變量

# 函數也是對象
def test(name):
    print(name)
    
my_func = test      # 注意 只寫函數名 和 函數名加括號 的區別
my_func("MetaTian") # 打印:MetaTian

可以添加到集合中去

def plus(a, b):
    print(a+b)
    
def minus(a, b):
    print(a-b)

fun_list = []
fun_list.append(plus)
fun_list.append(minus)
for item in fun_list:
    item(2, 1)
    
# result:
# 3
# 1

可以作為參數傳遞給函數

def plus(a, b):
    print(a+b)
    
def calculate(method, a, b):
    method(a, b)

calculate(plus, 1, 2)

# result:
# 3

可以當做函數的返回值

# 這也是裝飾器的原理
def inner():
    print("MetaTian")
    
def deco():
    print("decorating...")
    return inner
    
my_func = deco()
my_func()

# result:
# decorating...
# MetaTian

對象的3個屬性

身份:在內存中的地址是多少,可用id()函數查看

類型:是什么類型的對象,可用type()函數查看

值:對象中的內容是什么

type object和class的關系

type和class

關系:type -> class -> obj,obj是我們平時使用的對象,它由class對象生成,可以是我們自定義的類,也可以是內建的類。上面說了,一切皆對象,class也是以type為模板,生成的對象。

type()函數,當傳入一個參數時,返回對象的類型。傳入三個參數時,用來生成一個類。

print(type(1))
print(type(int))
# result:
# <class 'int'>
# <class 'type'>

class Person:
    pass

student = Person()
print(type(student))
print(type(Person))

# result:
# <class '__main__.Person'>
# <class 'type'>

print(type(type))
# result:
# <class 'type'>

type是以它自己為類生成的一個對象。如果熟悉靜態語言,這似乎并不好理解,但是對動態語言來說就是這么自然。

object

object是最根本的一個基類,如果自己定義的類沒有顯示地去繼承某一個類,則它會自動繼承object。上面討論的是類和對象之間的關系,現在要討論的是類和類之間的關系。

class Person:
  pass

class Student(Person):
  pass

print(Student.__bases__)
print(Person.__bases__)
print(int.__bases__)
print(object.__bases__)

# result:
# (<class '__main__.Person'>,)
# (<class 'object'>,)
# (<class 'object'>,)
# ()

print(type.__bases__)
print(type(object)
# result:
# (<class 'object'>,)
# <class 'type'>

type是一個類,它繼承的是object,object作為一個對象又是以type為類型生成的。

關于為什么Python中一切皆對象問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇州市| 通州市| 会宁县| 呈贡县| 安宁市| 榕江县| 工布江达县| 雅安市| 延津县| 汶川县| 嘉定区| 扎鲁特旗| 荥阳市| 琼中| 荃湾区| 宜丰县| 天镇县| 邵阳县| 徐水县| 台江县| 芦山县| 老河口市| 霍林郭勒市| 隆尧县| 广德县| 张家界市| 安乡县| 大荔县| 自贡市| 晋宁县| 三台县| 台北市| 神木县| 秦安县| 河池市| 故城县| 通许县| 遵义市| 衢州市| 红河县| 叙永县|