成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

靈活編碼要義:Python中一切皆對象

開發 后端
Python是一門真正意義上面向對象的編程語言,你或許也聽過這句話:Python中一切皆對象。但實際上,函數也是一種對象。為什么這樣講?往下看吧!

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)

Python是一門真正意義上面向對象的編程語言,你或許也聽過這句話:Python中一切皆對象。

而談及對象,人們通常將之引用到數據集,并稱其為屬性,且對象具有某種預定義函數來更新這些數據或與其他對象交換數據。

但實際上,函數也是一種對象。為什么這樣講?往下看吧!

[[321448]]

數據類型作為對象

所有數據類型,如數字、字符串、列表和詞典,都是Python中的對象。可以將其外觀看作數據盒,一些盒子僅因持有int、 bool或str而變小,而一些盒子則因持有list或 dict而變大,不同之處在于,它們的大小反映出在計算機中存儲這些數據的所需內存。

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

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

  • 可以作為函數的返回值。
  • 可以作為傳遞給函數的參數。
  • 可以賦值給一個變量。
  • 可以作為數據的一部分與其他對象相關聯。
  1. # Assign an int to a variable 
  2.               a =5 
  3.                                   # Use an int asan argument in a function 
  4.               defadd_two(a): 
  5.                  return a +2 
  6.               add_two(6) 
  7.                                   # Return astring in a function 
  8.               defis_even(a): 
  9.                  return'even'if a %2==0else'odd' 
  10.               is_even(745) 
  11.                                   # A booleanvalue in a tuple 
  12.               (True, 7, 8) 

作為Python對象的含義

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

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

函數作為對象

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

[[321449]]

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

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

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

將函數用作另一個函數的參數

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

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

靈活編碼要義:Python中一切皆對象

函數作為函數的參數

變量賦值

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

靈活編碼要義:Python中一切皆對象

將函數賦值給一個變量

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

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

靈活編碼要義:Python中一切皆對象

操作函數

函數作為返回值

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

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

靈活編碼要義:Python中一切皆對象

函數作為返回值

函數作為另一對象的一部分

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

靈活編碼要義:Python中一切皆對象

函數作為另一對象的一部分

明白了吧,函數與Python中的其他對象一樣,可以將其分配給變量并在函數中使用。文中示例比較簡單,遇到復雜的情況也是一樣的道理。

利用好這一特征,助你靈活編碼。

 

責任編輯:趙寧寧 來源: 讀芯術
相關推薦

2024-01-01 16:01:22

Python函數

2020-09-16 11:46:05

AI

2020-01-09 09:13:34

UnixLinux協議

2013-10-09 14:30:36

2024-03-28 08:24:01

球盒模型回溯

2012-08-02 17:44:01

2019-06-14 14:58:58

虛擬文件系統Linux

2023-06-09 17:11:57

MetaStudio

2021-05-28 07:12:59

Python閉包函數

2016-08-31 17:24:05

大數據分析

2012-12-31 11:22:58

開源開放

2016-01-15 18:45:24

IM即時通訊云服務

2020-09-11 10:55:10

useState組件前端

2021-02-28 09:47:54

軟件架構軟件開發軟件設計

2012-11-05 15:22:59

康普光纜DCD

2018-11-23 11:17:24

負載均衡分布式系統架構

2021-02-19 23:08:27

軟件測試軟件開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美自拍偷拍视频 | 日韩一区在线观看视频 | 中文字幕在线第一页 | 一区二区日韩精品 | 日日夜夜精品视频 | 日韩一区二区在线视频 | 国产ts一区 | 国产精品久久久久久久久久 | 91免费在线视频 | 久久a久久 | 亚洲看片网站 | 久久久人| 在线日韩福利 | 91免费观看视频 | 6996成人影院网在线播放 | 粉嫩一区二区三区性色av | 精品一级| 久久影音先锋 | 日韩不卡一区二区三区 | 午夜欧美a级理论片915影院 | 欧美理论片在线观看 | 中文字幕久久久 | 中文字幕日韩欧美 | 国产精品1区 | 久久在线| 精品欧美乱码久久久久久1区2区 | 五月天婷婷综合 | 激情视频网站 | 婷婷福利视频导航 | 黑人性hd | 九九亚洲| 欧美区日韩区 | www亚洲精品 | 国产欧美精品 | 欧美亚州 | 一级免费看 | 91av在线免费播放 | 亚洲一区精品在线 | 欧美日韩一区二区视频在线观看 | 91精品亚洲| 亚洲国产一区二区在线 |