主要內容
- 函數的定義和使用
- 實例:七段數碼管的繪制
- 代碼復用與函數遞歸
- 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定義的普通函數
