Python 函数变量
函数变量
函数名是变量,它在创建函数时绑定一个函数
# 示例:
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
相关推荐
文山羊 2020-10-20
楼上小宇home 2020-09-26
夜斗不是神 2020-11-17
wordmhg 2020-11-06
世事一场大梦 2020-11-17
xiaoseyihe 2020-11-16
Morelia 2020-11-03
CloudXli 2020-11-03
pythonxuexi 2020-10-30
三石 2020-10-29