day 14

匿名函数

lambda 参数:<代码块>

匿名函数一般不单独使用,和filter()/map()/sorted()/内置方法连用

1.sort/max/min

内置方法是原值排序

salary_dict = {
    'nick':2000,
    'wick':3000,
    'jason':5000,
    'egom':10000
}
salary_list = list(salary_dict.items())
# 方法1
def func(i):
    return i(1)

salary_list.sort(key=func)
print(salary_list)
# 方法2
salary_list.sort(key=lambdas i:i[1])
print(salary_list)

2.sorted

重新创建一个新的列表排序

salary_list = sorted(salary_list,key=lambds i:i[1],reverse = True)

3.filter过滤筛选(迭代器)

判断匿名函数的返回值的真假,真则留下

print(list(fitter(lambda i:i[1] > 5000,salary_list)))  # [('egom':10000)]

4.map绘制/映射

匿名函数的返回值是map()的结果之一

print(list(map(lambda i:i[1]+2000,salary_list)))  # [4000,5000,7000,12000]

内置方法

1.bytes 转换二进制串

bytes('中国',encoding = 'utf8')

2.chr/ord

print(cha(97))  # a
print(ord('a')) # 97

3.divmod

print(divmod(10,4)) # 取整/取余

4.enumerate(重要)

it = [1,2,3]
for i,j in enumerate(lt):
    print(i,j)  # 索引/值

5.eval把字符串的引号去掉,留下的是什么就是什么

s = '[1,2,3]'
print(eval(s))  # [1,2,3] type:str

6.hash 可变不可哈希

print(hash(1))	# 判断是否哈希,可哈希返回原值,否则报错

了解

方法 作用
abs 绝对值
all 如果全为真则为True,否则为False
any 只有有一个为真,则为真,否则为假
bin 转换为二进制
oct 八进制
hex 十六进制
dir 列出模块所有方法
frozenset 不可变集合
globals/loals 列出所有全局变量/当前位置所有变量
pow
round 四舍五入
slice 切片
sum 求和
import 通过字符串导入模块

异常处理

只能捕捉逻辑错误

try:
    代码
except Exception as e:  # 万能异常
    print(e)  # 错误描述
    代码
    
   
finally:
    代码  # 无论报错与否,最终都会执行

assert 断言

assert 条件

assert 1 == 1 # 不做处理
assert 1 == 2 # 报错

raise 主动抛出错误

内置方法使用

面向过程编程(思想)

IPO编程 == 面向过程编程

面向过程编程:类似于流水线,一步一步的往下走

优点:逻辑非常清晰

缺点:上一步错了,下一步跟着错

posted @ 2019-09-25 16:59  colacheng  阅读(101)  评论(0编辑  收藏  举报
Live2D