①、系统函数 - 语言系统自带的,可以直接调用的函数:print、len、chr、ord、input...
②、自定义函数 - 开发者自己声明的函数
def 函数名(参数列表):
?函数说明文档
?函数体
①、确定函数的功能
②、函数名 见名知义
③、确定参数(形参),看实现函数的功能需不需要额外的数据,需要几个就设置几个形参
④、实现函数的功能
⑤、写说明文档
注意:声明函数的时候不会执行函数体
# 声明一个函数,打印两个数的和
def diy_sum(num1, num2):
"""
(函数功能说明区)求两个数的和
"""
print(num1 + num2)
diy_sum(10, 20)
# 声明一个函数求阶乘N!
def diy_factorial(n):
pro = 1
for x in range(1, n+1):
pro *= x
print('%d的阶乘是:%d' % (n, pro))
diy_factorial(5)
函数(实参列表)
①:回到函数声明的位置
②:传参---用实参给形参赋值(必须保证每个形参都有之,不能多也不能少)
③:执行函数体
④:确定返回值
⑤:回到函数调用的位置接着往后执行代码
1)、给参数赋默认值,默认值是什么类型,就默认参数是什么类型
2)、在形参后面加冒号加类型名,形参:类型名
3)、在形参括号后面加类型名,表示返回值的类型: # def diy_print2(a=1, b=5, c=30) -> str:
声明函数的时候参数个数不确定
①、声明函数时在参数名称前加星号*,这个参数就会变成一个元素,元组内的元素就是对应的实参;
注意:a.只能使用位置参数赋值
???b.不定长参数后面如果有其他的定长参数,那么后面的参数必须使用位置参数赋值
def func(*x):
def func(name, *grade):
def func(name, *grade, tel):
②、声明函数时在参数名称前加两个星号**,这个参数就会变成一个字典(关键字:实参值)
注意:a.只能使用关键字参数赋值
???b.*和**同时使用还是不定长参数,可以同时使用位置参数和关键字参数;(*要放到前面)
③、**一个星和两个星一起用:
def func(*args, **kwargs):
原文:https://www.cnblogs.com/anjhon/p/11892325.html