函数基础参数及常见内置函数
函数
前言
刚开始写代码时:
1.无法做到精简 需要重复写
2.兼容性极差 (无法解决)
3.没有返回值 (无法解决,只能在使用后返回结果)
简介:
函数类似于工具,将提前定义好的东西反复使用
在代码块中函数可解决:代码冗余、结构清晰、修改繁杂等问题。
def 变量名(参数):
'''函数注释'''
循环体
return 返回值
调用
"""
1.函数必须先定义再调用
2.函数定义阶段只检查语法结构,不看代码
3.函数在调用阶段才执行代码.
"""
1.无参函数
函数在定义阶段括号内没有参数
2.有参函数
函数在定义阶段括号内有参数
3.空函数
函数在定义阶段括号内没有参数并且函数体为空(pass)
1.函数体代码没有return关键字
默认返回None
2.函数体代码只有关键字return后面没有跟数据
也是默认返回None
函数体遇到return立即结束
3.函数体代码有关键字return且后面跟了数据
返回跟的数据
如果跟了多个数据以逗号隔开,则会自动组成元组返回
两大分类
'''
1.形参(形式参数):变现形式为变量名
2.实参(实际参数):表现形式为变量值
def index(a,b):
pass
# a和b就是函数index的形参
index(1,2)
# 数据1和2就是函数index的实参
形参与实参的关系:
在函数运行时,在调用阶段,临时绑定的关系。
函数结束后,则断开。
形参的表现形式只有一种 变量名
实参的表现形式有很多种 (但是把握核心的是数据)
'''
小技巧:格式越简单的越靠前 格式越复杂的越靠后
1. 位置参数
位置参数:从左到右排序
位置形参:在函数定义阶段括号内按照从左到右依次填入变量名
位置实参:在函数调用阶段括号内按照从左到右依次输入变量值
关键字实参 (可以打破位置顺序)
在函数调用阶段通过形参名=数据值的形式,指名道姓的传值
# 形参名=变量值 打破位置的限定
"""
1.位置形参与位置实参在函数调用阶段 按照位置一一对应绑定
2.位置参数在绑定的时候多一个不行少一个也不行
"""
2. 默认参数
函数在定义阶段就给形参赋值了
1.形参在函数调用阶段如果不给值 则使用默认的
2.形参在函数调用阶段给值 则使用给的
3. 可变长参数
函数无论传入多少位置,都能正常运行
*号在形参中的使用
用于接收多余的位置参数 并组织成元组的形式赋值给*号后面的变量名
**号在形参中的使用
用于接收多余的关键字参数 并组织成字典的形式赋值给**号后面的变量名
# 位置的可变表现为:*args
'''
在形参中用于接收多余的位置参数,
并组成tuple的形式,赋值给变量名
'''
在实参中使用,则会将list或tuple
打散成位置参数传入。
# 关键字的可变表现为:**kwargs
'''
在形参中接收多余的关键字参数,
并组成dict的形式,赋值给变量名
'''
会将dict中的键对值打散成关键字参数后传入。
(*与**号后可随意定义的,但在python中推荐使用*args,**kwargs)
补充参数(了解即可)
命名关键字参数
def register(name,age,*,sex,height):
print('%s,%s,%s,%s' % (name,age,sex,height))
register('lili',18,sex='male',height='1.6m')
# 传入实参后,*号后的数据需要使用关键字参数的形式打出
常见内置函数