python 中的函数
函数基础知识
函数的作用:将常用功能封装起来,具有明确的功能,能够隐藏细节,减少代码复杂度,具有复用性,如下代码展示了一个函数:
a = 1.12356
print(round(a,2))
# round(number, ndigits=None)) // 四舍五入
# 控制台中输入 help(func) 可以快速查看内置函数信息
# 查看python 之禅 import this
函数的定义
语法:
def funcname(parameter_list):
pass
parameter_list 可以没有;函数中使用return 返回值;如果没有return 则默认返回 None;函数执行到return后,即停止执行。
示例:
def add(x,y):
result = x + y
return result
def print(code):
print(code)
#自定义函数不能和内置函数同名,自己调用自己 报错 Traceback
如何设置函数允许最大的递归层数
在文件头部声明:
import sys
sys.setrecursionlimit(10000)
形参和实参
def add(x,y):
result = x + y
return result
# x,y 形参
a = add(1,2)
# 1,2 实参
返回结果
同时返回多个结果
def damage(skill1,skill2):
return skill1,skill2
同时接收多个参数
sk1_damages,sk2_damages = damage(3,6) # 序列解包方式 接收结果
print(sk1_damages)
序列解包相关知识
a,b,c = 1,2,3
"""
等同于
a = 1
b = 2
c = 3
"""
d = 1,2,3
# 等同于
d = (1,2,3)
a,b,c = d
#另外一个例子
a=b=c=1
"""
a = 1
b = 1
c = 1
"""
函数的参数
必须参数
函数参数列表中定义的参数必须传递,传递的参数参与到函数运算,必须参数在调用时必须考虑传入顺序。
def add(x,y)
return x + y
#在调用add函数时必须传入x,y,且按序
add(2,1)
# 关键字参数,调用时可忽略顺序
add(x=2,y=1)
默认参数
下面定义了一个不含默认参数的函数:
def print_student_info(name, gender, age, college):
print('我叫' + name)
print('我今年' + str(age) + '岁')
print('我时' + gender + '生')
print('我在' + college + '上学')
print('-------------------------')
print_student_info('李小萌','女',17,'市三中')
下面定义了一个含有默认参数的函数
默认参数的定义:即给定了默认值的参数,定义和调用时默认参数需要放在参数列表最后
def print_student(name, gender='男', age=18, college='红星小学'):
print('我叫' + name)
print('我今年' + str(age) + '岁')
print('我时' + gender + '生')
print('我在' + college + '上学')
print('-------------------------')
print_student('李亮','女',12)
# 使用关键字传参
print_student('果果', age = 19)
调用时默认参数需要放在参数列表最后
print_student('丁丁',gender='女',17,college='大三鹿中学')
# SyntaxError: positional argument follows keyword argument