格式:
def 函数名():
函数中的代码
规则:
在一个函数中调用另一个函数
def 函数名(): # 返回值 None
pass # 代码中没有 return
def 函数名():
return # return 后边没有数据, 返回值 None
def 函数名():
return xx # 返回值是 xx
def func(list1):
list1=[2,1] #list1变量 引用发生改变,但在调用时的实参是不变的
print(list1,id(list1))
mylist=[2,1]
print(mylist,id(mylist))
func(mylist)
print(mylist,id(mylist))
def func(list1):
list1+=[1,2]
print(list1,id(list1))
mylist=['a','b']
print(mylist,id(mylist))
func(mylist)
print(mylist,id(mylist))
1. c=a a=b b=c
2.
a=a+b
b=a-b
a=a-b
3.python交换两变量值方法
a,b=b,a
# 组包
c = b, a # 组包
print(type(c), c) # (10, 20)
# 拆包
a, b = c
print(a, b) x, y, z = [1, 2, 3]
print(x, y, z)
将 多个数据值组成容器进⾏返回, ⼀般是元组(组包)
def func():
num1=1
num2=1
num3=1
return num1,num2,num3
def func(a, b, c):
print(f'a: {a}, b: {b}, c: {c}')
# 位置传参
func(1, 2, 3)
# 关键字传参
func(a=2, b=3, c=1)
# 混合使⽤
func(1, 3, c=5)
def func(a,b=1):
print(a,b)
func(1)
# 运行结果1,1
def 函数名(普通函数,
*args, 缺省参数,
**kwargs):
pass
def func(*args,
**kwargs):
print(type(args), args)
print(type(kwargs), kwargs)
print('-' * 30)
func()
func(1, 2, 3) # 位置传参, 数据都给 args
func(a=1, b=2, c=3) # 关键字传参, 数据都给 kwargs
func(1, 2, 3, a=4, b=5, c=6)
list1=[1,2,3]
利用func(*list1),将list1中的数据1,2,3作为不定长位置参数传给func(*args,**kwargs)
dict1={‘a’:1,'b‘:2,‘c’:3}
利用func(** dict1)将字典中的数据转换为a=1,b=2,c=3作为不定长关键字传参传给func(*args,**kwargs)
sumab=lambda a,b:a*b
func1=lambda x:x.get('age')
func2=lambda x:x.['age']
list1.sort(key=lambda x:x[age])
list1.sort(key=lambda x:x[age],reverse=Ture)
# 说明: 匿名函数中的参数是 列表中的数据, 在 sort 函数内部,会调⽤ key 这个函数(将列表中每个数据作为实参传递给形参),
# 从列表中的获取函数的返回值, 对返回值进⾏⽐⼤⼩操作(<)
def get_value(x):
return x['age']
user_list.sort(key=get_value)