溫馨提示×

溫馨提示×

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

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

怎么理解Python中一切皆對象

發(fā)布時間:2021-11-03 15:55:36 來源:億速云 閱讀:389 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“怎么理解Python中一切皆對象”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

數(shù)據(jù)類型作為對象

所有數(shù)據(jù)類型,如數(shù)字、字符串、列表和詞典,都是Python中的對象??梢詫⑵渫庥^看作數(shù)據(jù)盒,一些盒子僅因持有int、  bool或str而變小,而一些盒子則因持有l(wèi)ist或 dict而變大,不同之處在于,它們的大小反映出在計算機中存儲這些數(shù)據(jù)的所需內(nèi)存。

當然,盒子也可以有其他特征,比如顏色和材質(zhì),可以將這些特征定義為與盒子有關的不同類型的數(shù)據(jù)。

作為對象,可以應用以下常見含義或功能:

  • 可以作為函數(shù)的返回值。

  • 可以作為傳遞給函數(shù)的參數(shù)。

  • 可以賦值給一個變量。

  • 可以作為數(shù)據(jù)的一部分與其他對象相關聯(lián)。

# Assign an int to a variable               a =5                                   # Use an int asan argument in a function               defadd_two(a):                  return a +2               add_two(6)                                   # Return astring in a function               defis_even(a):                  return'even'if a %2==0else'odd'               is_even(745)                                   # A booleanvalue in a tuple               (True, 7, 8)

作為Python對象的含義

上述代碼片段中你可以看到有關Python對象的這些含義的示例,比如int和string。即使不太了解Python編碼或任何編程語言也不難理解。

那么為什么有人說函數(shù)也是Python中的對象呢?

函數(shù)作為對象

進入正題前,我們來回顧一下什么是函數(shù):函數(shù)是命名代碼塊,接受零或多個輸入,并在運行某些計算后返回輸出。

怎么理解Python中一切皆對象

下面是一個簡單示例,闡釋了上述定義中突出顯示的關鍵組件:

# Assign an int to a variable               a =5                                   # Use an int asan argument in a function               defadd_two(a):                  return a +2               add_two(6)                                   # Return astring in a function               defis_even(a):                  return'even'if a %2==0else'odd'               is_even(745)                                   # A booleanvalue in a tuple               (True, 7, 8)

在上一部分中,我們提到Python數(shù)據(jù)對象具有的一些常見功能。下面的示例將向你展示函數(shù)如何提供此類功能。

將函數(shù)用作另一個函數(shù)的參數(shù)

由于函數(shù)是對象,可以將函數(shù)傳遞為另一個函數(shù)的參數(shù)。如下所示,創(chuàng)建了三個函數(shù):combine_two_numbers()、add_two_numbers()及multiply_two_numbers(),后者用于計算元組中兩個數(shù)字的和及乘積。

與通常所見函數(shù)的不同,這里將函數(shù)add_two_numbers 和  multiply_two_numbers作為參數(shù)傳遞,這進一步分別計算了這些數(shù)字元組的和及乘積。

怎么理解Python中一切皆對象

函數(shù)作為函數(shù)的參數(shù)

變量賦值

在以下代碼片段中,筆者創(chuàng)建了一個名為greeting()的函數(shù),并將其分配給變量say_hello,它產(chǎn)生的輸出與greeting()相同。

怎么理解Python中一切皆對象

將函數(shù)賦值給一個變量

需要注意的一點是,greeting()和  say_hello()函數(shù)都指向內(nèi)存中的同一個對象。例如,如果檢查它們的地址,都具有如下所示的相同值。如果刪除greeting()函數(shù),名稱“greeting”將變成未定義狀態(tài),而刪除不會影響由“sayhello”函數(shù)引用的潛在對象。

因此,在此有一個重要的概念,即引用函數(shù)的變量與存儲在內(nèi)存中的實際對象不同。

怎么理解Python中一切皆對象

操作函數(shù)

函數(shù)作為返回值

作為對象,Python函數(shù)可以作為函數(shù)的有效返回值。來看看以下示例,筆者編寫了一個名為add_number_creator()的函數(shù),它返回一個可以向整數(shù)參數(shù)添加數(shù)字的函數(shù)。

通過調(diào)用add_number_creator()函數(shù),創(chuàng)建了函數(shù)add_three()和  add_five()。這兩個函數(shù)完成預期任務,向函數(shù)調(diào)用中指定的整數(shù)添加3和5。

怎么理解Python中一切皆對象

函數(shù)作為返回值

函數(shù)作為另一對象的一部分

我們也可以創(chuàng)建一個函數(shù)列表,使這些函數(shù)成list對象的一部分。繼上一個例子,我們使用add_number_creator()函數(shù)創(chuàng)建了三個函數(shù),分別輸入整數(shù)添加0、1和2。如你所見,可以枚舉函數(shù)列表,就像通常對整數(shù)或字符串列表所做的那樣。

怎么理解Python中一切皆對象

“怎么理解Python中一切皆對象”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

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

AI