Python 学习笔记
2019-01-11 10:30:41 111 举报
AI智能生成
Python 学习笔记, 持续更新
作者其他创作
大纲/内容
学习资料
https://www.zhihu.com/question/20702054
基础笔记
输出、输出语句
print('hello world')
input("please input!")
字符串处理
字符串便捷转义
print(r'\t')
易读换行符
print('''line1
...line2
...line3''')
...line2
...line3''')
字符数计算
len()
字符串格式化
‘Hi,%s, you have $%d.’%('xxx', 1000)
如果字符串包含%, 则用%%
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
编码和字符转换
ord() chr()
字符串替换
str.replace('', '')
运算符
and、or、not
地板初
// 除完后结果依旧为整数
空值
None
list 、tuple、dict、set
list
[1,2,3]
tuple
(1,2,3) 变量定义后不可改
dict
‘key' in d 判断key是否存在
d.get('key', defVal) 不存在返回 默认值 或 None
d.pop('key') 删除某个key
set
自动过滤重复元素
s.remove(key) 删除元素
结构语法
if elif else
for item in list
for k,v in d.items(): 同时迭代key 和 value
isinstance([1,2,3], Iterable) 判断是否可以迭代
for i, value in enumerate(['A', 'B', 'C']): enumerate可以吧list变成索引-元素对
常用函数
数据类型转换
int
float
str
bool
list() 列出一个列表
定义函数
def my_func(x);
默认参数如果是可变的list,被改变后则下次调用的时候将会生效
定义可变参数
- def func(*params); 内部接收到的 parmas 是一个tuple类型对象
关键字参数
def func(name, age, **other);
函数内部接收到关键字参数会自动组装成tuple类型对象
命名关键字参数
def person(name, age, *, city, job):
切片
string 、list 、tuple 可用
L[0:3] 开始到结束索引,不包括结束的那个
L[0:10:2] 每两个取一个
列表生成
list(range(1, 11))
[x * x for x in range(1, 11)] for循环
[x * x for x in range(1, 11) if x % 2 == 0] if 判断
[m + n for m in 'ABC' for n in 'XYZ'] 两层for循环
[d for d in os.listdir('.')] 生成当前目录下文件、目录名列表
生成器 generator
g = (x * x for x in range(10))
next(g) 取出一个元素
for n in g: 用for循环取出元素
捕
用 yield 关键字定义generator 函数,
遇到yield关键字返回, 下次执行从上次结束位置开始
遇到yield关键字返回, 下次执行从上次结束位置开始
def fib(max):
n, a, b = 0, 0, 1
while n < max:
yield b
a, b = b, a + b
n = n + 1
return 'done'
n, a, b = 0, 0, 1
while n < max:
yield b
a, b = b, a + b
n = n + 1
return 'done'
捕获StopIteration错误来捕获return值
except StopIteration as e:
print('Generator return value:', e.value)
print('Generator return value:', e.value)
迭代器 Iterator
map/reduce
r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
filter() 过滤
实践应用
0 条评论
下一页