函数(一)

1. 什么是函数?

函数是带名字的代码块,用于完成具体的工作。要执行函数定义的特定任务,可调用该函数。需要在程序中多次执行同一项任务时,无须反复编写完成该任务的代码,只需要调用执行该任务的函数,让Python运行其中的代码即可

2. 函数的定义

定义完函数后,函数是不会自动执行的,需要调用它才可以

def say_hello():     #函数名
    print('hello')      #函数体
say_hello()      #调用函数
def create_room():
    print('准备创建房间')
    print('正在创建房间')
    print('完成创建房间')

def create_stair():
    print('准备创建楼梯')
    print('正在创建楼梯')
    print('完成创建楼梯')

def create_building():
    create_room()
    create_stair()

create_building()

"""
运行结果:
准备创建房间
正在创建房间
完成创建房间
准备创建楼梯
正在创建楼梯
完成创建楼梯
"""

3. 函数的参数

a. 普通参数

单个参数

def say_hello(name):
    print(f'hello, {name}')

say_hello('Elsa')
# 运行结果: hello, Elsa

多个参数

def create_door(width, height):
    print(f'门的宽是{width}m,高是{height}m')

create_door(2, 1)

b. 默认参数:

如果默认参数不传递新值, 则它的值为默认值, 否则,默认值为新传递的值

def day_salary(day, salary=11000):
    print(f'平均每天的薪水是{salary / day:.2f}元')

day_salary(22)
# 运行结果:平均每天的薪水是500.00元

day_salary(22, 14000)
# 运行结果:平均每天的薪水是636.36元

c. 关键字传参

无须考虑函数调用中的参数顺序,还清楚地指出了函数调用中各个值的用途

def full_name(firstname, lastname):
    print(f'Your full name is {firstname} {lastname}')
full_name(lastname='Wong', firstname='Elsa')


# 运行结果:Your full name is Elsa Wong

d. 不定长参数

*args: 元组

def function_a(*args):
    print(args)
    for arg in args:
        print(arg)

function_a('hello', 'Elsa')

"""
运行结果:
('hello', 'Elsa')
hello
Elsa
"""

**kwargs: 字典

{'firstname': 'Elsa', 'lastname': 'Wong'}
firstname->Elsa
lastname->Wong
def function_c(width, height, *args, **kwargs):
    print(width)
    print(height)
    print(args)
    print(kwargs)

function_c(2, 3, 'hello', 'world',firstname='Elsa', lastname='Wong')

"""
运行结果:
2
3
('hello', 'world')
{'firstname': 'Elsa', 'lastname': 'Wong'}

 

函数(一)

 

上一篇:记录一下npm安装create-react-app后创建项目报错的问题


下一篇:在win中使用代码生成器generator路径问题(找不到指定文件的时候注意转义字符)