• 什么是函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能代码块

  • 我们为什么要用函数 函数能够提高应用的模块性,和代码的重复利用率,我们在前面章节里已经使用了很多内置函数,比如print()len()max()input()等。可以直接从Python官方网站查看文档点这里。但我们也可以自建函数,我们叫做用户自定义函数

内置函数

当我们在调用内置函数的同时,也要保证传入参数的数量与类型是正确的。

#如果函数内传入的参数数量不对会报TypeError错误。并明确指出函数的参数规则要求
# 判断数字1和6谁的值最大并打印出来
print(max(1,6))           #6
# 获取数字-20的绝对值并打印出来
print(abs(-20))           #20
# 获取字符串 "42team" 的长度并打印出来
print(len("42team"))     #6
#将字符串类型的数字转换成int类型,如果使用ty()函数查看int('1234')会发现其类型已经不再是str而是int
print(int('1234'))          #1234

当我们对一个新的内置函数并不了解其含义时,不仅可以访问官方文档,还可以使用内置函数help()去查看相关函数的帮助信息。

print(help(len))

定义函数

  • 我们可-以随意自定义一个由自己想要功能的函数,简单规则如下:
  • 函数代码必须以def关键字开头,后接函数标识符名称和圆括号()
  • 任何传入参数与自变量必须都要放在圆括号中间,圆括号中可以用于定义参数。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式]用来结束函数,返回一个值给调用方。不带表达式的return相当于返回None

例如我们自定义一个myMax()函数用来实现获取两个值的最大值:

#def关键词 函数名称为myMax 圆括号内为可传进来的两个参数 冒号结尾
def myMax(a,b):
    # 判断传入参数a与传入参数b的数据类型是否均为int类型
    if type(a) == int and type(b) == int :
        # 如果a大于或等于b,则输出a,否则输出b
        if a >= b:
            return a
        else:
            return b
    else:
        return None

# 传入参数-1与3,调用函数结束后并打印返回值
print(myMax(-1,3))

函数内部语句在执行过程中,一旦执行到return,函数即执行完毕返回结果值 如果你已将包含myMax()函数的文件保存为function.py文件,那么在该文件的同一级下的其他python文件内,也可使用from function import myMax 来导入myMax()函数

空函数

如果想定义一个什么事也不做的空函数,可以使用pass语句:

def notRun():
    pass

pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。因为很多语句都需要有返回语句,如果没有代码就会有语法错误,所以可以使用pass代替

返回多个值

有的时候我们需要通过一个函数获取多个值,这也是绝对可以实现的。

# 定义函数moreNum
def moreNum(a,b):
    # 返回a与b进行加减乘除的四个值,不过结果集是一个元组(tuple)
    return a+b,a-b,a*b,a/b

print(moreNum(12,2))

打印为:

(14, 10, 24, 6.0)