函数 类 模块 包 项目
包与文件夹的区别在于 包中有很多模块 和init文件
函数:提高编码的效率及代码的重用,把独立功能的代码块组成一个小模块
def printInfo(): #定义一个函数
print('-'*10)
print('人生苦短,我用python')
print('-'*10)
printInfo() #调用函数
def test(a,b):
" 用来完成对两个数求和 "
print("%d" % (a+b))
test(1,2) #实参1,2 对应形参a,b
help(test) #输出函数说明
def my_func(a,b);
ret = a + b;
return ret #设置返回值
print(my_func(1,100)) #调用返回值
#返回值就是程序中函数完成一件事件后,最后给调用者的结果
def num(a, b):
print(a+b)
num(b=5, a=6) #关键字参数
def num(a, b=18): #b为缺省参数 默认参数 ,缺省参数必须在形参之后
print(a+b)
num(5)
num(3,65)
四种函数类型
#无参无返
def my_pr():
print("哈哈哈")
#有参无返
def my_pr(a,b):
print(a+b)
#有参有返
def my_pr(a,b):
return a + b
print(my_pr(1, 2))
#无参有返
def my_pr():
return 10
print(my_pr())
函数的嵌套
def my_fun1():
print("最后结果")
def my_fun2():
print("fun2开始")
my_fun1()
print("fun2结束")
def my_fun3():
print("fun3开始")
my_fun2()
print("fun3结束")
print("开始")
my_fun3() #ctrl+左键 定位到函数
print("结束")
#在函数中调用另一个函数,在函数中定义函数都是函数的嵌套
不定长参数之元组
def my_func(*args):
print(args) # args返回一个元组
print(*args) # *args 返回具体的值 每一个都单独拿出来
my_func("1",10,True,3.14)
#不确定有多少个形参,传多少形参都可以
不定长参数之字典
def my_func(**kwargs):
print(kwargs) #kwargs返回一个字典
print(kwargs["name"])
print(kwargs["age"])
print(kwargs["no"])
my_func(name="小米",age=187,no=100)
def my_func(a,*args,c=10,**kwargs) #形参必须放在最前边,不定长参数之字典必须放在最后