python基础学习11----函数
一.函數(shù)的定義
def 函數(shù)名(參數(shù)列表):函數(shù)體return語(yǔ)句return語(yǔ)句不寫或后邊不加任何對(duì)象即為return None
二.函數(shù)的參數(shù)
無(wú)參數(shù)
def func1():print("沒(méi)有參數(shù)")一個(gè)參數(shù)
def func1(a):return a多個(gè)參數(shù)
def func1(a,b,c):return a+b+c必須參數(shù)
必須按照正確順序和數(shù)量傳入?yún)?shù)
def func1(name,age,job):print("name:%s age:%d job:%s"%(name,age,job)) func1("sfencs",20,"IT")關(guān)鍵字參數(shù)
def func1(name,age,job):print("name:%s age:%d job:%s"%(name,age,job)) func1(age=20,name="sfencs",job="IT")默認(rèn)參數(shù)
默認(rèn)參數(shù)必須放在必須參數(shù)的后面
def func1(name,age,job="IT"):print("name:%s age:%d job:%s"%(name,age,job)) func1("sfencs",20) func1("Alan",25,"teacher")不定長(zhǎng)參數(shù)
參數(shù)帶一個(gè)星號(hào)*
def func1(*args):print(args) func1(1,2,3,"sfencs")#(1, 2, 3, 'sfencs')以元組形式保存參數(shù)帶兩個(gè)星號(hào)**
def func1(**kwargs):print(args) func1(age=20,name="sfencs",job="IT")#{'age': 20, 'name': 'sfencs', 'job': 'IT'}以字典形式保存定義函數(shù)的參數(shù)時(shí)請(qǐng)以必須參數(shù)、默認(rèn)參數(shù)、帶一個(gè)星號(hào)的不定長(zhǎng)參數(shù)、帶兩個(gè)星號(hào)的不定長(zhǎng)參數(shù)的順序定義形參
三.參數(shù)傳遞
不可變類型
def func1(a):a=5 b=10 func1(b) print(b)#輸出為10可變類型
def func1(list1):list1.append("sfencs") list2=[1,2,3] func1(list2) print(list2)#[1, 2, 3, 'sfencs']list2會(huì)改變四.變量作用域
L (Local) 局部作用域
E (Enclosing) 閉包函數(shù)外的函數(shù)中
G (Global) 全局作用域
B (Built-in) 內(nèi)建作用域
按照L-->E-->G-->B的順序查找
內(nèi)部作用域修改外部作用域變量
global
count=20 def function() :global count#不加這句話會(huì)報(bào)錯(cuò)print (count)#20count=5print(count)#5 function() print(count)#5nonlocal
修改嵌套作用域
def function1() :count=20def function2():nonlocal countcount=5print(count)#5function2()print(count)#r此時(shí)輸出為5,若不加nonlocal count則輸出為20 function1()五.遞歸函數(shù)
#斐波那契數(shù)列為0,1,1,2,3,5,8,13,21,34....... def fibon(n):if n<=2 :return n-1return fibon(n-1)+fibon(n-2) print(fibon(7))#輸出數(shù)列中第七個(gè)數(shù),為8
?
轉(zhuǎn)載于:https://www.cnblogs.com/sfencs-hcy/p/9610954.html
總結(jié)
以上是生活随笔為你收集整理的python基础学习11----函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 配置MYSQL基于GTID 主从复制详细
- 下一篇: 慕课网_《RabbitMQ消息中间件极速