日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

6-day6-函数-1

發(fā)布時間:2024/10/12 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6-day6-函数-1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
增刪改查 文件當作存放數(shù)據(jù)的倉庫
做個工具和用戶交互,可以處理用戶命令
用戶輸入什么命令,就print什么命令 def select(x,y,z):with open(z,'w',encoding='utf-8') as f:for line in f:if y in f:print(line) def delete():print('delete func') def change():print('change func') def add():print('delete func') func_dic = {'select': select,'add': add,'change': change,'del': delete }while True:inp = input('>>: ').strip()if not inp:continuecmd_l = inp.split(' ')if cmd_l[0] in func_dic:func_dic[cmd_l[0]](cmd_l[0], cmd_l[1], cmd_l[2])else:print('無效命令')input('>>: ')

  函數(shù)參數(shù)的使用

?

def func1():if 1 > 2:print('d')else:print('ok')func1()# 形參與實參 # 形參是變量名 實參是1 2,形參函數(shù)內(nèi) def foo(x,y):return x+yfoo(1,2)# 位置參數(shù):按照從左到右的順序一次定義的參數(shù) # 按位置定義的形參,必須被傳值,多一個不行,少一個也不行 # 按位置定義的實參,必須與形參一一對應(yīng)# 關(guān)鍵字參數(shù):參數(shù)在定義時,按照key=value進行定義,形參與實參不必一一對應(yīng) func1(x=1, y=2, z=3)func1(1,y=2) #混合,位置實參必須在關(guān)鍵字實參前面 # 一個形參只能被傳值一次# 默認參數(shù):在定義函數(shù)階段,就已經(jīng)為形參賦值,調(diào)用階段就無需傳值。 def func1(x, y=10) # 默認參數(shù),必須放在位置形參后面 def func1(x=10, y) #不行! # 默認參數(shù)通常要定義成不可變類型,只在定義階段賦值一次#可變長形參-分兩種 def func2(x,y,*args): #多余的參數(shù)存儲在元組里print(x,y)print(args) func2(1,2,3,4,5,6) func2(1,2,*(3,4,5,6)) #注意這種幅值方法func2(*('a','b','c')) == func2('a','b','c')def func3(x,y,**kwargs): # 多余的參數(shù)放在字典里 #多余的關(guān)鍵字參數(shù)被**接受,傳給kwargsprint(x,y)print(kwargs) func2(y=2,x=1,z=3,a=5)#命名關(guān)鍵字參數(shù) #放置出現(xiàn)異常# 實參必須要以關(guān)鍵字傳值 def register(*,name,age):print(age)print(name) register(age=18) register(name='alex',age=21)def register(*args,name,age):print(age)print(name) register(1,2,3,4,name='egon',age=10)

  函數(shù)對象

# 可被引用 f = func()# 可以當作函數(shù)的參數(shù)# 可以當作函數(shù)的返回值def foo():print('from foo')def bar():return foo f = bar() print(f)# 可以當作容器類型的元素: 字典,value為函數(shù)名def select():print('select function')func_dict={'select':select }func_dict['select']()# x = 0def f1():x = 1def f2():x = 2print(x)return f2f = f1() print(f) f()x = 1 def func1():x = 2def fun2():x = 3def fun3():#global xnonlocal xx = 10000print(x)fun3()print(x)fun2()func1()

  名稱空間和作用域

# 名稱空間 :存放名字與值的綁定關(guān)系 # 名稱空間分為三種:# 內(nèi)置名稱空間:python解釋器自帶的名字,解釋器啟動就生成空間# 全局名稱空間:文件級別定義的名字都會存放在全局名稱空間,執(zhí)行python文件時會產(chǎn)生,頂頭寫的定義 x = 1 def fun1():class Foo:pass import os os.name# 局部名稱空間:定義在函數(shù)內(nèi)部的名字,在函數(shù)調(diào)用階段才會生效#三者的加載順序: 內(nèi)置——全局--局部。 # 取值 內(nèi)部函數(shù)順序:局部-內(nèi)置-全局# 作用域:作用范圍(生效分為) x = 0 def f1():x = 1def f2():x = 2def f3():x = 3print(x)f3()f2()f1() # 全局作用域: 內(nèi)置名稱空間和全局名稱空間的名字屬于全局范圍,在整個文件任意位置都能被調(diào)用,全局有效 def foo(x,y):print(max(x,y)) foo(12,23)# 局部作用域: 局部名稱空間的名字,屬于局部范圍,只在函數(shù)內(nèi),局部有效def foo(x,y):def maxx(x,y):if x > y:return xelse:return yprint(maxx(x,y))# print(globals())print(locals()) foo(12,23)# 局部作用域-->全局作用域 print(globals()) print(dir(globals()['__builtins__'])) print(locals()) print(globals() is locals()) # 全局的局部是全局

  

轉(zhuǎn)載于:https://www.cnblogs.com/cx2c/p/7050132.html

總結(jié)

以上是生活随笔為你收集整理的6-day6-函数-1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。