Python learning 10: function 2: positional parameters_variable-length parameters_function call each other_function scope

Keyword parameter

"""
关键字参数。

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

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

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


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

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

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

**

Variable length parameter

**

"""
可变长参数:
*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', '高颜值')


**

Call between functions

**

实例:
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.
小王子喜欢吃食物:小龙虾
"""

**

Function scope

**

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

If you want to modify a global variable, you need to add global to the local variable to indicate that this is a global variable. The
global keyword declares the keyword of the global variable. Do not use it lightly

实例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

Guess you like

Origin blog.csdn.net/DINGMANzzz/article/details/112953281