Python学习19:函数的相互调用 和 作用域

一、函数的相互调用 :
程序调用函数时,既可以把调用函数的返回值给指定变量,也可以将函数的返回值传给另一个函数,作为另一个函数的参数。

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值