函数
def fact(n): def是函数的开头 fact是函数名 n是参数
xxx
return s 返回值
def fact(n,m=1): n是必选参数 m=1是可选参数 就是可以 fact(10) 也可以 fact(10,5) m可以被赋值 也可以默认值
def fact(n,*b):
s=1
for i in range(1,n-1)
s *= i
for item in b:
s *=item
return s return也可以返回多个返回值 return s//m,n,m 他会按元组类型返回如(725760,10,5) 也可以后面什么都不跟 比如return 就是什么都不返回
fact(10,3)
fact(10,3,5,8) 就是*b是可变参数 随便这个位置填多少个参数 他会依次代替函数中b的位置
函数中使用global a 就是表明a是全局变量 如果在函数之外之间定义变量 也是全局变量 但是在函数内定义一个变量 那就是局部变量
但是如果在函数外定义了一个变量列表
比如
ls = [“F”,“f”] 通过使用[]真实的创建了一个全局变量列表ls
def func(a):
//如果这里添加这一句 ls = [] 则此处ls是列表类型 真实创建ls是局部变量 后面的结果就会变成 [“F”,“f”] 因为函数里面的局部变量列表不会影响到外部的全局变量列表
ls.append(a) 此处ls是列表类型,未真实创建 则等同于全局变量
return
func(“C”) 全局变量列表ls被更改
print(ls)
则 结果是[“F”,“f”,“C”]
lambda函数
f = lambda x,y : x * y 就是一个简易的一行函数 前面的 x,y就是代表这个函数的参数 后面的是函数的内容
f(10,15)
结果是25
f = lambda : “lambda函数” 这里代表函数没有参数
print(f())
结果是 lambda函数
紧耦合 两个部分之间交流很多,无法独立存在
松耦合 两个部分之间交流较少,可以独立存在
模块内部紧耦合,模块之间松耦合