持续创造,加速成长!这是我参与「日新计划 10 月更文应战」的第9天,点击检查活动详情

1.回来值

函数并非总是直接显示输出,它还能够处理一些数据,并回来一个或一组值。函数回来的值称为回来值。在函数中,可运用return句子将值回来到调用函数的代码行。回来值让你能够将程序的大部分深重作业移到函数中去完成,然后简化主程序。

1.1.回来简略值

Python编程常用函数方法

def live(where,time):
    a=f"i live in {where},and at the time {time}"
    return a
w=input()
t=input()
live(w,t)

在需要分别存储大量住址和时刻的大型程序中,这样的函数就非常有用,能够分别存储,每次需要显示时都调用这个函数。

1.2.让实参变成可选的

有时候,需要让实参变成可选的,这样运用函数的人就能只在必要时供给额定的信息。可运用默认值来让实参变成可选的。 先举一个栗子:

Python编程常用函数方法

name=input("请输入姓名:")
where=input("请输入住址:")
time=input("请输入时刻:")
def ueser(a,b,c):
    message=f"挂号成功,用户名为:{a},住址:{b},入住时刻:{c}"
    return message
ueser(a=name,b=where,c=time)

这儿咱们传递三个实参,成果如图所示,可是假如咱们没有传递三个实参的话程序就会报错:

Python编程常用函数方法
这就说到了让实参变为可选的必要性 将代码进行修正:

Python编程常用函数方法

name=input("请输入姓名:")
where=input("请输入住址:")
time=input("请输入时刻:")
def ueser(a,b,c=''):
    if c:
        message=f"挂号成功,用户名为:{a},住址:{b},入住时刻:{c}"
    else:
        message=f"挂号成功,用户名为:{a},住址:{b}"
    return message
ueser(a=name,b=where)

这儿咱们没有给形参‘c’进行传递,可是仍然能运行成功。这种办法就能够用到一些文本的可选项,你能够填也能够不填。

1.3.回来字典

函数可回来任何类型的值,包括列表和字典等较复杂的数据结构、例如。下面的函数承受姓名的组成部分,并回来一个表示人的字典:

Python编程常用函数方法

def build_person(first_name,last_name):
    person={'first':first_name,'last':last_name}
    return person
user=build_person('ikun','jinitaimei')
print(user)

函数build_person()承受名和姓,并将这些值放到字典中。存储first_name时,运用的键为‘first’,而存储last_name的值时,运用的键为’last’。最终,回来表示人的整个字典。

1.4.结合运用函数和while函数

可将函数同前面介绍的python结构结合起来运用。例如,下面将结合运用函数user()和while循环:

Python编程常用函数方法

def user(name):
    print(f"hello {name}")
while True:
    a=input("输入你的姓名:")
    user(a)

2.传递列表

咱们会常常发现,向函数传递列表很有用,其间包括的可能是姓名、数或更复杂的目标(如字典)。将列表传递给函数后,函数就能直接拜访其内容。下面运用函数来进步处理列表的效率。

Python编程常用函数方法

def user(a):
    for i in a:
        print(f"hello {i}")
names=['蔡徐坤','鸡','王宝强']
user(names)

3.传递恣意数量的实参

有时候,预先不知道函数需要承受多少个实参,好在python允许函数从函数从调用句子中搜集恣意数量的实参。 例如,

Python编程常用函数方法

def user(*a):
    for i in a:
        print(f"hello {i}")
names=['蔡徐坤','鸡','王宝强']
where=['鸡窝','狗窝','养殖场']
time=['一年','两年','两年半']
user(names,where,time)

形参*a中的星号让python创立一个名为a的空元组,并将收到的一切值都封装到这个元组中。函数体内的函数调用print()经过生成输出,证明python能够处理一个值来调用函数的情形,也能处理运用三个值来调用函数的情形。

留意,python将实参封装到一个元组中,即使函数只收到一个值:

3.1结合运用方位实参和恣意数量实参

假如要让函数承受不同类型的实参,必须在函数界说中将接收恣意数量实参的形参放在最终。python先匹配方位实参和关键字实参,再将余下的实参都搜集到最终一个形参中。 例如,假如前面的函数还需要一个形参,必须将其放在形参*a前面。

Python编程常用函数方法

def user(A,*a):
    for i in a:
        print(f"{A}")
        print(f"hello {i}")
names=['蔡徐坤','鸡','王宝强']
where=['鸡窝','狗窝','养殖场']
time=['一年','两年','两年半']
user(names,where,time)

基于上述界说,python将收到的第一个值赋给A,并将其他一切值都存储在元组a中。

3.2.结合运用方位实参和恣意数量实参

有时候。需要承受恣意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够承受恣意数量的键值对——调用句子供给了多少就承受多少。

Python编程常用函数方法

def build_profile(first,last,**user):
    user['first_name']=first
    user['last_name']=last
    return user
build_profile('ikun','li',location='1',field='2')

函数build_profile()中,形参user中的两个星号让python创立一个名为user的空字典,并将收到的一切称号值对都放到这个字典中。在这个函数中,能够像拜访其他字典那样拜访user中的称号值对。

4.将函数存储在模块中

运用函数的优点之一是可将代码块与主程序别离。经过给函数指定描述性称号,可让主程序容易理解得多。你还能够更进一步,将函数存储在称为模块的独立文件中,再将模块导入到主程序中。import句子允许在当时运行的程序文件中运用模块中的代码。 经过将函数存储在独立的文件中,可隐藏程序代码的细节,将重点放在程序的高层逻辑上。这还能让你在很多不同的程序中重用函数。将函数存储在独立文件中后,可与其他程序员共享这些文件而不是整个程序。知道怎么导入函数还能让你运用其他程序员编写的函数库。

4.1导入整个模块

要让函数是可导入的,得先创立模块。 模块是扩展名为.py的文件,包括要导入到程序中的代码。下面来创立一个包括函数make_pizaa()模块。

Python编程常用函数方法

def make_pizza(a):
    for i in range(a):
        print(f"hello {i}")

4.2导入特定的函数

Python编程常用函数方法
还能够导入模块中的特定函数,运用时就不必加上模块名直接运用函数名运用即可

4.3导入模块中一切函数

from user import *