/
...
/
/
Python Basic
Search
Try Notion
Python Basic
一.编译环境
#!/usr/bin/env python3 告诉L # -*- coding: utf-8 -*-
Copy
Python
二.数据结构
整数
可以用横线区分,比如10_000_000_000
字符串
包裹符问题
可以用 ' ' " "
可以用 \ 转义
可以用 r'...'r 无需转义
可以用 ''' ... ''' 自然换行
字符编码
b'...' 为字节编码
python在内存中表现为unicode
区别于字符串表面值'...'
可调用'...'.encode() 来编码
也可反向b'...'.decode('utf-8')或者b'...'.decode('ascii')
字符串格式化
运算符链接
💻代码
>>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you have $1000000.'
Copy
Python
通过% 运算符和 占位符实现
占位符格式和C语言相同
%d %f %s %x 整数 浮点数 字符串 十六进制整数
format()
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
此时占位符变成{0} {1} {1:.1f}
f-string
{...}包含的东西会用相应的变量名称替换
List
有序
添加(append) 删除( pop(i) 默认删除队尾 ) 插入元素( insert(i,a) )
各个元素类型不需要相同
可以倒序索引 a[-1] 但是不可越界
可以切片索引
🤔切片实验
可插入替换原则: 每一个切片都像一个完整的子List一样,可读写可替换,当插入这个子List时候,增加的元素在原List中插入
>>> a = [1,2,3] >>> a[1:1] = [4,5,6] >>> a [1, 4, 5, 6, 2, 3]
Copy
Python
tuple
创建后不可变
但是如果元素是一个可变的非基础元素,如List,则元素的元素可变
dict
使用键-值(key-value)存储,通过{...} 创建
原理解释-Hash表
由于Hash表的实现原理,Key不可变
避免key不存在
一是通过in判断key是否存在,其他数组型数据类型也可用,返回True or False
d.get('Thomas') 不存在则返回 None
操作
删除 pop() 只能删除Key对应的Value,
删除条目 del dict1['Key1'] popitem() 删除字典最后一条条目
和List对比
查找和插入的速度极快,不会随着key的增加而变大
需要占用大量的内存,内存浪费多
时间-空间的权衡
set
也是一组key的集合,但不存储value
要创建一个set,需要提供一个list作为输入集合 >>> s = set([1, 2, 3])
算数
/ 即使是可以整除,但得到也是浮点数
// 结果一定为整数,舍去余数