函式變數
函式名是變數,它在建立函式時繫結乙個函式
# 示例:
def f1():
print("f1函式被呼叫")
f2 = f1 #兩個變數同時繫結乙個函式
f2() #f1 函式被呼叫
# 示例2:
def f1():
print("f1")
def f2():
print("f2")
f1,f2 = f2,f1
f1()# f2
乙個函式可以作為另乙個函式的實參傳遞
# 示例:
function_as_args.py
def f1():
print("f1被呼叫")
def f2():
print("f2被呼叫")
def fx(fn):
print(fn)
fn()#呼叫函式
fx(f1)
def goodbye(l):
for x in l:
print("再見:",x) 看懂
def operator(fn,l):
fn(l)
operator(goodbye,["tom","jerry","spike"])
練習;# 看懂下列**:
def myinput(fn):
l = [1,3,5,7,9]
return fn(l)
print(myinput(max))
print(myinput(min))
print(myinput(sum))
# 函式可以作為另乙個函式的返回值
# 示例見:
# function_as_return_value.py
def get_function():
s = input("請輸入你要做的操作:")
if s == "求最大":
return max
elif s == "求最小":
return min
elif s == "球和":
return sum
l=[2,4,6,8,10]
f = get_function()
print("f繫結:",f)
print(f(l))
練習:# 寫乙個計算公式的解釋執行器
# def myadd(x,y):
# return x+y
# def mysum(x,y):
# return x-y
# def mymul(x,y):
# return x * y
# 定乙個帶有乙個引數的函式 get_func(s):
# def get_func(s):
# ... # 此處自己實現
# 此函式的在傳入字串「加」或「+」返回myadd函式:
# 此函式的在傳入字串「乘」或「*」返回myadd函式:
# 在主函式中程式如下:
# def main():
# while true:
# s = input("請輸入計算公式:") # 10 加 20
# l = s.split() # l = ["10","加","20"]
# a = int(l[0])
# b = int(l[2])
# in = get_fuc(l[1])
# print("結果是:",fn(a,b))
def myadd(x,y):
return x+y
def mysum(x,y):
return x-y
def mymul(x,y):
return x * y
def get_func(s):
if s == "加" or s == "+":
return myadd
elif s == "減" or s == "-":
return mysum
elif s == "乘" or s == "*":
return mymul
def main():
while true:
s = input("請輸入計算公式:") # 10 加 20
if not s:
break
l = s.split() # l = ["10","加","20"]
a = int(l[0])
b = int(l[2])
fn = get_func(l[1])
print("結果是:",fn(a,b))
main()
函式的巢狀定義
函式巢狀定義是指乙個函式裡用def語句來建立其他函式的情況
# 示例見:
# function_embed_def.py
# 此示例示意函式的巢狀定義
def fn_outer():
print("fn_outer被呼叫")
# 此處能否建立新的函式並且呼叫呢?
def fn_inner():
print("fn_inner被呼叫!")
fn_inner() # 呼叫函式內部的fn_inner
fn_inner()
print("fn_outer呼叫結束")
fn_outer()
python 作用域
# 作用域也叫名字空間,是訪問變數時查詢變數名的範圍空間
# 示例:
a = 100
def fx():
a = 10000 # a = 10000 和 a = 100 是兩個不同作用的域內的變數
print(a)
fx()
print(a)
python的四個作用域 legb
作用域 英文解釋 英文簡寫
區域性作用域(函式內) local(function) l
外部巢狀函式作用域 enclosing function local e
函式定義所在模組的作用域 global(module) g
python 內建模組的作用域 builtin(python) b
Python 函式變數
函式名是變數,它在建立函式時繫結乙個函式 示例 def f1 print f1函式被呼叫 f2 f1 兩個變數同時繫結乙個函式 f2 f1 函式被呼叫 示例2 deff1 print f1 def f2 print f2 f1,f2 f2,f1 f1 f2 乙個函式可以作為另乙個函式的實參傳遞 示例...
python菜鳥教程函式 Python
python modf 函式 描述modf 方法返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。語法以下是 modf 方法的語法 import math math.modf x 注意 modf 是不能直接訪問的,需要匯入 math 模組,通過靜態物件呼叫該方法。引數x 數...
python教程 內建函式
內建函式就是python實現定義好的可以直接使用的公共函式 abs 獲取絕對值 bin 將數字轉換成二進位制 cmp 比較兩個物件 eval 執行乙個字串表示式 execfile 執行乙個檔案 file 建立乙個檔案 help 檢視乙個模組的詳細用法 isinstance 函式來判斷乙個物件是否是乙...