第三天总结

函数

*必须参数和关键字参数
*必须参数必须义正确的顺序传入,调用的时候必须和声明的时候保持一致

def f(name, age):
    print('I am %s , I am %d years old'%(name, age))
f(18, 'eric')

*关键字参数 #使用关键字参数可以允许函数调用时和声明时顺序不一致
python 解释器能够用参数名字匹配参数值

f(age=18, name='eric')

*默认参数 缺省参数没有传入,默认值会生效
.get()

def f(name, age, sex = 'male' ):
    print('I am %s , I am %d years old'%(name, age))
    print('Sex : %s'%sex)
f(name='李四', age=19)
f('张三', 88, sex='female')

是否显示指定参数, 方便自己阅读为目的

匿名函数

*语法 :
lambda 参数: 表达式
冒号前面是参数,可以有多个
后面的是表达式,只能是一个表达式 不写return 返回值就是表达式的结果
减少代码量, 代码看起来“优雅”

def rect(x, y):
    return x * y
area = rect(3, 5)
print(area)

使用lambda表达式

res = lambda x, y: x*y
print(res(4,5))
store = ['33',78]
s = "当当自营" if len(store) == 0 else store[0]
print(s)
def cal(x, y):
    if x > y:
        return x*y
    else:
        return x/y

calc = lambda x, y: x*y if x > y else x/y
print('使用lambda: ',calc(5,4))
print('使用lambda: ',calc(2,4))

*排序中使用lambda

stus = [
    {'name':'zhangsan', 'age': 33},
    {'name':'lisi',   'age': 12},
    {'name':'wangwu', 'age':53},
    {'name':'zaoliu', 'age': 18},
    {'name':'tianqi', 'age': 77}
]
print('排序前',stus)
# key值是按照哪个元素为依据进行排序
res = sorted(stus,key=lambda x: x['age'], reverse=True)
print('排序后',res)
res = sorted(stus,key=lambda x: x['name'])
print('name排序后',res)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容