AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

了解Python調用函數

來源: 責編: 時間:2023-10-26 17:10:51 277觀看
導讀哈嘍,大家好,我是了不起。今天給大家帶來python調用函數。一、定義函數與調用函數的順序函數被定義后,本身是不會自動執行的,只有在被調用后,函數才會被執行,得到相應的結果。但是在 Python 中我們要注意一個關鍵點,就是Pyth

哈嘍,大家好,我是了不起。今天給大家帶來python調用函數。WCd28資訊網——每日最新資訊28at.com

WCd28資訊網——每日最新資訊28at.com

一、定義函數與調用函數的順序

函數被定義后,本身是不會自動執行的,只有在被調用后,函數才會被執行,得到相應的結果。但是在 Python 中我們要注意一個關鍵點,就是Python不允許前向引用,即在函數定義之前,不允許調用該函數。WCd28資訊網——每日最新資訊28at.com

例如:WCd28資訊網——每日最新資訊28at.com

print plus(1,2)def plus(a,b):      return a+b  

運行結果為:WCd28資訊網——每日最新資訊28at.com

NameError: name 'plus' is not defined  

從報錯結果可以看出,名字為plus的函數還沒進行定義(雖然我們是在后面進行了定義)。所以當我們在調用函數時,一定要確定在調用之前進行了函數定義。WCd28資訊網——每日最新資訊28at.com

二、正確使用參數

我們要在調用函數時,需要正確調用函數的名稱和參數,例如我們定義了一個加法函數:WCd28資訊網——每日最新資訊28at.com

def plus(a,b):      return a+b  

我們在調用plus()函數時,如果傳入的參數類型不對,會報TypeError錯誤。而且有時我們傳入的參數類型不是規定類型的話,就算調用函數運行結果沒有報錯,也會產生邏輯錯誤。WCd28資訊網——每日最新資訊28at.com

例如:WCd28資訊網——每日最新資訊28at.com

# 定義plus函數,作用是求兩個正整數之和  def plus(a,b):      return a+b# 調用plus函數,參數類型為'1','2'  print(plus('1','2'))  

輸出結果:WCd28資訊網——每日最新資訊28at.com

12  

雖然上述例子的程序運行結果沒有報錯,但是結果卻與我們的預期不符,因為我們的本意是調用plus()加粗樣式函數實現兩個整數的加法。但是如果我們傳入的是字符串類型的數值時,結果就是兩個字符串的拼接。所以這個例子告訴我們一定要注意傳入參數的類型。當我們傳入正常類型的參數時,傳入的參數個數不一致時,也會報TypeError錯誤。WCd28資訊網——每日最新資訊28at.com

例如:WCd28資訊網——每日最新資訊28at.com

# 定義plus函數,作用是求兩個正整數之和  def plus(a,b):      return a+b# 調用plus函數,參數為1,2,3  print(plus(1,2,3))  

報錯:WCd28資訊網——每日最新資訊28at.com

TypeError: plus() takes 2 positional arguments but 3 were given  

報錯原因顯示,因為plus()函數允許有且僅有2個參數,但是卻在調用時傳入了3個參數,所以程序報錯。WCd28資訊網——每日最新資訊28at.com

三、函數與函數之間的調用

1. 第一種情況 程序代碼如下:WCd28資訊網——每日最新資訊28at.com

def x(f):      def y():          print(1)      return ydef f():      print(2)x(f)  

運行結果:WCd28資訊網——每日最新資訊28at.com

無結果

分析:因為第9行中的x(f)中的f沒有帶括號,f只是一個普通的參數,所以程序只調用執行了x(f)函數,沒有調用執行f()函數。x(f)函數中雖然也定義了y()函數,但是x(f)函數中沒有調用執行y()函數,只是執行了return y。而y變量也沒有值,所以整個程序的返回值就為無結果。WCd28資訊網——每日最新資訊28at.com

2. 第二種情況 程序代碼如下:WCd28資訊網——每日最新資訊28at.com

def x(f):      def y():          print(1)      return ydef f():      print(2)x(f())  

運行結果:WCd28資訊網——每日最新資訊28at.com

2  

分析:因為第9行中的x(f())中的f()帶括號,所以程序先調用執行f()函數,先輸出2。然后2作為參數傳入到x(f)函數中,程序開始調用執行x(f)函數。x(f)函數中雖然也定義了y()函數,但是x(f)函數中沒有調用執行y()函數,只是執行了return y。而y變量也沒有值,所以調用執行x(f)函數沒有產生任何結果。因此該程序最終只輸出了2。WCd28資訊網——每日最新資訊28at.com

3. 第三種情況 程序代碼如下:WCd28資訊網——每日最新資訊28at.com

def x(f):      def y():          print(1)      return y()def f():      print(2)x(f)  

運行結果:WCd28資訊網——每日最新資訊28at.com

1

分析:因為第9行中的x(f)中的f沒有帶括號,f只是一個普通的參數,所以程序只調用執行了x(f)函數,沒有調用執行f()函數。x(f)函數中也定義了y()函數,并且返回是y()函數。因此程序調用執行了y()函數,輸出結果是1。WCd28資訊網——每日最新資訊28at.com

4. 第四種情況WCd28資訊網——每日最新資訊28at.com

def x(f):      def y():          print(1)      return y()def f():      print(2)x(f())

運行結果:WCd28資訊網——每日最新資訊28at.com

2  1  

分析:因為第9行中的x(f())中的f()帶括號,所以程序調用執行了f()函數,先輸出2。然后2作為參數傳入到x(f)函數中,程序開始調用執行x(f)函數。x(f)函數中也定義了y()函數,并且返回是y()函數。因此程序也調用執行了y()函數,也輸出了1。最終該程序先后輸出了2和1。WCd28資訊網——每日最新資訊28at.com

5. 第五種情況 程序代碼如下:WCd28資訊網——每日最新資訊28at.com

def x(f):      def y():          print(1)          print(f())      return y()def f():      #print(2)      return 2x(f)  

運行結果:WCd28資訊網——每日最新資訊28at.com

1  2  

分析:因為第9行中的x(f)中的f沒有帶括號,f只是一個普通的參數,所以程序只是先調用執行了x(f)函數。在x(f)函數中也定義了y()函數,而且返回值是y()函數,所以程序會調用執行y()函數。在y()函數中先是執行print(1)語句,輸出1,接著執行print(f())語句,所以程序在這時也會調用執行f()函數,輸出2。最終該程序先后輸出了1和2。WCd28資訊網——每日最新資訊28at.com

好了,今天就介紹到這兒。WCd28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-15189-0.html了解Python調用函數

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 用Python實現答題卡識別!你學會了嗎?

下一篇: 一個不太好用的 IDEA 代碼生成插件

標簽:
  • 熱門焦點
  • 影音體驗是真的強 簡單聊聊iQOO Pad

    大公司的好處就是產品線豐富,非常細分化的東西也能給你做出來,例如早先我們看到了新的vivo Pad2,之后我們又在iQOO Neo8 Pro的發布會上看到了iQOO的首款平板產品iQOO Pad。雖
  • vivo TWS Air開箱體驗:真輕 臻好聽

    在vivo S15系列新機的發布會上,vivo的最新款真無線藍牙耳機vivo TWS Air也一同發布,本次就這款耳機新品給大家帶來一個簡單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現了一個流處理程序
  • 得物效率前端微應用推進過程與思考

    一、背景效率工程隨著業務的發展,組織規模的擴大,越來越多的企業開始意識到協作效率對于企業團隊的重要性,甚至是決定其在某個行業競爭中突圍的關鍵,是企業長久生存的根本。得物
  • 一篇文章帶你了解 CSS 屬性選擇器

    屬性選擇器對帶有指定屬性的 HTML 元素設置樣式??梢詾閾碛兄付▽傩缘?HTML 元素設置樣式,而不僅限于 class 和 id 屬性。一、了解屬性選擇器CSS屬性選擇器提供了一種簡單而
  • “又被陳思誠騙了”

    作者|張思齊 出品|眾面(ID:ZhongMian_ZM)如今的國產懸疑電影,成了陳思誠的天下。最近大爆電影《消失的她》票房突破30億斷層奪魁暑期檔,陳思誠再度風頭無兩。你可以說陳思誠的
  • 支持aptX Lossless無損傳輸 iQOO TWS 1賽道版發布限時優惠價369元

    2023年7月4日,“無損音質,聲動人心”iQOO TWS 1正式發布,支持aptX Lossless無損傳輸,限時優惠價369元。iQOO TWS 1耳機率先支持端到端aptX Lossless無
  • 2299元起!iQOO Pad明晚首銷:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發布會,除了首發安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發布會上推出了旗下首款平板電腦——iQOO Pad,其最大的賣點
  • AI藝術欣賞體驗會在上海梅賽德斯奔馳中心音樂俱樂部上演

    光影交錯的鏡像世界,虛實幻化的視覺奇觀,虛擬偶像與真人共同主持,這些場景都出現在2019世界人工智能大會的舞臺上。8月29日至31日,“AI藝術欣賞體驗會”在上海
Top