Python学习10:函数2:位置参数_可变长参数_函数的相互调用_函数的作用域

本文详细介绍了函数的关键字参数、可变长参数的使用,包括它们如何提高可读性和灵活性。同时,讨论了函数调用、作用域的概念,特别是局部和全局变量的交互,以及如何通过`global`关键字修改全局变量。通过实例展示了函数间的调用和作用域的应用,帮助读者深入理解Python中函数参数和作用域的原理。
摘要由CSDN通过智能技术生成

关键字参数

"""
关键字参数。

作用:还是相对于位置参数讲的。
可以提高函数调用时候的可读性,更加容易理解实际参数的意义。
关键字的名字==> 形式参数

关键字参数区别位置参数: 可以不按照顺序进行调用,可以交换顺序。

TODO: 关键字参数也要放到位置参数的后面。


函数:一定要掌握的知识:
return
函数的形式参数
函数的实际参数
函数的位置参数
默认参数:简化调用过程
关键字参数:可以交换参数的顺序,并且提高可读性
"""

def get_name(firstname, middle,  lastname=""):
    """获取名字"""
    return firstname + middle + lastname

a = get_name('丁', lastname='几何',  middle='高颜值')
print(a)          ===>打印结果:丁高颜值几何

**

可变长参数

**

"""
可变长参数:
*names, 在函数内部的表现形式:names 是元组。
可以接收从函数调用的时候,多余的位置参数.
*names 加在其他的位置参数的后面。

可不可以只有一个 *names, 可以的。

**kwargs, keyword args
"""
实例1#有多个*name
def get_name(firstname, *names ):
    """获取名字"""
    print(firstname)
    print(names)
    return firstname

get_name('dingj', '25', '高颜值')         ===>打印结果:dingj    ('25', '高颜值')




实例2# 可不可以只有一个 *names, 可以的。
def get_name(*names ):
    """获取名字"""
    print(names)
    return names

get_name('dingj', '25', '高颜值')


**

函数之间的调用

**

实例:
def congratulate_offer(offer_name, money):
    """庆祝拿到 offer """
    print("{}拿到了一个{}k 的 offer.".format(offer_name, money))
    # 请客
    eat(offer_name, '小龙虾')

def eat(name, food):
    print("{}喜欢吃食物:{}".format(name, food))

congratulate_offer('小王子', 22)
"""
打印结果:
小王子拿到了一个22k 的 offer.
小王子喜欢吃食物:小龙虾
"""

**

函数的作用域

**

1. 局部变量:函数体这个局部, 函数是一个盒子
2. 全局变量不能获取局部变量
3. 局部作用于能获取全局变量


实例1def add(a, b):
    c = a + b
    c += 5
    return c

c = 4
add(5,7)
print(c)     ===>打印结果:4
-----------------------------------------------------------------------------------------------

#局部作用于能获取全局变量
c = 10
def add(a, b):
    return c + a + b

print(add(2,3))     ===>打印结果:15

如果想修改全局变量,需在局部变量加global表明这是一个全局变量
global关键字声明全局变量的关键字,不要轻易使用

实例1:
c = 3
def add(a, b):
    global c
    c = c + 3
    print(c)
    return a + b + c

add(3, 4)
print("最后的c:", c)         ===>打印结果:6
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值