函数
def : 定义函数的关键字
函数名 : 定义的函数名字,函数名要遵循变量的命名规则
( ) :括号内叫形参
功能 :
- return——返回值,可以有,也可以没有,没有默认返回一个None。return之后代表函数结束,下边不能再有其他功能
- 表达式——返回个函数调用者信息
- 函数执行——函数名()
def name(user):
print("my name is %s!"%(user))
name("tom")
def tell(name,user):
print(%s said to %s"%(name,user))
tell(user="tom",name="jerry"):
#带默认值的参数必须放到形参最后
def tell(name,user = "jerry"): #默认值参数,如果有参数,会覆盖默认值参数
print(%s said to %s"%(name,user))
tell("tom")
def tell(fist_name,last_name):
full_name = fist_name+" "+last_name
return full_name
print(tell("tom","jerry")
全局变量和局部变量
全局变量:顶格写,任何地方可以使用
局部变量:在代码组中定义的变量,要在代码组外使用,用global声明
def : name():
global B
B="df"
print(B)
不定长参数
def sum(*args): # *垃圾回收站,不能接受关键字参数,要放在形参最后边
sum=0
for var in args:
sum+=var
return sum
res = sum(1,2,3,4,5,6)
print(res)
# **接收不定长关键字参数
def operation(**a):
print(a)
operation(a = 1,b = 2,c = 3) #输出字典
闭包
内部函数调用外部函数(非全局变量)则称内部函数为闭包
调用一个函数 返回一个新函数回来,这个函数叫闭包
def outer(num1):
def inner(num2):
return num1+num2
return inner
res = outer(20)
result = res(10) #输出30
# print(outer(20)(10))
闭包函数引用外部局部变量的前提是内部没有这个变量