主要內容
函數的定義和使用
實例:七段數碼管的繪制
代碼復用與函數遞歸
PyInstall庫的使用
實例:科赫雪花小包裹
函數的定義與使用
函數的理解與定義
函數的使用及調用過程
函數的參數傳遞
函數的返回值
局部變量和全局變量
lambda函數
------------------------------------
函數的定義:函數是一段代碼的表示 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 函數的作用: 降低編程難度 ? ?和 ? ?代碼復用
(函數是一段具有特定功效的、可重用的語句組 ? ? ? ? 函數是一種功能的抽象,一般函數表達特定功能)
函數定義語法:
def ():
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 :
等價于
def (參數):
return
不同的是lambda后面的內容只能使用表達式,不能使用函數體
比如: ?f = lambda x,y : x+y
>>>f(10,15) ? ? ? ? ? ? 25
f = lambda : "lambda函數"
>>>print (f()) ? ?lambda函數
謹慎使用lambda函數
-lambda函數主要用作一些特定函數或方法的函數
-lambda函數有一些固定使用方式,建議逐步掌握
-一般情況,建議使用def定義的普通函數