Python基礎教程全套7.1:函數詳解

2021-02-21 Python大本營
認識Python函數:定義一個函數:1.7.2 函數的定義格式:

基本函數格式

帶有參數的函數格式

帶有默認值的參數

關鍵字參數

收集參數(帶*)

多種參數混合

(1) 基本函數格式:

def  函數名():    函數功能代碼...    函數功能代碼...    ...調用函數: 函數名()

>>> def hello() :   print("Hello World!")>>> hello()Hello World!>>>

(2) 帶有參數的函數格式:

def 函數名(參數,參數...):    函數功能代碼...    函數功能代碼...    ...調用函數:函數名(參數,參數...)形參:形式上的參數,聲明函數時()中的參數是形參實參:實際上的參數,調用函數時()中的參數是實參

注意:實參將值傳遞給形參的過程本質上就是簡單的變量賦值僅此而已

def area(width, height):    return width * height
def print_welcome(name):    print("Welcome", name)print_welcome("Python")w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))

Welcome Pythonwidth = 4  
height = 5  
area = 20

def printme( str ):   "列印任何傳入的字符串"   print (str);  
  return;

printme();

Traceback (most recent call last):  File "test.py", line 10, in <module>    printme();TypeError: printme() missing 1 required positional argument: 'str'

(3) 帶有默認值的參數

def 函數名(形參=默認值,形參=默認值...):    函數功能代碼...    函數功能代碼...    ...調用函數:    函數名()  調用函數時所有形參採用默認值操作    函數名(實參,實參...) 調用時形參使用實參的值而拋棄默認值

def printinfo( name, age = 35 ):   "列印任何傳入的字符串"   print ("名字: ", name);
  print ("年齡: ", age);
  return;
printinfo( age=50, name="runoob" );
print ("----")printinfo( name="runoob" );

名字:  runoob年齡:  50----名字:  runoob年齡:  35

(4) 關鍵字參數:

def 函數名(形參=默認值,形參=默認值...):    函數功能代碼...    函數功能代碼...    ...調用函數:函數名(形參=實參,形參=實參...)

關鍵字參數就是調用函數時,在實參前面指定形參的做法,為了防止參數按照位置傳遞出現的錯誤

關鍵字參數和函數調用關係緊密,函數調用使用關鍵字參數來確定傳入的參數值。

使用關鍵字參數允許函數調用時參數的順序與聲明時不一致,因為 Python 解釋器能夠用參數名匹配參數值。

以下實例在函數 printme() 調用時使用參數名:

def printme( str ):   "列印任何傳入的字符串"   print (str);   return;
printme( str = "Python教程");

Python教程

def printinfo( name, age ):   "列印任何傳入的字符串"   print ("名字: ", name);
  print ("年齡: ", age);
  return;
 
printinfo( age=50, name="runoob" );

名字:  runoob年齡:  50

(5). 收集參數:

def 函數名(*參數名):    函數功能代碼...    函數功能代碼...    ...調用函數:函數名(實參,實參...)   沒有數量限制

def printinfo( arg1, *vartuple ):   "列印任何傳入的參數"   print ("輸出: ")
  print (arg1)
  for var in vartuple:  
  print (var)
  return;
 
printinfo( 10 );printinfo( 70, 60, 50 );

輸出:10輸出:706050

def 函數名(**參數名):    函數功能代碼...    函數功能代碼...    ...調用函數: 函數名(形參=實參,形參=實參...) 沒有數量限制

def func(country,province,**kwargs):    print(country,province,kwargs)
func("China","Sichuan",city = "Chengdu", section = "JingJiang")

(6) 多種參數混合:關於返回值的問題:

格式:    def 函數名(參數....):        函數功能代碼...        函數功能代碼...        ...        [return 語句]

return的特徵:

1.具有return語句的函數稱為具有返回值的函數

2.return可以為當前函數執行完畢返回一個結果,這樣的函數調用可以被接受

3.return執行之後,函數則會終止,所有return之後的語句不會被執行

4.一個函數可以書寫多個return語句,但是一般會放入分支結構當中。

5.一個函數如果需要返回多個數據,需要藉助複合數據類型(list,tuple,set,dict)來操作即可!

6.不帶參數值的return語句返回None。之前的例子都沒有示範如何返回數值.

def sum( arg1, arg2 ):     total = arg1 + arg2
  print ("函數內 : ", total)   return total;
total = sum( 10, 20 );
print ("函數外 : ", total)

函數內 :  30函數外 :  30

相關文章:

以下文章是本公眾號至本文發出前已經發布的Python基礎教程系列教程,

可點擊按順序瀏覽,逐步進階學習

Python 基礎全套教程 :01環境的安裝和使用

Python基礎教程全套:02Python基礎語法與規範

Python基礎教程全套:03Python運算符

Python基礎教程全套:4.1Python語言中的數字、字符串數據類型講解

Python基礎教程全套:4.2列表,元組,集合,字典數據類型講解

Python基礎教程全套:4.3Python數據類型轉換函數的使用

Python基礎全套教程 5:Python的分支結構講解

Python基礎教程全套6.1:Python循環結構

Python基礎教程全套 6.2:循環結構中的for循環結構

Python基礎教程全套6.3:range()函數用法

Python基礎教程全套6.4:break和continue語句

相關焦點

  • Python基礎全套教程 8:Tuple元組學習(小白必看,系統學)
    '讀取第三個元素L[-2]'Python'從右側開始讀取倒數第二個元素: count from the rightL[1:]('Python', 'Taobao')輸出從第二個元素開始後的所有元素元組內置函數:序號函數名稱說明1len(tuple)元組元素個數2max(tuple)返回元組元素最大值3min(tuple)返回元組元素最小值4tuple(seq)將元組轉換為元組list1= ['
  • Python基礎教程全套6.4:break和continue語句
    :for letter in 'Runoob':       if letter == 'b':      break   print ('當前字母為 :', letter)var = 10                    while var > 0:                 print ('當期變量值為 :', var)   var = var -1
  • 如何入門Python之Python基礎教程詳解
    (小編在文章末尾為你們準備了,全套的Python零基礎資料,幫助你快速入門Python)第1章 Python編程基礎1.程式語言是什麼2.編譯型語言和解釋型語言3.Python是什麼>5.Python for循環6.Python循環結構中else用法7.Python循環嵌套8.Python列表推導式9.Python zip函數10.Python reversed函數
  • Python函數詳解一(函數參數、變量作用域)
    Python函數函數是python程序的重要組成部分。所謂函數就是實現某一特定功能的代碼段,可重複使用,提高了代碼的利用率。
  • python:pop函數詳解 - 二進位01
    pop函數詳解今天我為大家講解python中pop函數的使用。#簡介——pop()函數是python解釋器的內置方法,可作用於列表,字典。用法說明——在builtins.py中找到pop函數。列表:L.pop([index]) -> item -- remove and return item at index (default last).
  • 《Python基礎教程》---值得讀N遍的Python入門書籍
    《Python人工智慧計算機語言基礎教程》---值得讀N遍的Python入門書籍    《Python基礎教程》看了三遍
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    6背景圖像 7敵人飛機 8英雄飛機 9發射子彈以及碰撞檢測 4部分視頻課程 1網絡編程 2多任務 3web伺服器v3.1 4python高級語法v3.1 5mysql資料庫v3.1 6mini-web框架v3.1 7html和css
  • Python函數的基本特徵詳解
    那這一節我們先學習函數的最基本用法吧首先我們先學習一下在python中如何去編寫一個函數。今天我們先拋出點兒理論:需要注意的是,函數在python中同在C語言中是有所不同的。當python運行到def語句時,它將會生成一個新的函數對象並將其賦值給這個函數名。和普通對象賦值一樣,函數名就成了某一個函數的引用。python中,萬物皆對象,因此函數也是一種對象,他可以賦值給其他的變量名,並且可以保存在列表之中。第三:函數是通過賦值語句(對象引用)傳遞的。
  • 《Python基礎教程》:一本值得讀N遍地Python入門書籍
    《Python基礎教程》看了三遍。第一遍囫圇吞棗、嘗試寫代碼;第二遍重溫,同步看《Python學習手冊》、《Python Cookbook》,部分細節(如正則表達式)對照另兩本書一起看,敲代碼;第三遍仔細看了一遍,花了一個多月時間,每天晚上1~2個小時,收穫很大。
  • python編程入門,零基礎學習Python基礎教程
    這裡推薦這門python編程入門基礎教程,適合零基礎的同學學習!python軟體工程師都學什麼?自學Python,看視頻學的更快、更透徹一些,給你個課程大綱!1.4 控制語句051.Pycharm開發環境的下載安裝配置_項目管理052.單分支選擇結構_條件表達式詳解053.雙分支選擇結構_三元運算符的使用詳解054.多分支選擇結構055.選擇結構的嵌套
  • python入門基礎之lambda匿名函數詳解
    python入門基礎之lambda匿名函數詳解剛開始學習python的時候很多人可能對於lambda函數不了解,感覺和def很混亂,下面我來介紹一下lambda函數我從一下幾個方面來介紹lambda:1、lambda簡介2、lambda與def不同之處3、lambda的使用方法
  • python基礎教程之python是什麼?
    python是什麼--python的功能總的來說,這幾種程式語言各有千秋。C語言是可以用來編寫作業系統的貼近硬體的語言,所以,C語言適合開發那些追求運行速度、充分發揮硬體性能的程序。例如開發一個下載MP3的網絡應用程式,C程序的運行時間需要0.001秒,而Python程序的運行時間需要0.1秒,慢了100倍,但由於網絡更慢,需要等待1秒,你想,用戶能感覺到1.001秒和1.1秒的區別嗎?這就好比F1賽車和普通的計程車在北京三環路上行駛的道理一樣,雖然F1賽車理論時速高達400公裡,但由於三環路堵車的時速只有20公裡,因此,作為乘客,你感覺的時速永遠是20公裡。
  • Python基礎教程—Spyder簡介和Python版本
    1、Spyder工作頁面介紹Spyder的界面設計和matlab十分地相似,熟悉matlab的同學可以很快地習慣使用Spyder。代碼編輯區域:編寫整塊的代碼編寫。代碼執行按鈕:代碼編寫完成後,點擊執行按鈕進行執行控制臺:代碼之後的結果顯示在控制臺中;另外,單行代碼執行也可以在控制臺中執行,如圖中所示。
  • Python基礎教程之小白入門篇
    推薦書籍:《Python基礎教程(第3版)》Magnus Lie Hetland著推薦理由:全面介紹了Python的基礎知識、基本概念,高級主題,還有Python程序測試、打包、發布等知識,及10個具有實際意義的Python項目的開發過程,涉及的範圍較廣,既能為初學者夯實基礎,又能幫助程式設計師提升技能,適合各個層次的Python
  • 詳解 Python 的 enumerate 函數
    Python部落(python.freelycode.com)組織翻譯,禁止轉載,歡迎轉發。
  • ​Java視頻教程自學全套【全新課程資源】
    課程介紹----Java視頻教程自學全套2020尚矽谷開發入門精通項目零基礎培訓項目java視頻課程java培訓學習java語言編程設計零基礎教程入門到精通python程序h5語言app軟體開發代做web設計jsp編程php安卓C#C+JavaMATLAB/C++/JAVA/python/設計/homework/論文/仿真/程序代碼/調試20年java教程 全套javase零基礎到高級視頻idea小白自學編程jdk8App開發Android視頻教程安卓開發培訓零基礎自學就業大數據課程教程學習spark資料分析師java
  • 第1期Python語言計算機等級考試二級模擬試卷單選題解答詳解
    模擬試卷單選題20題有粉絲私信希望增加一些針對國家二級Python考級的小練習和答題詳解。所以就有了模擬試卷的題目講解。第1題:下面的程序運行結果是( )解答:這是一個變量作用域的問題,變量分為全局變量和局部變量。a=10是全局變量,而函數setNumber()裡面的a=100是一個局部變量。
  • Python 基礎教程—列表(3)extend
    列表方法-基本介紹方法是與對象(列表、數、字符串等)聯繫緊密的函數。通常,像下面這樣調用方法:object.method(arguments)方法調用與函數調用很像,只是在方法名前加上了對象和句點。列表包含多個可用來查看或修改其內容的方法。
  • python之OS模塊39個常用函數詳解
    os下面有很多函數,調用方式一般為os.name,其中比較特殊的是Path,Path模塊是OS的一個子模塊,下面又有很多的函數,調用方式一般為os.path.isfile。剛接觸的可能不大明白,需要注意下。
  • Python基礎教程
    《 Python基礎教程 》目錄第1章 基礎知識1.1 安裝Python1.2 交互式解釋器1.3 算法是什麼1.4 數字和表達式1.5 變量……第2章 列表和元組2.1 序列概覽2.2 通用序列操作2.3 列表:Python的「苦力」