def hello():
print("Hello world!")
print("Hello world!")
print("Hello world!")
def my_func():
print("我爱python")
print("开始")
my_func()
print("结束")
def my_sum(a,b):
print(a+b)
my_sum(10,20)
实参可以是常量,变量,表达式,而形参只能是变量
定义函数时,形参没有值,只是一个变量名
自带的len函数就是返回值函数
print(len("hello python"))
def my_sum(a, b):
return a + b
print(my_sum(10, 20))
计算圆半径的函数(平方就是2个*号)
def cir(r):
pai=3.14
return pai*r**2
print(cir(10))
局部变量从调用函数的时候开始在内存出现,函数调用完毕,局部变量从内存消失
如果一个函数内部定义了局部变量,但这个函数没有被调用,那么局部变量也不在内存中存在
全局变量一般定义在函数定义的上方
全局变量从定义变量开始在内存中出现,一直到程序运行完成,和程序一起从内存中消失
当需要在函数内部修改全局变量的值,修改前需要用global修饰全局变量的名字
num=1
def my_fun1():
global num
num=10
return num
def my_fun2():
return num
print(my_fun2()) # 1
print(my_fun1()) # 10
print(my_fun2()) # 10
如果函数的参数为数字或者字符串,在函数内部,针对形参使用赋值语句,不会影响调用函数时传递的实参的值
def my_func(a):
a+=1 # 修改了形参a的值
print(a)
a=10
my_func(a) # 11
print(a) # 10
形参本质就是一个局部变量
如果函数的参数为列表,集合,字典等类型,函数内部修改了参数的内容,会影响到外部的数据
a=[1,2,3]
def my_test1(a):
a[0]=10
print(a) # [1,2,3]
my_test1(a)
print(a) # [10,2,3]
不能把缺省值的形参写在没有缺省值形参的前面
def my_func1(a=10,b):
print(a,b)
def my_func2(a,b=100):
print(a,b)
my_func2(1) # 1 100
my_func2(1,2) # 1 2
# def my_sum(a,b):
# return a+b
my_sum=lambda a,b:a+b
num1=my_sum(3,4)
print(num1) # 7
num1=(lambda a,b:a if a>b else b)(3,4)
print(num1)
lambda注意事项
匿名函数内部只能有一条语句,而且这条语句要有个具体的值返回
匿名函数不能使用print