数据类型

  • 布尔型:bool

  • 数值: int

  • 字符串: str

  • 元组: tuple

  • 列表: list

  • 字典: dict

  • 集合: set

  • 类类型

  • None

  • 深浅 copy

布尔型 bool (不可变类型)

  • 值范围:{True, False}

True

bool(1)
bool(0b01))
bool(-1.2)
bool('s')
bool([1])

Flase

数值

  • 整型

    • 整型 int

    • 长整型 long

    • Python 3 里都是整型

  • 浮点型

整型 int (不可变类型)

  • 10进制:{0,9}

  • 2进制:{0,1}

    • 表示法:0b10

  • 8进制:{0,7}

    • 表示法:0o10

  • 16进制:{0,f}

    • 表示法:0xff

  • 转换2进制:

    • 10->2 : bin(10)

    • 8->2 : bin(0o10)

    • 16->2 : bin(oxff)

  • 转换10进制:

    • 2->10 : int(0b111)

    • 8->10 : int(0o10)

    • 16->10: int(oxff)

  • 转换8进制:

    • 2->8 : oct(0b111)

    • 8->8 : oct(0o10)

    • 16->8: oct(oxff)

  • 转换16进制:

    • 2->16 : hex(0b111)

    • 8->16: hex(0o10)

    • 16->16: hex(oxff)

int 类型方法

bit_length() 当前数字占用二进制最少位数

bin(18) => 0b10001 => 5 bit

__abs__() 绝对值

abs() 内部创建数组对象并调用abs()数字方法

__add__(y) 加号运算, 等于加号+

__divmod__(y) 返回元祖,分页场景使用

__float__() 类型转换

__floordiv__() floor 想下取整

__ge__() 大于等于

__le__() 小于等于

help(10), help(int) 帮助函数

长整型 long (不可变类型), Python3 不支持

203020930239

复数 complex

j表示复数 (5+4j)

浮点类型 float (不可变类型)

3.141592

sys.float_info

复数:3+6e

字符串:str (不可变类型)

字符串表示法

  • 单引号

  • 双引号

  • 三引号

字符串连接整型必须转换字符串类型

str(1)+"string"

  • 字符串连接

路径字符串

r'C:\now\fishc\ca'

字符串长度

len(str)

字符串索引

字符串切片

字符串操作

查找子串:find, rfind, index, rindex

查找子串数量:count

0 | 字符串中子串个数 str.count(search [, start=0, end=len(search)]) 0 | 字符串中子串个数 str.count("llo") # 2

替换字符串:replace

newstr str.replace(old, new [,str.count(old)])

newstr str.replace("llo","good") # hegood world hegood hi ho are you

对原字符串没有影响

count 替换次数

分割字符串:split, 自动识别空白字符

单词首字母大写:title

以特殊字符作为分隔符作为单词边界

str.title() # Hello World Hello Hi Ho Are You

串前缀开始、后缀结束:startswith,endswith

  • 上传文件

  • 检查后缀名

  • 检查内容

单词首字母大写

str.capitalize()

大小写转换:lower,upper

tab键个数

'hello\t word'.expandtabs(tabsize=20)

对齐:ljust,rjust,center

修剪:lstrip,rstrip,strip

分割三部分:partition,rpartition, 返回元组

行切割:splitlines,返回列表

只包含字符则返回 True 否则返回 False:isalpha

只包含数字则返回 True 否则返回 False: isdigit

合并:join

元组 tuple

只读列表

定义元组

访问

t[index]

修改:不能

删除:不能

t.index(ele) t.count(ele)

list 列表 (可变类型)

创建列表

添加

删除

修改

li[index] = value

切片

li[start:end]

元素次数

li.count(ele)

索引位置

error|int li.index(ele)

查询:in, not in 是否[不]存在

boolean "元素" [not] in LIST

max, min

倒序

name_list.reverse()

排序

name_list.sort() # 升序

ASCII码顺序:数字,特殊字符,字母

sorted(li) 函数

降序

name_list.sort(reverse=True)

range()

字典 dict (可变类型)

创建字典

存在就覆盖,否则就增加

di={'k1':'v1','k2':'v2'}

修改字典

di["k1"]="value"

添加字典

di["new"]="new value"

删除字典

error|bool del di["k1"]

删除元素

查询值

元素个数

len(di)

key 列表

返回没有索引的键列表

di.keys()

value 列表

返回没有索引的值列表

di.values()

items (键,值)元组的列表

返回键值对

di.items()

[('k1','v1'),('k2','v2')]

遍历

排序元祖

设置值:键存在,不改动,返回字典中响应的键对应的值

d.setdefault("age",34)

设置值:键不存在,再字典中增加新的键值对,并返回相应的值

d.setdefault("age",34)

键值对儿

dict.fromkeys([A,B,C],D)

强制类型转换

获取变量数据类型

type(变量)

集合

集合元素不能有重复值

集合:可变的数据类型,元素必须是不可变的数据类型,无序,不重复

查看方法

Counter

有序字典 orderedDict

默认字典 defaultDict

可命名元祖(namedtuple)

创建一个包含tuple 所有功能以及其他功能的类型

队列(deque)

Python 内置的一个线程安全的双向队列

  • 单向队列

  • 双向队列

深浅拷贝

  • 对于数字和字符串类型,深浅拷贝都是同一个内存地址

可变类型不能作为字典的key

根据key找到对应的value,是因为通过获得的哈希值(哈希表中有对应的内存地址)找到key对应的值。同一个字典中不能相同的key,因为不能有相同的哈希值。

Last updated

Was this helpful?