本篇记录python基础内容学习笔记
1. is 与 ==
- is: 用于判断两个对象是否引用同一个内存地址
- ==: 判断两个对象的值是否相等
2. 数字类型转换
- int(x)
- float(x)
- complex(x) 复数, 实数部分为 x,虚数部分为 0。
- complex(x,y)
3. 数字的操作方法
- abs(x) 绝对值
- ceil(x) 向上取整
- exp(x) 返回e的x次幂
- floor(x) 下取整
- log(x)
- max(x…)
- min(x…)
- round(x) 四舍五入
- pow(x, y)
- sqrt(x)
4. 随机方法
- random() 随机生成 [0,1)
- shuffle(lst) 随机排序
- uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。
5. 字符串操作
- 字符串连接
- 字符串重复输出
- [] 通过索引获取字符串中的字符
- [:] 截取字符串中的一部分
- in 成员运算符,如果字符串中包含给定的字符返回True
- not in 成员运算符,如果字符串中不包含给定的字符返回True
- r/R 原始字符串
- % 格式字符串
6. 字符串内键函数
- capitalize() 字符串的第一个字符串转换为大写
- center(width, fillchar)
- count(str, beg=0, end=len(string)) 返回str在string中出现的次数
- bytes.decode(encoding=”utf-8”, errors=”strict”)
- Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
- encode(encoding=’UTF-8’,errors=’strict’)
- 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
- endswith(suffix, beg=0, end=len(string))
- 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
- expandtabs(tabsize=8)
- 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
- find(str, beg=0 end=len(string))
- 跟find()方法一样,只不过如果str不在字符串中会报一个异常.
- isalnum()
- 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
- isalpha()
- 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
- isdigit()
- 如果字符串只包含数字则返回 True 否则返回 False..
- islower()
- 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
- isnumeric()
- 如果字符串中只包含数字字符,则返回 True,否则返回 False
- isspace()
- 如果字符串中只包含空白,则返回 True,否则返回 False.
- istitle()
- 如果字符串是标题化的(见 title())则返回 True,否则返回 False
- isupper()
- join(seq)
- 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
- len(String) 返回字符串长度
- ljust(width[, fillchar])
- 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
…
- 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
7. list
列表,允许出现重复的数据
1 | s = [1, 2] |
添加
1 | >>> list=[1,2] |
删除
两个常见的删除方式, del list[index]
或者 list.pop(index)
;区别在于前面是删除内存,后面是从数组中返回并删除这个元素
1 | >>> list |
更新
可以简单看成是数组的更新方式 list[index]=xxx
,需要额外注意下数组越界的问题
1 | >>> list |
长度
获取数组长度,主要利用len(xx)
1 | >>> list |
判断
查找列表中某个元素的下标 list.index(xx)
, 判断列表中是否存在 x in list
1 | >>> list |
清空
清空列表中所有的元素list.remove()
,和删除列表del list
是两码事,如下
1 | >>> list.clear() |
空列表定义
1 | >>> list=[] |
遍历
除了常见的直接for循环遍历之外,如果希望在遍历数组的同时,也知道数组的下标,可以借助enumerate
来遍历,更加方便
1 | >>> for x in list: |
8. Tuple
元组,和list的最主要区别是元组不能修改,不能修改,不能修改
定义
一般的定义如下
1 | >>> t = ('a', 'b', ['A', 'B']) |
比较特殊一点的是空元组和至于一个元素的元组,定义时,如下, 当定义一个元素的元组时,里面要加一个逗号,否则是直接赋值
1 | >>> t=() |
9. dict
字典,kv结构
定义
1 | # 空字典 |
获取
常见的根据key获取对应的value,有两种方式,如下
1 | >>> d |
更新or新增
直接采用赋值的方式进行更新或添加,key存在时,表示更新;不存在时,表示添加
1 | >>> d |
删除
可以使用pop弹出字典中的结果,也可以使用del进行删除
1 | >>> d |
需要注意,在执行删除时,如果key不存在,会抛异常
判断存在
判断字典是否包含某个key,属于比较常见的需求了,而可以通过 in 关键字来实现
1 | >>> d |
遍历
字典的遍历与其他的几个不太一样,因为是kv结构的,如果我希望在遍历的过程中,可以同时获取key,value可以怎么办?
- 利用字典的
items()
方法
1 | >>> d |
同样,如果只是想遍历字典的value,可以如下操作
1 | >>> d |
10. set
集合,与list的最大区别就是不允许出现重复的数据
定义
两种定义方式,一个是直接用大括号,一个是借助set方法
1 | >>> s = set([1,2,3]) |
需要注意的是,当定义一个空集合时,只能使用 s=set()
,因为 {}
表示的是空字典
新增
add方法来新增一个元素,当添加一个已经存在的元素时,不会有任何影响
1 | >>> s.add('a') |
删除
remove方法
1 | >>> s |
集合操作
集合与集合之间,可以使用数学中的集合运算(交集,并集等)
II. 其他
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 扫描关注
一灰灰blog
知识星球