如何理解python中一切皆物件?

2021-10-07 09:04:59 字數 1017 閱讀 3933

在python中,函式和類也是物件,具有如下特點:

1.可以賦值給乙個變數

將函式賦值給變數

def ask(name='bobby'):

print(name)

my_func = ask

my_func('hello kitty')

執行結果:

hello kitty
將類賦值給變數:

class person:

def __init__(self):

print('bobby')

my_class = person

my_class()

執行結果:

bobby
2.可以新增到集合物件中

obj_list = 

for item in obj_list:

print(item())

執行結果:

bobby #呼叫函式ask

none #print函式ask 因為ask沒有返回值,所以返回none

bobby #呼叫類person

<__main__.person object at 0x0000015d311a7b50> #print 類person

3.可以作為引數傳遞給函式

4.可以當作函式的返回值

def decorator_func():

print("dec start")

return ask

my_ask = decorator_func()

my_ask('tom')

執行結果:

dec start

tom

這裡先呼叫decorator_func,返回ask,並將引數'tom'傳遞給ask,其實這就是裝飾器的執行原理

python中一切皆物件

動態語言和靜態語言的區別 函式和類也是物件,屬於python的一等公民 特性 定義乙個函式,並把這個函式賦值給乙個變數,此時這個變數可以作為乙個函式使用 defask name bobby print name my func ask my func bobby 定義乙個類,同樣可以使用這樣的操作,...

python中一切皆物件 Python中一切皆物件

1.python一切皆物件函式和類也是物件,屬於python的一等公民,體現在以下四點 1.賦值給乙個變數 將函式賦值給乙個變數,對這個變數的操作實際上就是對這個函式的操作def say name superzjx print name my func say my func superzjx cl...

Linux中一切皆檔案

linux系統中一切皆檔案是乙個基本哲學。建立此貼希望以在學習中能以這個哲學基礎為中心,展開思路進行融會貫通。檔案型別 字元 檔案例項 常規檔案 二進位制檔案 純文字 xml 壓縮檔案等 目錄檔案 d資料夾 字元裝置 ccharacter device,如串列埠 鍵盤 滑鼠 eeprom等,以cha...