一、函数的相互调用 :
程序调用函数时,既可以把调用函数的返回值给指定变量,也可以将函数的返回值传给另一个函数,作为另一个函数的参数。
def eat(food):
print(f"这个人正在猛吃 {food}")
# 我们在 get_offer 函数当中调用了另外的一个函数 eat
def get_offer(name, money, food=None):
print(f"{name}获得了一个 {money}K 的 offer")
# 吃最喜欢吃的食物
eat(food)
get_offer("teddy", 30, "辣条")
"""
teddy获得了一个 30K 的 offer
这个人正在猛吃 辣条
"""
# TODO: python 如何运行代码
# 函数调用是去执行函数体内部的逻辑
注意点:
1,不能A调用B, B调A 同时。
2、不要调自己
二、作用域:
1.函数的全局变量:定义的变量,整个py文件内可以公共使用,在定义的函数体外定义
2.函数的局部变量:在函数体内定义的变量,叫做函数的局部变量
3.全局变量和局部变量的关系:
1.全局变量不能获取局部变量
2.全局变量不能修改局部变量
3.局部作用域可以获取全局变量
4.局部作用域能修改全局变量(前提是局部变量前加 global关键字)
#1.全局变量不能获取局部变量
c=10 #全局变量c
def add(a,b):
c=a+b
c=c+2
return c
e=add(3,3)
print(e) # 8
print(c) # 10 ,这里打印的是全局变量c,而不是局部变量
局部作用域获取全局变量
c = 6
def minus(a, b):
d = a + b
print(d-c) #局部作用域获取全局变量
return d - c
minus(3, 6)
#==== 3
局部作用域能修改全局变量(前提是局部变量前加 global关键字)
c=8
def add(a,b):
global c #在局部作用域加global,将局部的c变成全局变量
c=c+3
return c+a+b
e=add(3,5)
print(e) #c+a+b=(8+3)+3+5=19
print(c) #局部变量c 变成了全局变量c 。8+3=11
# 19
# 11