Python内置类型

int

bit_length()

返回以二进制表示一个整数所需要的位数
在这里插入图片描述

to_bytes(length, byteorder, *, signed=False)

返回表示一个整数的字节数组, length表示用多少个字节来表示整个整数,如果length个字节不足以表示这个整数会抛出OverflowError异常

byteorder则是大端(big)和小端(little)字节序,可以通过sys.byteorder 获取到系统的使用的字节序,

signed表示是否使用补码来表示整数
在这里插入图片描述

from_bytes(bytes, byteorder, *, signed=False)

返回由给定字节数组所表示的整数

float

is_integer()

如果 float 实例可用有限位整数表示则返回 True,否则返回 False。就判断它小数点后是不是都是0
在这里插入图片描述

hex()

以十六进制字符串的形式返回一个浮点数表示
在这里插入图片描述
这东西实际应用中没什么用,主要是因为Python浮点数并不准确,调试的时候可以转成十六进制

fromhex(s)

返回以十六进制字符串 s 表示的浮点数的类方法

通用序列操作

通用序列,如list, set, tuple, str等

运算结果
x in sx是s的其中一个元素 则结果为 True,否则为 False
x not in sx不是s的其中一个元素 则结果为 True,否则为 False
s+ts 与 t 相拼接
s[i]s 的第 i 项,起始为 0
s[i:j]s 从 i 到 j 的切片
s[i:j:k]s 从 i 到 j 步长为 k 的切片
len(s)s 的长度
min(s)s 的最小项
max(s)s 的最大项
s.index(x[, i[, j]])x 在 s 中首次出现项的索引号(索引号在 i 或其后且在 j 之前)
s.count(x)x 在 s 中出现的总次数
in和not in

在一些特殊序列中,in和not in不只可以用于元素检测,也可以用于子序列检测,比如:str、bytes和bytearray
"gg" in "eggs"

s * n

有个容易错的地方,先看代码:

在这里插入图片描述
只修改lists[0]这个列表,三个元素都变了。因为*运算符并不会复制生成新的元素,只是同样的引用
在这里插入图片描述

s[i:j]

如果i和j为负数,则会被替换成 len(s)+ilen(s)+j

如果i、j大于len(s),则取len(s);如果i省略或为None,则取0;如果j省略或者未None,则取len(s);如果i大于j,则切片为空

s + t

对于不可变对象,会生成一个新的对象。运行时开销将会基于序列总长度的乘方,想要获得线性的运行时开销,有如下建议

  • 如果拼接 str 对象,你可以构建一个列表并在最后使用 str.join() 或是写入一个 io.StringIO 实例并在结束时获取它的值
  • 如果拼接 bytes 对象,你可以类似地使用 bytes.join() 或 io.BytesIO,或者你也可以使用 bytearray 对象进行原地拼接。 bytearray 对象是可变的,并且具有高效的重分配机制
  • 如果拼接 tuple 对象,请改为扩展 list

可变序列操作

运算结果
s[i] = x将 s 的第 i 项替换为 x
s[i:j] = t将 s 从 i 到 j 的切片替换为可迭代对象 t 的内容
del s[i:j]等同于 s[i:j] = []
s[i:j:k] = t将 s[i:j:k] 的元素替换为 t 的元素
del s[i:j:k]从列表中移除 s[i:j:k] 的元素
s.append(x)将 x 添加到序列的末尾
s.clear()将 s 的第 i 项替换为 x
s.copy()从 s 中移除所有项 (等同于 del s[:])
s.extend(t) 或 s += t用 t 的内容扩展 s (基本上等同于 s[len(s):len(s)] = t)
s *= n使用 s 的内容重复 n 次来对其进行更新
s.insert(i, x)在由 i 给出的索引位置将 x 插入 s (等同于 s[i:i] = [x])
s.pop(i)提取在 i 位置上的项,并将其从 s 中移除, i默认为-1
s.remove(x)删除 s 中第一个 s[i] 等于 x 的项目
s.reverse()就地将列表中的元素逆序

list

sort(*, key=None, reverse=False)

对该列表进行排序

str

两个连续的字符串会被隐式的拼接成一个字符串
在这里插入图片描述

str的常用方法
  • endswith|startswith: 判断某个字符串是不是以什么开头或结尾,参数可以是字符串,也可以是字符串组成的元组
    在这里插入图片描述

  • count: 判断某个子字符串在另一个字符串出现的次数,
    在这里插入图片描述

  • rindex|index|find: 在字符串中查找另一个字符串出现的第一个索引位置
    在这里插入图片描述

  • format: 格式化字符串

  • isdigit|isalpha|isalnum: 判断字符串是否全是数字|字母|(字母或数字)
    在这里插入图片描述

  • join: 字符串序列拼接成一个字符串
    在这里插入图片描述

  • lstrip|rstrip|strip: 移除开头末尾的字符串,注意:不是出现整个时才会移除,而是会移除字符串中的任意一个字符。a.lstrip(b),会从左开始遍历a,如果该字符在b中,则移除,直到遇到不属于b的字符。
    在这里插入图片描述

  • rsplit|spilt| : 根据给定的字符串切割另一个字符串
    在这里插入图片描述

  • replace: 替换字符串为新字符串
    在这里插入图片描述

str的所有方法
  • str.capitalize(): 返回一个首字母大写的副本
  • str.casefold():返回原字符串消除大小写的副本,类似于转小写,但更彻底,比如德语小写字母 ‘ß’ 会转化为 “ss”
  • str.center(width[, fillchar]): 返回长度为width的字符串,左右用相同数量的fillchar字符填充,默认是空格
  • str.count(sub[, start[, end]]):返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数
  • str.encode(encoding=“utf-8”, errors=“strict”):返回原字符串编码为字节串对象
  • str.endswith(suffix[, start[, end]]):如果字符串以指定的 suffix 结束返回 True,suffix 可以给定多个字符串的元组
  • str.expandtabs(tabsize=8): 将字符串中的\t替换成tabsize个空格
  • str.find(sub[, start[, end]]): 返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引,如果未找到,则返回-1
  • str.format(*args, **kwargs): 格式化字符串
  • str.format_map(mapping):类似于 str.format(**mapping)
  • str.index(sub[, start[, end]]):同find
  • str.isalnum():如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True
  • str.isalpha():如果字符串中的所有字符都是字母,并且至少有一个字符,返回 True
  • str.isascii(): 如果字符串为空或字符串中的所有字符都是 ASCII ,返回 True
  • str.isdecimal(): 如果字符串中的所有字符都是十进制字符且该字符串至少有一个字符,则返回 True
  • str.isdigit():如果字符串中的所有字符都是数字,并且至少有一个字符,返回 True
  • str.isidentifier():如果字符串是有效的标识符,返回 True
  • str.islower():如果字符串中至少有一个区分大小写的字符 且此类字符均为小写则返回 True
  • str.isnumeric():如果字符串中至少有一个字符且所有字符均为数值字符则返回 True
  • str.isprintable():如果字符串中所有字符均为可打印字符或字符串为空则返回 True
  • str.isspace():如果字符串中只有空白字符且至少有一个字符则返回 True
  • str.istitle():如果字符串中至少有一个字符且为标题字符串则返回 True
  • str.isupper():如果字符串中至少有一个区分大小写的字符 且此类字符均为大写则返回 True
  • str.join(iterable):返回一个由 iterable 中的字符串拼接而成的字符串
  • str.ljust(width[, fillchar]):返回长度为 width 的字符串,原字符串在其中靠左对齐,用fillchar填充
  • str.lower(): 所有区分大小写的字符 均转换为小写
  • str.lstrip([chars]): 移除开头所有的chars指定的字符,默认所有空白字符
  • str.maketrans(x[, y[, z]]): 返回一个可供 str.translate() 使用的转换对照表
  • str.partition(sep): 在 sep 首次出现的位置拆分字符串
  • str.replace(old, new[, count]): 出现的所有子字符串 old 都将被替换为 new.如果给出了可选参数 count,则只替换前 count 次出现
  • str.rfind(sub[, start[, end]]): 返回子字符串 sub 在字符串内被找到的最大(最右)索引,未找到返回-1
  • str.rindex(sub[, start[, end]]): 同rfind,但未找到会触发ValueError异常
  • str.rjust(width[, fillchar]):居右对齐
  • str.rpartition(sep):在 sep 最后一次出现的位置拆分字符串,返回一个 3 元组
  • str.rsplit(sep=None, maxsplit=-1): 从最右边开始用sep切割字符串
  • str.rstrip([chars]):移除末尾的指定字符
  • str.split(sep=None, maxsplit=-1):从左用sep切割字符,默认用空白符切割
  • str.splitlines([keepends]):用行分隔符来切割,keepends表示要不要在字符串末尾保留分隔符
    在这里插入图片描述
  • str.startswith(prefix[, start[, end]]):是否以prefix开始
  • str.strip([chars]):移除前后指定的chars
  • str.swapcase():大小写反转
  • str.title():每个单词首字母大写
  • str.translate(table):按给定的转换表进行映射
  • str.upper():所有区分大小写的字符 均转换为大写
  • str.zfill(width):右对齐,用0填充字符
%的用法

格式:%[1][2][3][.4][5] 例如:"%(name)#10.2f" % {"name": 32434.22222}

  1. ()里面写关键字参数,比如(name)
  2. 旗帜符,总共有五个#,0,-, ,+,
  3. 格式化的字符串的长度,比如python想格式化成10个字符就写10,默认填充空格,可根据旗帜符控制
  4. 浮点数精确到小数点后几位
  5. 格式化控制符(下面称转化符)

除了第五个,其他都可以省略

1、关键字参数
其中name表示取后面字典中name的值,#表示替换的形式,比如#x表示格式化成0x的字符串。10表示字符的宽度,默认用空格填充。.2表示如果是浮点数则精确到小数点后两位,f表示要格式化的值是个浮点数

如果给定了(name)的形式,则%后面跟的必须是字典类型的,否则是元组或单个值

2、旗帜符

  • #: 如果后面是x,则加上0x(十六进制),如果是o则加上0o(八进制)
  • 0: 用0来填充,
  • -: 填充时左对齐,
  • ' '(空格): 正数(或空字符串)前将留出一个空格,
  • +: 在前面加上+和-号

3、格式化控制符

转化符 -含义
di有符号十进制整数
o有符号八进制数
x X有符号十六进制数
eE浮点指数格式
fF浮点十进制格式
gG浮点格式
c 单个字节
b 字节串,只支持bytes或bytearray
s 字符串 , 可以对任何对象使用,相当于str(obj)
a r字节串,可以对任何对象使用 相当于repr(obj).encode('ascii','backslashreplace)
%没什么含义,就输出%

在这里插入图片描述

str.format

格式:{[field_name] [! conversion] [:format_spec] }

  • field_name: 关键词或位置,比如name或0,也可以不写,比如:{}
  • conversion: 有三个值 s会调用str,r会调用repr,a会调用ascii
  • format_spec: 是否格式化语法,但比%要复杂一点

位置参数
在这里插入图片描述
关键字参数
在这里插入图片描述
conversion用法
在这里插入图片描述

format_spec格式:[[fill]align][sign][#][0][width][grouping_option][.precision][type]

[[fill]align]
  • fill: 填充的字符,默认空格。给了fill必须给align
  • align:对齐方式,< 左对齐 >右对齐 = 填充字符放在±号之后,^居中
    在这里插入图片描述
[sign][#][0][width]
  • sign: 是否显示±号,+正负都显示, -负数显示, 正数前加空格,负数使用-号
  • #: 和%的一个意思,十六进制加0x,八进制加0o
  • 0: 填充0,与fill区别在于填充会放在±和0x之后
  • width: 格式化的字符串宽度

在这里插入图片描述

[grouping_option][.precision][type]
  • grouping_option: 有两个取值:_,,大概就是把1000变成1_000和1,000
  • precision:表示精确到小数点后几位
  • type:和%的格式化控制符基本一样,比如s,d等。不同的地方:%会将数字乘以100然后在后面加个%,可以使用日期相关的格式控制符

49bea596a3c783ffe6ef.png)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值