函数 Function
在计算机中我们称之为函数,在现实生活中称之为功能,函数就是能实现特定功能的计算机代码,它是一种特定的代码组结构
函数的作用
- 提高代码的重复利率, 避免重复开发相同的代码
- 提高程序的开发效率
- 便于程序维护
函数的命名规范
- 推荐使用英文,禁止使用中文
- 可以使用数字,但不能使用数据开头
- 不可以使用特殊字符,除了下划线_
- 函数名严格区分大小写
- 不能和系统保留关键字相同
函数的使用
基本格式
函数的特征:函数定义之后,不会自动执行,只会在调用的时候执行。不调用,不执行。
def 函数名():
pass
#####################################################################
示例:
#定义函数
def funName():
pass #此处编写功能代码
funName() #调用
带有参数的格式
形参:形式上的参数,声明函数时,括号()中的参数,是形参。
实参:实际上的参数,调用函数是,括号()中的参数,是实参。
实参将值传递给形参的本质过程,本质上就是简单的变量赋值。
def 函数名(参数1,参数2...):
pass
#############################################################
示例:
#定义带有参数的函数
def funName(arg):
print('接收到的参数:',arg)
funName(666) #调用
带有默认值的参数格式
如果形参有默认值,调用时可以不需要传参,系统会直接使用参数的默认值。
调用时给有默认值的参数传参,实参会覆盖形参的默认值。本质上就是变量的重新赋值。
def 函数名(参数1 = 值1,参数2 = 值2...):
pass
#################################################################
示例:
#定义带有默认值参数的函数
def funName(arg = 'jack'):
print('参数值:',arg)
funName() #调用方式一
funName('mark') #调用方式二 调用时传的参数会覆盖默认值
使用关键字参数格式
关键字参数就是调用函数时,在实参前面指定形参的做法,为了防止参数按照位置传递出现的错误.
函数名(形参1 = 实参1,形参2 = 实参2...)
####################################################################
示例:
#定义带有默认值参数的函数
def funName(name = 'jack',age = 18,sex = 'man'):
print('name:',name)
print('age:',age)
print('sex:',sex)
funName(8,'二狗','Superman') #参数较多时赋值顺序颠倒,将会影响程序执行结果
funName(age = 8,name = '二狗',sex = 'Superman') #关键字参数赋值完美解决上面的问题
收集集数使用办法
收集参数可以收集的参数不受数量限制
多种参数混合使用应当注意的 定义函数时尽量避免多种参数格式混合(普通参数,关键字参数,两种收集参数)
- 普通参数和关键字参数必须在两种收集参数之前
- 非关键字收集参数,必须在关键字收集参数之前
- 如果多种参数混合在一起用,必须注意禁止参数多次赋值操作(普通参数赋值在前,关键字参数赋值在后)
非关键字收集参数
- 非关键字收集参数,在形参前添加一个*即可
- 非关键字收集参数,收集的实参会组成一个元组
- 非关键字收集参数,接受没有任何形参接受的非关键字实参
- 非关键字收集参数,可以和普通的形参共存
def 函数名(*参数名):
pass
############################################################
示例:
#定义带有非关键字收集参数的函数
def funName(*arg):
for v in arg: #遍历
print(v)
funName(1,2,3,'a','b','c') #调用
关键字收集参数
- 关键字收集参数,在形参前添加两个*
- 关键字收集参数,收集的实参会组成一个字典,形参名作为键,值作为值
- 关键字收集参数,仅接收没有任何形参接收的关键字参数
- 关键字收集参数,可以和普通的形参共存
def 函数名(**参数名):
pass
################################################################
示例:
#定义带有关键字收集参数的函数
def funName(**car):
for v in car: #遍历
print(v,'value : ',car[v])
funName(a = '卡车',b = '火车',c = '公交车') #调用
理论
- 三种形参可以在一个函数中共存的
- 两种实参也可以在一个函数的调用中共存
- 实参中,普通实参必须位于关键字实参之前
- 实参中,不可以为同一个形参传送2个以上的值
- 同一个形参只能接收一个实参,2个或2个以上会报错
- 收集参数可以在普通形参之前,也可以在普通形参之后
- 收集参数必须在关键字收集参数之前
- 普通形参只能出现在收集参数的前面或后面,不能同时出现前面跟后面
注意:实参跟形参
形参:形式上的参数,声明函数时,括号()中的参数,是形参。
实参:实际上的参数,调用函数是,括号()中的参数,是实参。
实参将值传递给形参的本质过程,本质上就是简单的变量赋值。
普通形参,收集参数,关键字收集参数 ==> 形参
普通实参,关键字参数 ==> 实参
转载请注明原文链接:python函数
共有 0 条评论