函数: 把重复利用的代码块封装起来,多次利用起到少写代码,高效简洁的作用
内置函数: 比如 print()、len() 函数等,这些都是python为我们提供的内置函数,可以直接进行调用。
自定义函数:自己定义一段可重复使用代码的函数,简单理解就是自己创建的函数。
# 定义函数
def 函数名称([参数列表]):
函数体
[return 值]
# 调用函数
函数名称()
函数名:函数的名字,按照标识符命名规则命名
参数列表:小括号里面的参数,没有参数可以不写,有多个参数的时候中间用,(逗号)隔开
函数体:函数里要实现某个功能的代码
return 值:函数的返回值
注意:
下面是定义的一个函数,a是自定义函数名,小括号中什么都不写(没有参数)
调用函数: 函数名()例如:a();
def a():
print("Hello World!!!");
a(); # 函数的调用
例子:自定义一个函数,输入a和b,并计算两个数之和等于多少(运用到返回值)
因为要求运用到返回值,所以需要定义一个有返回值的函数,并在函数的最后写上return语句
def c():
a = int(input("请输入a的值"));
b = int(input("请输入b的值"));
return a + b;
print(c());
def b(a,b): # a和b为形参
print(a + b);
b(2,3); # 实参
注意:在调用函数时,要注意参数的传递顺序不能颠倒!
def d(a,b): # a和b为形参
return a + b;
print(d(2,3)); # 2和3为实参
注意:在调用函数时,要注意参数的传递顺序不能颠倒!
形式参数: 在定义函数求过程的时候命名的参数.告诉这里需要一个参数,你不传就用不了这个方法,定义函数的参数都是形参。
实参:实际参与运算,那么通过方法名使用这个方法的时候传的参数都是实参。
形参与实参的关系:两者是在调用的时候进行结合的,通常实参会将取值传递给形参,形参之后进行函数过程运算,然后可能将某些值经过参数或函数符号返回给调用者。
调用函数时传入实参的数量,位置和定义函数时的形参保持一致
def test(a,b,c,d)
return a + b + c + d;
print(test(1,2,3,4)); # 少传或者多传都会报错
根据形式参数来确定输入的参数值,使用关键字参数允许函数调用时参数的顺序 位置与定义时不一致
def test(a,b,c,d)
return a + b + c + d;
print(test(1,d=4,c=3,b=2));
def e(a,b,c=3):
return a + b + c
print(e(2,3))
# 当定义一个有默认值参数的函数时,有默认值的形参必须位于所有没默认值形参的后面
不定长参数传入的参数比声明函数时的参数多
加了星号 * 的参数会合并为元组(tuple)的形式,存放传入多的参数
def fun(a, *tupleb):
print("a =",a)
print("*tupleb = ",tupleb)
fun(3,4,5,6) # 调用fun函数
输出结果如下:
字典形式
def fun(a, **dictb):
print("a =",a)
print("**dictb",dictb)
fun(1 ,b=1 ,c=2 ,d=3)
答案是不可以的,代码从上往下执行,我们必须保证调用时,函数已经存在,否则就会报错误
d(3,5); # 调用
def d(a , b):
print("a+b的值为:",a+b)
运行结果如下所示:
未定义
任意输入两个数字,只让第一行和最后一行,第一列和最后一列输出 *,其它的都输出 -
def a(a,b):
for i in range(a):
for j in range(b):
if i == 0 or i == a - 1 or j == 0 or j == b - 1:
print('*',end='')
else:
print('-',end='')
print()
a(6,6)
def fun():
print('Hello World')
fun()
def fun(char):
print(char)
fun('Hi')
def fun(char,num):
print(char * num)
fun('H',5)
def fun(char,num):
for i in range(1,6):
print(char * num)
fun('r',6)
def fun(char,num,n):
'''这是函数文档注释'''
for i in range(1,n + 1):
print(char * num)
fun('p',10,6)
# 1. 求和
def sum(a,b,c):
return a+b+c
# 2.求平均值
def avg(a,b,c):
s = sum(a,b,c)
avg2 = s/3
return avg2
### 3.调用函数
x = avg(10,20,35)
print('平均值%0.3lf'%x)