首页Python

Python函数(方法)使用详解

2020年9月9日 19:17182

需要在程序中多次执行同一任务时,可以使用函数,让Python运行函数代码块,提高程序模块化、代码重复利用率。Python中除了有内置函数,还有自定义函数,以def关键词定义。

定义函数

语法:

def 函数名(形参1,形参2,形参3.....):

    """函数文档"""

    函数体

 

说明:

1、def关键字:全称define,译为"定义"

2、函数名:对函数体的名称描述,名称规则与变量相同

3、形参:形式参数,函数"定义者"要求"调用者"提供的信息,非必须

4、函数体:完成该功能的代码块

5、函数文档:用一对三引号括起来的说明文档,非必须

# 简单的函数定义

def get_hello():
    """打印简单的问候语句"""
    print('Hello !')

get_hello()
>>>Hello !

传递参数

# 传递参数

def get_user(name):
    print('Hello' + ' ' + name.title() + '!')

get_user('jenny')
>>>Hello Jenny!

形参与实参的区别:函数定义时'name'是形参,函数调用时'jenny'是实参,一个自定义函数可以有多个形参和实参。

使用技巧

# 通过位置顺序传递传输

def get_name(first_name,last_name):
    print(first_name,last_name) # 将两个参数的信息打印出来

get_name('Ron','Barron')  # 实参和形参的顺序一致
>>>Ron Barron
# 通过关键字传递实参

def get_name(first_name,last_name):
    print(first_name,last_name) # 将两个参数的信息打印出来

get_name(first_name = 'Ron',last_name = 'Barron')  # 实参通过关键字绑定
>>>Ron Barron

函数默认值

函数编写时,可以给每个形参设置默认值,在调用函数中形参提供实参时,Python将使用指定的实参值;否则,将使用形参的默认值,因此,给形参设置默认值后,调用函数时,可以省略对应的实参。

# 设置形参默认值

def get_name(first_name,last_name='Barron'):
    print(first_name,last_name) # 将两个参数的信息打印出来

get_name(first_name = 'Ron')  # 形参设置默认值后,这里可以为空
>>>Ron Barron

函数返回值

函数可以用于处理数据、执行特定任务,并返回一些数据,通常称为"返回值"。在Python函数中,使用return关键字将值返回到调用函数。

# Python函数返回值

def get_name(first_name,last_name):
    full_name = first_name + ' ' + last_name
    return full_name.title()

name = get_name('ron','barron')
print(name)
>>>Ron Barron

函数get_name()定义设置first_name,last_name两个形参,用来接收信息。full_name将接收到的两个参数信息合并,并用关键字return把合并后的信息返回到函数调用,为了让大家看到区别,这里我们使用了title()方式,将实参内容转为首字母大写。

调用这里,我们定义一个变量name来接收函数返回的值,并打印出来。

函数返回字典

函数可以返回任何类型的值,包括列表、字典、元组等比较复杂的数据结构。

# 函数返回字典,并返回一个人的信息

def get_name(first_name,last_name):
    complete = {'姓:':first_name,'名:':last_name}
    return complete

name = get_name('Ron','Tesla')
print(name)

传递列表

def get_name(names):
    """向列表中的每位用户都发送问候"""
    for name in names:
        message = 'Hello,' + name.title() + '!'
        print(message)

user = ['mark','peter','jack']
get_name(user)

>>>Hello,Mark!
>>>Hello,Peter!
>>>Hello,Jack!

在函数中修改列表

假设设计一个工作记录的程序,待办事项存储在一个列表中,完成事项后移到另一个列表中,下面使用函数完成这个功能

def works(being,complete):
    while being:
        being_list = being.pop()
        print('正在办理:' + being_list)
        complete.append(being_list)

being = ['出入境登记','实名制验证','办理出境手续']
complete = []
works(being,complete)
>>>正在办理:办理出境手续
>>>正在办理:实名制验证
>>>正在办理:出入境登记


# 这里也可以创建一个显示complete的函数

def show_complte(complete):
    for com_list in complete:
        print('已成功办理:' + com_list)

show_complte(complete)
>>>已成功办理:办理出境手续
>>>已成功办理:实名制验证
>>>已成功办理:出入境登记