亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

為什么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

松原市| 宁蒗| 庆云县| 福贡县| 五华县| 开封县| 门头沟区| 师宗县| 都昌县| 屏东市| 襄城县| 土默特右旗| 息烽县| 兴海县| 徐汇区| 新余市| 昭平县| 大新县| 湘潭市| 申扎县| 仁布县| 榆林市| 海原县| 大足县| 阳山县| 德保县| 滨州市| 莆田市| 苗栗县| 正安县| 霍林郭勒市| 鸡西市| 台中市| 方城县| 黄陵县| 洪雅县| 南安市| 特克斯县| 民县| 巴青县| 麦盖提县|