Python__函數和代碼復用


主要內容

  • 函數的定義和使用
  • 實例:七段數碼管的繪制
  • 代碼復用與函數遞歸
  • PyInstall庫的使用
  • 實例:科赫雪花小包裹

 

函數的定義與使用

  • 函數的理解與定義
  • 函數的使用及調用過程
  • 函數的參數傳遞
  • 函數的返回值
  • 局部變量和全局變量
  • lambda函數

 ------------------------------------

函數的定義:函數是一段代碼的表示                               函數的作用: 降低編程難度    和    代碼復用

(函數是一段具有特定功效的、可重用的語句組         函數是一種功能的抽象,一般函數表達特定功能)

函數定義語法:

def <函數名> (<參數(0個或多個)>):

    <函數體>

    return <返回值>

注意:

函數定義時,所指定的參數是一種占位符

函數定義后,如果不經過調用,不會被執行

函數定義時,參數是輸入、函數體是處理、結果是輸出(IPO)      函數也是一種完整代碼的封裝

 

函數調用  fact(10)

 

可選參數(賦初值,在必選參數后面定義)、可變參數(*b)、名稱傳遞 

對於不確定參數個數,可以添加*b形式定義

def  fact(n,m=1,*b):  xxxxx

函數參數傳遞,可以通過位置直接給定,也可以指定:fact(m=2,n=123)

  • 函數的返回值

函數可以返回0個或多個結果

  --return 保留字用來傳遞返回值

  --函數可以有返回值,也可以沒有,可以有return,也可以沒有

  --return可以傳遞0個返回值,也可以傳遞任意多個返回值  return a,b,c   得到的結果是元組類型  小括號括起來的  (123,a,b) 調用可以是:a,b,c = fact(10,5)   

 

  • 局部變量和全局變量

規則1:局部變量喝全局變量是不同的變量

  -局部變量是函數內部的占位符,與全局變量可能重名但不同

  -函數運算結束后,內部變量被釋放

  -可以使用 global保留字在函數內部使用全局變量

規則2:局部變量為組合數據類型且未創建,等同於全局變量

ls = ["F","f"]

def func (a):

    ls.append(a)

    return

func("C")

print(ls)       運行結果: ["F","f","C"]     如果函數中真實創建了,那么這里是 ["F","f"]

使用規則

    -基本數據類型,無論吃否重名,局部變量與全局變量不同

    -可以通過global保留字在函數內部聲明全局變量

    -組合數據類型,如果局部變量未真實創建,則是全局變

  • lambda函數

lambda函數返回函數名作為結果

    -lambad函數是一種匿名函數,即沒有名字的函數

    -使用lambda保留字定義,函數名是返回結果

    -lambda函數用於定義簡單的,能夠在一行內表示的函數

 

<函數名> = lambda <參數0個或多個> : <表達式>

等價於

def <函數名> (參數):

    <函數體>

    return <返回值>

不同的是lambda后面的內容只能使用表達式,不能使用函數體

比如:  f = lambda x,y : x+y

>>>f(10,15)             25

f = lambda : "lambda函數"

>>>print (f())    lambda函數

謹慎使用lambda函數

    -lambda函數主要用作一些特定函數或方法的函數

    -lambda函數有一些固定使用方式,建議逐步掌握

    -一般情況,建議使用def定義的普通函數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM