【李刚-21天通关Python】第四章:函数
相关链接:
【李刚-21天通关Python-15】之 函数入门与定义函数
【李刚-21天通关Python-16】之 多返回值函数与递归函数
【李刚-21天通关Python-17】之 关键字参数与参数默认值
【李刚-21天通关Python-18】之 参数收集和逆向参数收集
【李刚-21天通关Python-19】之 变量作用域
【李刚-21天通关Python-20】之 局部函数
【李刚-21天通关Python-21】之 实操:定义计算N的阶乘的函数
【李刚-21天通关Python-22】之 实操:定义计算矩阵转置的函数
第四章:函数
函数入门与定义函数
一、函数的定义
- 所谓函数,就是为一段实现特定功能的代码取个名字,以后即可通过该名字来执行(调用)这段代码
二、函数定义的定律
- 函数需要几个关键的、需要动态变化的数据,这些数据就应定义成函数的参数
- 函数需要传出几个重要的数据,这些数据应该定义成返回值
- 函数的内部实现过程
三、函数语法
- 在使用函数之前必须先定义函数,语法格式如下:
'''
def 函数名 (参数列表):
# 由零条到多条可执行性语句组成的函数
…… ……
[return [返回值]]
'''
【例一】
def first ():
print("first函数")
for i in range(5):
print(i)
first() # first函数 0 1 2 3 4
【例二】
def hello (name):
print('hello 函数')
print('您好,' + name)
hello (python)
# hello 函数
# 您好,python
【例三】
def max (a, b):
r = a if a > b else b
return r
x = max(3, 5)
print(x) # 5
x = max(100, 0)
print(x) # 100
四、为函数提供文档
- 只要把字符串放在一段函数声明之后、函数体之前,这段字符串就是函数的说明文档
- Python内置的 help() 函数查看其他函数的帮助文档
- 也可通过函数的 __doc__属性(双下划线)来查看函数的说明文档
(1)使用help()函数查看内置函数文档
(2)使用__doc__属性查看内置函数文档
(3)举例
def test (a):
'''
这是一个简单函数
a是参数
'''
pass
print(test.__doc__)
help(test)
多返回值函数与递归函数
一、多返回值函数
- 多返回值,本质就是返回元组
- 程序即可返回元组,也可直接返回多个值(系统会将其自动封装成元组)
import random
def test ():
# 生成三个随机的大写字符
c1 = chr(random.randint(65,90))
c2 = chr(random.randint(65,90))
c3 = chr(random.randint(65,90))
return (c1, c2, c3)
# return r1, r2, r3
二、多返回值函数的用法
- 获取多返回值函数的返回值时:
- 即可用单个变量(元组)来获取
- 也可用多个变量获取(元组解包)
三、递归函数
- 函数体内调用它自身被称为函数的递归
- 函数的递归包含了一种隐式的循环,他会重复执行某段代码,但这种重复执行无需循环控制
- 注意点:
- 向已知的方向递归
- 让递归有结束的时候,不要无限递归
# 计算n的阶乘
def frac (n):
if n < 1:
print("n不能小于1")
return
elif n == 1:
return 1
else:
return frac(n - 1) * n
print(frac(5)) # 120
print(frac(6)) # 720
关键字参数与参数默认值
一、关键字参数
- Python函数的参数名不是没有意义的,Python允许调用函数时通过名字来传入参数值
- 调用函数时,支持两种方式为参数指定值:
- 位置参数:必须按顺序为每个参数指定参数值
- 关键字参数(命名参数):按参数名为参数指定参数值
def info (name, age, height):