目录
(一).初识函数(function)
编程函数 != 数学函数,要理解的是编程思维,而不是套公式
函数 = 方法,实现一个特定的操作.
函数的优点:
1.遇到重复功能的时候,直接调用即可,省事
2.提升代码结构性,分工明确,提高代码的可读性
3.需要拓展功能时,修改比较方便
数值类型: 存储一个数据
序列,散列类型: 存储多个数据
函数: 存储多段代码
写了一些代码,能做到特定的功能,用一个东西把它装起来方便以后使用 --> 函数
(二).函数基础
函数的命名规则与变量的命名规则是一致的:
1.由数字,字母,下划线组成
2.首字符不能是数字,不能有特殊符号
3.见名知意
4.不能用关键字
5.区分大小写
def --> 定义
fun --> 函数的简写,用来做函数名
函数也有代码块的概念,也是通过缩进来控制的
1.基本定义
def 函数名():
代码块
def fun1():
print('你好,这是一个最简单的函数')
2.函数的调用
函数名()
def fun1():
print('你好,这是一个最简单的函数')
fun1()
3.定义空函数:函数内容不能为空,还没想好要写啥
def 函数名():
pass
def fun():
pass
4.定义了返回值的函数
def 函数名():
代码块
return 返回值
def add():
a = 8 + 8
return a
# print(add())
变量名 = 函数名() # 把函数的返回值赋给了变量
a = add()
def add():
a = 8 + 8
return a
b = add()
print(b)
(三).返回值return
返回值 = return.把值返回给函数的本身
可以把代码块理解为过程,返回值为结果.代码执行的是一步步的过程,如果要直接知道结果,那就直接获取返回值在return后写的语句,不会再执行,可以理解return是函数版break,后面的代码不会运行
def fun():
print(520)
return 666
print("上午好")
print(fun()) # 只会输出520和666,return后面的不会输出
(四).函数参数
形参: 先放个东西,过来霸个位置
实参: 真人到场
坐车:
形参 = 票 --> 保留位置
实参 = 人 --> 坐上位置
形参是没有实际值的,只是作为占位,在实际使用时,会用实参来代替形参.实参需要有具体值
定义带参函数:
def 函数名(参数):
print(参数)
定义函数时,括号里的参数为"形参",先占个位置
调用带参函数:
函数名(参数)
调用时,括号里放的参数就是"实参",实参要有具体的值
形参 == 形式主义,走个形式,没有具体值
实参 == 实际值,有具体的数据
def add(a, b):
sum = a + b
return sum
print(add(70, 35))
(五).参数进阶
1.必备参数:有几个形参就要有几个实参,数量要匹配一致,多了少了都会报错
定义时:
def 函数名(参数1,参数2)
调用时
函数(参数1,参数2)
def add(num1,num2):
print(num1,num2)
add(666,70)
2.默认参数: 在声明参数的时候,就先定义一个参数的值
定义时:
def 函数名(参数1,参数2 = 值):
调用时:
函数名(参数1)形参再定义时就已经赋值了,在调用时就可以不接受传参.如果再传值会覆盖默认值
默认参数赋值是写在右边的,写左边会报错
def add(num1, num2=70):
print(num1 + num2)
add(35)
3.不定长参数1
一次性可以接受多个值
有的时候写一个函数,不确定要传几个参数,就用不定长参数.数据接收后,为元组类型定义时:
def 函数名(*参数名):
def 函数名(*args):
参数名不是固定的,但是有个潜规则,一般是叫args*表示的是不定长参数:长度是不固定的,可以传很多个值,传进来的值为元组类型.所以也可以进行切片,索引
def add2(*args):
sum = args[0] + args[1] # args 里面索引为0和1的数相加
print(sum)
add2(1, 70, 666, True) # 可传多个数值
4.不定长参数2
一次性可以传多个值,传输的值类型为字典
定义时:
def 函数名(**kwargs):
调用时:
函数名(**{字典})
def add3(**kwargs):
print(kwargs)
add3(****{'name':'彭于晏','color':'yellow','weight':'75kg'})
**表示的是传入一个字典类型的不定长参数,kwargs也不是固定的名
def fun1(**kwargs):
print(kwargs)
fun1(**{'name':'彭于晏','color':'yellow','weight':'75kg'})
(六).基本内置函数
python自带的一些功能函数,可以直接使用
print() 输出语句
input() 输入语句
type() 获取数据类型
min() 获取最小值
max() 获取最大值
len() 获取数据长度(有几个数据)
sum() 获取数据的总值
(七).文档字符串
针对函数的注释,看起来和注释一样,但是用起来不一样.注释只能看,文档字符串可以被调用输出
def fun():
""" 你好,我是一个文档字符串 """
print("我是一个测试函数")
输出方式:
函数名.__doc__
print(print.__doc__)
核心作用就是查看函数的说明文档(文档尽量简洁,描述本质功能)
1.这个函数的作用
2.这个函数里参数的作用
def fun3():
"""这是一个文档字符串"""
print('这是一个测试函数')
fun3().__doc__