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

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

了解Python調用函數

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

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

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

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

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

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

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

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

NameError: name 'plus' is not defined  

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

二、正確使用參數

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

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

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

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

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

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

12  

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

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

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

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

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

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

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

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

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

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

無結果

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

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

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

運行結果:e8w28資訊網——每日最新資訊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。e8w28資訊網——每日最新資訊28at.com

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

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

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

1

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

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

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

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

2  1  

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

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

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

運行結果:e8w28資訊網——每日最新資訊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。e8w28資訊網——每日最新資訊28at.com

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

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

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

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

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

標簽:
  • 熱門焦點
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • SpringBoot中使用Cache提升接口性能詳解

    環境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架從 3.1 開始,對 Spring 應用程序提供了透明式添加緩存的支持。和事務支持一樣,抽象緩存允許一致地使用各
  • 消費結構調整丨巨頭低價博弈,拼多多還卷得動嗎?

    來源:征探財經作者:陳香羽隨著流量紅利的退潮,電商的存量博弈越來越明顯。曾經主攻中高端與品質的淘寶天貓、京東重拾“低價”口號。而過去與他們錯位競爭的拼多多,靠
  • 阿里大調整

    來源:產品劉有媒體報道稱,近期淘寶天貓集團啟動了近年來最大的人力制度改革,涉及員工績效、層級體系等多個核心事項,目前已形成一個初步的“征求意見版”:1、取消P序列
  • 攜眾多高端產品亮相ChinaJoy,小米帶來一場科技與人文的視聽盛宴

    7月28日,全球數字娛樂領域最具知名度與影響力的年度盛會中國國際數碼互動娛樂展覽會(簡稱ChinaJoy)在上海新國際博覽中心盛大開幕。作為全球領先的科
  • iQOO 11S或7月上市:搭載“雞血版”驍龍8Gen2 史上最強5G Soc

    去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,iQOO 11不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競屏,同時在快充
  • 首發天璣9200+ iQOO Neo8系列發布首銷售價2299元起

    2023年5月23日晚,iQOO Neo8系列正式發布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro強悍登場,限時售價3099元起;價位段最強性能手機iQOO Neo8同期上市
  • 利用職權私自解除被封帳號 Meta開除20多名員工

    11月18日消息,據外媒援引知情人士表示,過去一年時間內,Facebook母公司Meta解雇或處罰了20多名員工以及合同工,指控這些人通過內部系統以不當方式重置用戶帳號,其
Top