5 内置类型 ¶
5.1. 真值测试 ¶
无 False(错误) 任何数字类型的零,例如, 0 , 0升 , 0 , 0j个 . 例如任何空序列, '' , () , [] . 任何空映射,例如, {} . 用户定义类的实例,如果该类定义了 __非零____() 或 __透镜_() 方法,当该方法返回整数零或 布尔 价值 False(错误) . 1
5.2. 布尔运算- 和
, 或
, 不
¶
这是一个短路运算符,因此它只计算第二个 如果第一个为假,则进行辩论。 这是一个短路运算符,因此它只计算第二个 如果第一个是真的。 不 优先级低于非布尔运算符,因此 不 一 == b 是 解释为 不 (a) == b) 、和 一 == 不 b 是一个语法错误。
5.3. 比较 ¶
!= 也可以写 <> ,但这是一种过时的用法 仅为向后兼容而保留。 新代码应始终使用 != .
5.4. 数字类型- 整数
, 浮动
, 长的
, 复杂的
¶
对于(普通或长)整数除法,结果是一个整数。 结果是 总是朝负无穷大舍入:1/2为0,(-1)/2为-1,1/(-2)为-1,并且 (-1)/(-2)为0。 请注意,如果任一操作数是 长整数,与数值无关。 使用从浮点转换 int() 或 long() 截断为 像相关函数一样为零, math.trunc() .使用功能 数学.floor() 向下取整 数学.cell() 使变圆 向上。 请参阅 内置功能 以获取完整描述。 也称为整数除法。 结果值是一个整数, 尽管结果的类型不一定是int。 float还接受带有可选前缀“+”的字符串“nan”和“inf” 或“-”表示非数字(NaN)和正负无穷大。 2.6版中的新增功能。 Python定义 功率(0, 0) 和 0 ** 0 成为 1 ,这是常见的 编程语言。
5.4.1. 整数类型的逐位运算 ¶
the bits of |
负移位计数是非法的,并导致 值错误 待提出。 左移位 n个 位等于乘以 功率(2, n) .A型 如果结果超出普通整数的范围,则返回长整数。 右移 n个 位等于除以 功率(2, n) .
5.4.2. 关于整数类型的其他方法 ¶
-
内部。 比特长度 ( ) ¶
-
长。 比特长度 ( ) ¶ 返回以二进制表示整数所需的位数, 不包括符号和前导零: >>> n个 = - 37 >>> 箱子 ( n个 ) “-0b100101” >>> n个 . 比特长度 () 6 更准确地说,如果 x个 则为非零 x.位长度() 是 唯一正整数 k个 这样的话 2**(k-1) <= 腹肌(x) < 2**k个 . 等效地,当 腹肌(x) 足够小,可以正确使用 四舍五入对数,则 k个 = 1 + int(log(abs(x), 2)) . 如果 x个 那么是零 x.位长度() 收益 0 . 相当于: 定义 比特长度 ( 自己 ): 秒 = 箱子 ( 自己 ) #二进制表示:bin(-37)-->“-0b100101” 秒 = 秒 . l行程 ( “-0b” ) #删除前导零和减号 返回 伦恩 ( 秒 ) #长度('100101')-->6 2.7版新增。
5.4.3. 浮动的其他方法 ¶
-
浮动。 集成(_I) ( ) ¶ 返回 真的 如果float实例是有限的积分 值,以及 False(错误) 否则: >>> ( - 2 ) . 集成(_I) () 真的 >>> ( 3.2 ) . 集成(_I) () False(错误) 2.6版中的新增功能。
-
浮动。 十六进制 ( ) ¶ 返回浮点数的十六进制表示形式 字符串。 对于有限浮点数,此表示法 将始终包含一个引导 0x个 和一个尾随 对 和 指数。 2.6版中的新增功能。
-
浮动。 from十六进制 ( 秒 ) ¶ 类方法返回由十六进制表示的浮点 一串 秒 .字符串 秒 可能有前导和尾随 空白。 2.6版中的新增功能。
[ 签名 ] [ “0x” ] 整数 [ '.' 分数 ] [ “p” 指数 ]
>>> 浮动 . from十六进制 ( “0x3.a7p10” )
3740
>>> 浮动 . 十六进制 ( 3740 )
“0x1.d380000000000p+11”
5.5. 迭代器类型 ¶
-
容器。 __iter公司__ ( ) ¶ 返回迭代器对象。 该对象需要支持迭代器 协议描述如下。 如果容器支持不同类型的 迭代,可以提供额外的方法来具体请求 这些迭代类型的迭代器。 (支持对象的示例 多种形式的迭代将是一个树状结构,它支持 宽度优先和深度优先遍历。) 此方法对应于 tp_输入 Python/C中Python对象的类型结构槽 应用程序编程接口。
5.5.1. 发电机类型 ¶
5.6. 序列类型- 字符串
, unicode码
, 列表
, 元组
, 字节射线
, 缓冲器
, 润智
¶
什么时候? 秒 是字符串或Unicode字符串对象 在里面 和 不 在里面 操作就像子串测试。 在2.3之前的Python版本中, x个 不得不 是长度为1的字符串。 在Python 2.3及更高版本中, x个 可以是任意字符串 长度。 的值 n个 小于 0 被视为 0 (这将生成一个空 与相同类型的序列 秒 ). 注意序列中的项目 秒 未复制; 它们被多次引用。 这经常出没 新的Python程序员; 考虑: >>> 列表 = [[]] * 三 >>> 列表 [[], [], []] >>> 列表 [ 0 ] . 追加 ( 三 ) >>> 列表 [[3], [3], [3]] 发生了什么事 [[]] 是一个包含空 列表中的所有三个元素 [[]] * 三 对这个单一的引用是空的吗 列表。 修改的任何元素 列表 修改这个列表。 您可以通过以下方式创建不同列表的列表: >>> 列表 = [[] 对于 我 在里面 范围 ( 三 )] >>> 列表 [ 0 ] . 追加 ( 三 ) >>> 列表 [ 1 ] . 追加 ( 5 ) >>> 列表 [ 2 ] . 追加 ( 7 ) >>> 列表 [[3], [5], [7]] 常见问题解答条目中提供了进一步的解释 如何创建多维列表? . 如果 我 或 j个 为负,则索引相对于序列的末尾 秒 : 长度 + 我 或 长度 + j个 被替换。 但请注意 -0 仍然是 0 . 的切片 秒 从 我 到 j个 定义为具有索引的项的序列 k个 这样的话 我 <= k个 < j个 .如果 我 或 j个 大于 长度 ,使用 长度 .如果 我 省略或 无 ,使用 0 .如果 j个 省略或 无 ,使用 长度 .如果 我 大于或等于 j个 ,切片是 为空。 的切片 秒 从 我 到 j个 带台阶 k个 定义为 带索引的项 x个 = 我 + 不确定 这样的话 0 <= n个 < (j-i)/k 换句话说, 这些指数是 我 , i+k(输入+输出) , i+2*k , i+3*k 等等,当 j个 已达到(但从不包括 j个 ). 什么时候? k个 是积极的, 我 和 j个 减少到 长度 如果它们更大。 什么时候? k个 为负值, 我 和 j个 减少到 长度 - 1 如果 它们更大。 如果 我 或 j个 被省略或 无 ,它们变成 “end”值(哪一端取决于 k个 ). 注:, k个 不能为零。 如果 k个 是 无 ,它被视为 1 . CPython实施细节: 如果 秒 和 t吨 都是字符串,一些Python实现,例如 CPython通常可以对 表格 秒 = 秒 + t吨 或 秒 += t吨 适用时,此优化 使二次运行时间的可能性大大降低。 这种优化同时是 取决于版本和实现。 对于性能敏感的代码 最好使用 str.接头() 确保一致性的方法 跨版本和实现的线性级联性能。 在版本2.4中更改: 以前,字符串连接从未就地发生。
5.6.1. 字符串方法 ¶
-
街道。 资本化 ( ) ¶ 返回字符串的副本,第一个字符大写 其余部分降低。 对于8位字符串,此方法依赖于区域设置。
-
街道。 中心 ( 宽度 [ , fillchar(填充字符) ] ) ¶ 以字符串为中心返回 宽度 。填充使用 明确规定 fillchar(填充字符) (默认为空格)。 在版本2.4中更改: 支持 fillchar(填充字符) 参数。
-
结构。 计数 ( 附属的 [ , 开始 [ , 结束 ] ] ) ¶ 返回子字符串的非重叠出现次数 附属的 在 范围[ 开始 , 结束 ]. 可选参数 开始 和 结束 是 解释为切片表示法。
-
街道。 解码 ( [ 编码 [ , 错误 ] ] ) ¶ 使用为注册的编解码器解码字符串 编码 . 编码 默认为默认的字符串编码。 错误 可以设置 不同的错误处理方案。 默认值为 “严格” ,意思是 编码错误引发 Unicode错误 。其他可能的值为 “忽略” , “替换” 以及通过注册的任何其他名称 编解码器.register_error() ,参见第节 编解码器基类 . 2.2版中的新增功能。 在版本2.3中更改: 添加了对其他错误处理方案的支持。 在版本2.7中更改: 添加了对关键字参数的支持。
-
街道。 编码 ( [ 编码 [ , 错误 ] ] ) ¶ 返回字符串的编码版本。默认编码为当前 默认字符串编码。 错误 可以设置不同的错误 处理方案。 的默认值 错误 是 “严格” ,意思是 编码错误引发 Unicode错误 。其他可能的值为 “忽略” , “替换” , 'xmlcharrefreplace' , '反斜杠替换' 和 通过注册的任何其他名称 编解码器.register_error() ,参见第节 编解码器基类 。有关可能的编码列表,请参阅第节 标准编码 . 2.0版中的新增功能。 在版本2.3中更改: 支持 'xmlcharrefreplace' 和 '反斜杠替换' 和其他错误 添加了处理方案。 在版本2.7中更改: 添加了对关键字参数的支持。
-
街道。 以…结尾 ( 后缀 [ , 开始 [ , 结束 ] ] ) ¶ 返回 真的 如果字符串以指定的 后缀 ,否则返回 False(错误) . 后缀 也可以是要查找的后缀元组。 带可选 开始 ,从该位置开始测试。 带可选 结束 ,停止比较 在那个位置。 在版本2.5中更改: 接受元组为 后缀 .
-
街道。 展开选项卡 ( [ 标签大小 ] ) ¶ 返回字符串的副本,其中所有制表符都替换为一个或 更多空格,具体取决于当前列和给定的选项卡大小。 选项卡 位置每隔 标签大小 字符(默认值为8,提供选项卡 第0、8、16列等处的位置)。 要展开字符串 列设置为零,并且逐字符检查字符串。 如果 字符是制表符( \t吨 ),插入一个或多个空格字符 直到当前列等于下一个选项卡位置。 (不会复制制表符本身。)如果字符是换行符 ( \n个 )或返回( \第页 ),它被复制,当前列重置为 零。 复制任何其他字符时保持不变,当前列为 当 印刷的。 >>> '01 \t吨 012 \t吨 0123 \t吨 01234' . 展开选项卡 () '01 012 0123 01234' >>> '01 \t吨 012 \t吨 0123 \t吨 01234' . 展开选项卡 ( 4 ) '01 012 0123 01234'
-
街道。 找到 ( 附属的 [ , 开始 [ , 结束 ] ] ) ¶ 返回字符串中的最低索引,其中子字符串 附属的 在中找到 切片 s[开始:结束] .可选参数 开始 和 结束 是 解释为切片表示法。 返回 -1 如果 附属的 找不到。
-
街道。 格式 ( *参数 , **夸格斯 ) ¶ 执行字符串格式化操作。 此方法所在的字符串 调用可以包含由大括号分隔的文本或替换字段 {} 。每个替换字段都包含 位置参数或关键字参数的名称。 返回的副本 每个替换字段替换为字符串值的字符串 相应的参数。 >>> “1+2的总和是 {0} " . 格式 ( 1 + 2 ) '1+2的和是3' 请参阅 格式字符串语法 有关各种格式选项的说明 可以在格式字符串中指定的。 这种字符串格式设置方法是Python 3中的新标准 应优先于 % 中描述的格式 字符串格式操作 在新代码中。 2.6版中的新增功能。
-
街道。 伊萨努姆 ( ) ¶ 如果字符串中的所有字符都是字母数字且位于 至少一个字符,否则为false。 对于8位字符串,此方法依赖于区域设置。
-
结构。 是否字母 ( ) ¶ 如果字符串中的所有字符都是字母,并且至少有 一个字符,否则为false。 对于8位字符串,此方法依赖于区域设置。
-
街道。 是数字 ( ) ¶ 如果字符串中的所有字符都是数字并且至少有一个字符,则返回true 字符,否则为false。 对于8位字符串,此方法依赖于区域设置。
-
街道。 isspace(信息空间) ( ) ¶ 如果字符串中只有空白字符,并且 至少一个字符,否则为false。 对于8位字符串,此方法依赖于区域设置。
-
街道。 蒸馏水 ( ) ¶ 如果字符串是基于标题的字符串并且至少有一个,则返回true 字符,例如大写字符只能跟在未大写字符之后 只有大小写字符。 否则返回false。 对于8位字符串,此方法依赖于区域设置。
-
街道。 参加 ( 可迭代的 ) ¶ 返回一个字符串,该字符串是 可迭代的 . 如果中有任何Unicode对象 可迭代的 ,则返回Unicode。 A类 类型错误 如果存在任何非字符串或非Unicode,将引发 中的对象值 可迭代的 。元素之间的分隔符是字符串 提供此方法。
-
街道。 我只是 ( 宽度 [ , fillchar(填充字符) ] ) ¶ 返回长度为的字符串中左对齐的字符串 宽度 .填充完成 使用指定的 fillchar(填充字符) (默认为空格)。 原始字符串为 如果返回 宽度 小于或等于 长度 . 在版本2.4中更改: 支持 fillchar(填充字符) 参数。
-
街道。 l行程 ( [ 焦炭 ] ) ¶ 返回删除了前导字符的字符串的副本。 这个 焦炭 参数是指定要删除的字符集的字符串。 如果省略 或 无 ,的 焦炭 参数默认为删除空白。 这个 焦炭 参数不是前缀; 相反,其值的所有组合都被剥离: >>> “宽敞” . l行程 () “宽敞” >>> “www.example.com” . 第一次跳闸 ( 'cmowz' ) '示例.com' 在版本2.2.2中更改: 支持 焦炭 参数。
-
街道。 隔板 ( 九月 ) ¶ 在第一次出现时拆分字符串 九月 ,并返回一个3元组 包含分隔符之前的部分、分隔符本身和部分 在分离器之后。 如果找不到分隔符,则返回包含 字符串本身,后面跟着两个空字符串。 2.5版中的新增功能。
-
街道。 代替 ( 古老的 , 新的 [ , 计数 ] ) ¶ 返回包含所有子字符串的字符串副本 古老的 替换为 新的 。如果可选参数 计数 只给出了第一个 计数 引用将被替换。
-
街道。 反向查找 ( 附属的 [ , 开始 [ , 结束 ] ] ) ¶ 返回字符串中的最高索引,其中子字符串 附属的 发现,例如 那个 附属的 包含在 s[开始:结束] .可选参数 开始 和 结束 被解释为切片表示法。 返回 -1 失败时。
-
街道。 r只是 ( 宽度 [ , 填充字符 ] ) ¶ 返回长度为的字符串中右对齐的字符串 宽度 .填充完成 使用指定的 fillchar(填充字符) (默认为空格)。 原始字符串是 如果返回 宽度 小于或等于 长度 . 在版本2.4中更改: 支持 fillchar(填充字符) 参数。
-
街道。 r分区 ( 九月 ) ¶ 在的最后一次出现时拆分字符串 九月 ,并返回一个3元组 包含分隔符之前的部分、分隔符本身和部分 在分离器之后。 如果找不到分隔符,则返回包含 两个空字符串,后跟字符串本身。 2.5版中的新增功能。
-
街道。 rsplit(rsplit) ( [ 九月 [ , 最大分割 ] ] ) ¶ 使用返回字符串中单词的列表 九月 作为分隔符字符串。 如果 最大分割 最多给出个 最大分割 拆分完成后 最右边的 个。 如果 九月 未指定或 无 ,任何空白字符串都是 分离器。 除了从右边分裂, rsplit() 行为类似 拆分() 下面详细描述。 2.4版中的新增功能。
-
结构。 rstrip公司 ( [ 焦炭 ] ) ¶ 返回删除了尾随字符的字符串的副本。 这个 焦炭 参数是指定要删除的字符集的字符串。 如果省略 或 无 ,的 焦炭 参数默认为删除空白。 这个 焦炭 参数不是后缀; 相反,其值的所有组合都被剥离: >>> “宽敞” . 第一次旅行 () “宽敞” >>> “密西西比” . 第一次旅行 ( “ipz” ) “小姐” 在版本2.2.2中更改: 支持 焦炭 参数。
-
街道。 分裂 ( [ 九月 [ , 最大分割 ] ] ) ¶ 使用返回字符串中单词的列表 九月 作为分隔符 字符串。 如果 最大分割 最多给出个 最大分割 完成拆分(因此, 名单上最多有 最大拆分+1 元素)。 如果 最大分割 不是 指定或 -1 ,则拆分次数没有限制 (进行了所有可能的拆分)。 如果 九月 如果给定,则连续的分隔符不会组合在一起,而是 被认为界定了空字符串(例如, “1,,2”.split(“,”) 收益 ['1', '', '2'] ). 这个 九月 参数可以由多个字符组成 (例如, “1<>2<>3”.分割(“<>”) 收益 ['1', '2', '3'] ). 使用指定的分隔符拆分空字符串返回 [''] . 如果 九月 未指定或 无 ,另一种分割算法是 应用:连续空格的运行被视为单个分隔符, 如果 字符串具有前导或尾随空格。 因此,拆分空 字符串或仅由空白组成的字符串 无 分离器 收益 [] . 例如, ' 1 2 三 '.split() 收益 ['1', '2', '3'] 、和 ' 1 2 三 '.split(无, 1) 收益 ['1', '2 三 '] .
-
街道。 分割线 ( [ 保留 ] ) ¶ 返回字符串中的行列表,在行边界处断开。 此方法使用 通用换行符 分割线条的方法。 换行符不包括在结果列表中,除非 保留 是 已知且真实。 Python识别 “\r” , “\n” 、和 “\r\n” 作为线边界 8位字符串。 例如: >>> ‘ab c \\n\n 去功能梯度 \第页 肯尼亚 \\r\n ' . 分割线 () [“ab c”,“”,“de fg”,“kl”] >>> ‘ab c \\n\n 去功能梯度 \第页 肯尼亚 \\r\n ' . 分割线 ( 真的 ) ['ab c\n','\n','de fg\r','kl\r\n'] 不同于 拆分() 当分隔符字符串 九月 给出,这个 方法返回空字符串的空列表和终端行 中断不会产生额外的行: >>> "" . 分割线 () [] >>> “一行 \n个 " . 分割线 () [“一行”] 为了进行比较, 拆分(“\n”) 给予: >>> '' . 分裂 ( ' \n个 ' ) [''] >>> '两条线 \n个 ' . 分裂 ( ' \n个 ' ) [“两行”,“”]
-
unicode编码。 分割线 ( [ 保留 ] ) ¶ 返回字符串中的行列表,如 str.分割线() . 然而,Unicode方法在以下行边界上拆分, 是的超集 通用换行符 因而被认可 8位字符串。 代表 描述 \n个 换行符 \第页 车架返回 \\r\n 回车+换行 \v(v) 或 \x0b个 线条制表 \(f) 或 \x0c个 表单馈送 \x1c个 文件分隔符 \x1d个 组分隔符 \x1e个 记录分隔符 \x85像素 下一行(C1控制代码) \2028年 行分隔符 \2029年 段落分隔符 在版本2.7中更改: \v(v) 和 \(f) 添加到线边界列表中。
-
街道。 启动开关 ( 前缀 [ , 开始 [ , 结束 ] ] ) ¶ 返回 真的 如果字符串以 前缀 ,否则返回 False(错误) . 前缀 也可以是要查找的前缀元组。 带可选 开始 , 从该位置开始的测试字符串。 带可选 结束 ,停止比较 字符串位于该位置。 在版本2.5中更改: 接受元组为 前缀 .
-
街道。 带 ( [ 焦炭 ] ) ¶ 返回删除了前导和尾随字符的字符串的副本。 这个 焦炭 参数是指定要删除的字符集的字符串。 如果省略或 无 ,的 焦炭 参数默认为删除空白。 这个 焦炭 参数不是前缀或后缀; 相反,它的所有组合 值被剥离: >>> “宽敞” . 带 () “宽敞” >>> “www.example.com” . 带 ( “cmowz。” ) “示例” 在版本2.2.2中更改: 支持 焦炭 参数。
-
街道。 抽汲箱 ( ) ¶ 返回字符串的副本,其中大写字符转换为小写 反之亦然。 对于8位字符串,此方法依赖于区域设置。
-
街道。 标题 ( ) ¶ 返回单词以大写字母开头的字符串的标题版本 字符,其余字符为小写。 该算法使用一个简单的与语言无关的单词定义作为 连续字母组。 该定义适用于许多情况,但 这意味着缩略语和所有格中的撇号构成单词 边界,这可能不是期望的结果: >>> “他们是比尔的英国朋友” . 标题 () “他们是比尔的英国朋友” 可以使用正则表达式构造撇号的解决方法: >>> 进口 重新 >>> 定义 标题酶 ( 秒 ): ... 返回 重新 . 附属的 ( 第页 “[A-Za-z]+('[A-Za-z]+)?” , ... λ 瞬间 : 瞬间 . 组 ( 0 )[ 0 ] . 上面的 () + ... 瞬间 . 组 ( 0 )[ 1 :] . 降低 (), ... 秒 ) ... >>> 标题栏 ( “他们是比尔的朋友。” ) “他们是比尔的朋友。” 对于8位字符串,此方法依赖于区域设置。
-
街道。 翻译 ( 桌子 [ , 删除cars ] ) ¶ 返回字符串的副本,其中所有字符出现在可选的 论点 删除cars 删除,其余字符已 通过给定的转换表映射,转换表必须是一个长度字符串 256 您可以使用 maketrans() 中的helper函数 一串 模块创建翻译表。 对于字符串对象,将 桌子 的参数 无 对于只删除字符的翻译: >>> '阅读此简短文本' . 翻译 ( 无 , “aeiou” ) 'rd ths shrt txt' 2.6版中的新增功能: 支持 无 桌子 参数。 对于Unicode对象 翻译() 方法不接受可选的 删除cars 论点。 相反,它返回 秒 所有这些 已通过给定的翻译表映射了个字符,该表必须是 Unicode序号到Unicode序号、Unicode字符串或 无 . 未映射的字符保持不变。 映射到的字符 无 是 删除。 注意,更灵活的方法是创建自定义字符映射 使用 解码器 模块(参见 编码.p1251 对于 示例)。
-
街道。 上面的 ( ) ¶ 返回包含所有大小写字符的字符串副本 4 已转换为 大写。 请注意 s.upper().isuper() 可能是 False(错误) 如果 秒 包含未大写字符,或者如果结果的Unicode类别 字符不是“Lu”(字母,大写),而是例如“Lt”(Letter,titlecase)。 对于8位字符串,此方法依赖于区域设置。
-
街道。 zfill公司 ( 宽度 ) ¶ 返回长度字符串中用零填充的数字字符串 宽度 。符号前缀处理正确。 原始字符串是 如果返回 宽度 小于或等于 长度 . 2.2.2版中的新增功能。
-
unicode。 非数字字符 ( ) ¶ 返回 真的 如果S中只有数字字符, False(错误) 否则。 数字字符包括数字字符和所有字符 具有Unicode数值属性的,例如U+2155, VULGAR分数五分之一。
-
unicode。 是十进制 ( ) ¶ 返回 真的 如果S中只有十进制字符, False(错误) 否则。 十进制字符包括数字字符和所有字符 其可用于形成十进制基数(例如U+0660), 阿拉伯数字零。
5.6.2. 字符串格式操作 ¶
这个 '%' 字符,它标记说明符的开始。 映射键(可选),由带括号的字符序列组成 (例如, (名字) ). 转换标志(可选),它会影响某些转换的结果 类型。 最小字段宽度(可选)。 如果指定为 '*' (星号) 从中元组的下一个元素读取实际宽度 值 ,以及 要转换的对象位于最小字段宽度和可选精度之后。 精度(可选),以 '.' (点)后面跟着精度。 如果 指定为 '*' (星号),实际宽度从下一个 中元组的元素 值 ,并且要转换的值位于 精确度。 长度修改器(可选)。 转换类型。
>>> 打印 ' %(语言)s 有 %(编号)03d 报价类型。' % \ ... { “语言” : “Python” , “数字” : 2 }
Python有002个引号类型。
替换形式导致前导零( '0' )插入到 如果前导字符为 结果的不等于零。 替代形式导致前导 “0x” 或 “0X” (取决于是否 这个 “x” 或 “X” 格式)插入到第一个数字之前。 备用形式会导致结果始终包含一个小数点,即使 后面没有数字。 精度决定小数点后的位数 默认为6。 替代形式使结果始终包含小数点,并且 后面的零不会像以前那样被删除。 精度决定了 小数点,默认为6。 这个 %第页 Python 2.0中添加了转换。 精度决定了使用的最大字符数。 如果提供的对象或格式是 unicode码 字符串,结果 字符串也将是 unicode码 . 精度决定了使用的最大字符数。 请参阅 政治公众人物237 .
5.6.3. X范围类型 ¶
5.6.4. 可变序列类型 ¶
t吨 必须与要替换的切片具有相同的长度。 Python的C实现在历史上接受了多个参数和 隐式地将它们连接成一个元组; 这在Python2.0中不再有效。 的使用 自Python 1.4以来,这个错误功能就一直被弃用。 t吨 可以是任何可迭代的对象。 加薪 值错误 什么时候 x个 在中找不到 秒 。当负指数为 作为第二个或第三个参数传递给 索引() 方法,列表 对于切片索引,添加长度。 如果它仍然为负数,则被截断 到零,如切片指数。 在版本2.3中更改: 以前, 索引() 没有用于指定开始和停止的参数 位置。 当负索引作为第一个参数传递给 插入() 方法中,对于切片索引,添加列表长度。 如果它仍然存在 负数,它被截断为零,就像切片索引一样。 在版本2.3中更改: 以前,所有负指数都被截断为零。 这个 pop() 方法的可选参数 我 默认为 -1 ,所以 默认情况下,最后一项被删除并返回。 这个 排序() 和 反转() 方法就地修改的列表 排序或反转大列表时节省空间。 提醒你 它们的操作有副作用,不会返回排序或反转的列表。 这个 排序() 方法采用可选参数来控制 比较。 化学机械抛光 指定两个参数(列表项)的自定义比较函数 应返回负数、零或正数,具体取决于第一个 参数被认为小于、等于或大于第二个参数 自变量: cmp=λ x、 年: cmp(x.lower()), y.lower()) 。默认值 是 无 . 钥匙 指定用于提取比较的一个参数的函数 每个列表元素中的键: 键=str.lower 。默认值为 无 . 颠倒 是一个布尔值。 如果设置为 真的 ,则列表元素为 就像每个比较都是反向的一样进行排序。 一般来说 钥匙 和 颠倒 转换过程比 指定等效项 化学机械抛光 功能。 这是因为 化学机械抛光 被称为 每个列表元素多次,同时 钥匙 和 颠倒 触摸每个 元素仅一次。 使用 functools.cmp_to_key() 转换 老式的 化学机械抛光 函数到 钥匙 功能。 在版本2.3中更改: 支持 无 等同于省略 化学机械抛光 已添加。 在版本2.4中更改: 支持 钥匙 和 颠倒 已添加。 从Python 2.3开始 排序() 该方法具有稳定性。 A类 如果排序保证不更改元素的相对顺序,则排序是稳定的 比较相等-这有助于在多个过程中进行排序(对于 例如,按部门排序,然后按薪等排序)。 CPython实施细节: 在对列表进行排序时,尝试变异的效果,甚至 检查,列表未定义。 Python 2.3的C实现和 newer使列表在持续时间内显示为空,并引发 值错误 如果它可以检测到列表在 排序。 价值观 n个 是整数,或是实现的对象 __索引__() 。的零值和负值 n个 清楚的 顺序。 不复制序列中的项目; 它们被引用 多次,如所述 秒 * n个 在下面 序列类型-str、unicode、list、tuple、bytearray、buffer、xrange .
5.7. 设置类型- 设置
, 冰冻的
¶
-
班 设置 ( [ 可迭代的 ] ) ¶ -
班 冰冻的 ( [ 可迭代的 ] ) ¶ 返回元素取自的新集合或冻结集合对象 可迭代的 。集合的元素必须是 可散列的 .至 表示集合的集合,内部集合必须是 冰冻的 物体。 如果 可迭代的 未指定,则新的空集为 返回。 -
长度 返回集合中的元素数 秒 (基数 秒 ).
-
x英寸秒 测试 x个 作为会员 秒 .
-
x不在s中 测试 x个 非会员 秒 .
-
不相交 ( 其他 ) ¶ 返回 真的 如果集合没有与共同的元素 其他 。集合是 不相交当且仅当它们的交集是空集。 2.6版新增。
-
issubset(发行子集) ( 其他 ) ¶ -
集合<=其他 测试集合中的每个元素是否都在 其他 .
-
集合<其他 测试集合是否是 其他 也就是说, 设置 <= 其他 和 设置 != 其他 .
-
被取代 ( 其他 ) ¶ -
集合>=其他 测试中的每个元素 其他 在集合中。
-
集合>其他 测试集合是否是的适当超集 其他 也就是说, 设置 >= 其他 和 设置 != 其他 .
-
联盟 ( *其他 ) ¶ -
设置|其他|。。。 返回一个新的集合,其中包含集合中的元素和所有其他元素。 在版本2.6中更改: 接受多个输入迭代器。
-
交叉 ( *其他 ) ¶ -
设置其他(&O)。。。 返回一个新的集合,其中包含集合和所有其他元素的公共元素。 在版本2.6中更改: 接受多个输入迭代器。
-
差异 ( *其他 ) ¶ -
设置-其他-。。。 返回一个新的集合,该集合中的元素不在其他集合中。 在版本2.6中更改: 接受多个输入迭代器。
-
对称_差异 ( 其他 ) ¶ -
设置^其他 返回包含集合或 其他 但并非两者兼而有之。
-
复制 ( ) ¶ 返回集合的浅副本。
注意,非运算符版本的 联合() , 交集() , 差异() 、和 对称性差异() , issubset() 、和 issuperset() 方法将接受任何可迭代的参数。 在 相比之下,它们基于运算符的对等项要求其参数为 套。 这就排除了容易出错的结构,如 集合('abc') & “cbs” 有利于更具可读性 集合('abc').交集('cbs') . 两者都有 设置 和 冰冻的 支持集合到集合的比较。 两个 当且仅当每个集合的每个元素都包含在 另一个(每个都是另一个的子集)。 如果且 只有当第一个集合是第二个集合的适当子集(是子集,但 不相等)。 当且仅当第一组 是第二个集合的适当超集(是超集,但不相等)。 的实例 设置 与以下实例进行比较 冰冻的 基于他们的成员。 例如, 集合('abc') == 冰冻('abc') 收益 真的 也是如此 集合('abc') 在里面 集合([冻结集合('abc')]) . 子集和相等比较不能概括为总排序 功能。 例如,任何两个非空的不相交集都是不相等的 彼此的子集,所以 全部的 以下报表的 False(错误) : a<b , a==b ,或 a> b条 因此,集合不实现 __cmp__() 方法。 由于集合仅定义部分排序(子集关系) 这个 list.sort() 对于集合列表,方法未定义。 集合元素(如字典键)必须是 可散列的 . 混合的二进制操作 设置 具有的实例 冰冻的 返回第一个操作数的类型。 例如: 冰冻('ab') | 集合('bc') 返回的实例 冰冻的 . -
更新 ( *其他 ) ¶ -
set |=其他|。。。 更新集合,添加其他所有元素。 在版本2.6中更改: 接受多个输入迭代器。
-
intersection_update(交叉_更新) ( *其他 ) ¶ -
set&=其他&。。。 更新集合,只保留在其中找到的元素和所有其他元素。 在版本2.6中更改: 接受多个输入迭代器。
-
差异_更新 ( *其他 ) ¶ -
set-=其他|。。。 更新集合,删除在其他集合中找到的元素。 在版本2.6中更改: 接受多个输入迭代器。
-
symmetric_difference_update(对称差异更新) ( 其他 ) ¶ -
设置^=其他 更新集合,只保留任一集合中的元素,但不保留两者中的元素。
-
添加 ( 元素 ) ¶ 添加元素 元素 到集合。
-
丢弃 ( 元素 ) ¶ 删除元素 元素 如果存在,则从集合中删除。
-
清楚的 ( ) ¶ 从集合中删除所有元素。
请注意 更新() , intersection_update() , 差异更新() 、和 symmetric_difference_update() 方法将接受任何可迭代的 参数。 -
与内置集合类型的比较 Differences between the
套 模块和内置集合类型。
5.8. 映射类型- 字典
¶
-
班 字典 ( **夸格 ) ¶ -
班 字典 ( 映射 , **夸格 ) -
班 字典 ( 可迭代的 , **夸格 ) 返回从可选位置参数初始化的新字典 以及一组可能为空的关键字参数。 如果未给定位置参数,则会创建一个空字典。 如果给定位置参数并且它是映射对象,则字典 使用与映射对象相同的键值对创建。 否则, 位置参数必须是 可迭代的 对象。 中的每个项目 iterable本身必须是一个只包含两个对象的iterable。 这个 每个项的第一个对象成为新字典中的键 第二个对象对应的值。 如果键出现多次 该键的最后一个值成为新 字典。 如果给定关键字参数,则关键字参数及其值为 添加到根据位置参数创建的字典中。 如果密钥 正在添加的值已存在,则关键字参数中的值 替换位置参数中的值。 为了进行说明,以下示例都返回一个等于 {“一”: 1, “两个”: 2, “三”: 3} : >>> 一 = 字典 ( 一 = 1 , 二 = 2 , 三 = 三 ) >>> b = { “一个” : 1 , “两个” : 2 , “三个” : 三 } >>> c(c) = 字典 ( 拉链 ([ “一个” , “两个” , “三个” ], [ 1 , 2 , 三 ])) >>> d日 = 字典 ([( “两个” , 2 ), ( “一个” , 1 ), ( “三个” , 三 )]) >>> e(电子) = 字典 ({ “三个” : 三 , “一个” : 1 , “两个” : 2 }) >>> 一 == b == c(c) == d日 == e(电子) 真的 提供第一个示例中的关键字参数仅适用于 是有效的Python标识符。 否则,可以使用任何有效的密钥。 2.2版中的新增功能。 在版本2.3中更改: 支持根据添加的关键字参数构建字典。 这些是字典支持的操作(因此,自定义 映射类型也应支持): -
长度(d) 返回字典中的项数 d日 .
-
d[键] 返回的项目 d日 带钥匙 钥匙 .引发 键错误 如果 钥匙 不在地图中。 如果dict的子类定义了一个方法 __缺少____() 和 钥匙 不存在 d[键] 操作使用键调用该方法 钥匙 作为参数。 这个 d[键] 然后操作返回或提升 由 __遗失__(钥匙) 呼叫。 没有其他操作或方法调用 __缺少____() .如果 __缺少____() 未定义, 键错误 被提起。 __缺少____() 必须是方法; 它不能是实例变量: >>> 班 计数器 ( 字典 ): ... 定义 __缺少__ ( 自己 , 钥匙 ): ... 返回 0 >>> c(c) = 计数器 () >>> c(c) [ “红色” ] 0 >>> c(c) [ “红色” ] += 1 >>> c(c) [ “红色” ] 1 上面的示例显示了 收藏。 计数器 。不同的 __缺少__ 方法已使用 通过 集合.defaultdict . 2.5版中的新增功能: 识别dict子类的__missing__方法。
-
d[键]=值 设置 d[键] 到 价值 .
-
del d[键] 删除 d[键] 从 d日 .引发 键错误 如果 钥匙 不在中 地图。
-
键入d 返回 真的 如果 d日 有一把钥匙 钥匙 ,否则 False(错误) . 2.2版中的新增功能。
-
密钥不在d中 相当于 不 钥匙 在里面 d日 . 2.2版新增。
-
iter(d) 返回字典键上的迭代器。 这是一条捷径 对于 iterkey() .
-
清楚的 ( ) ¶ 从字典中删除所有项目。
-
复制 ( ) ¶ 返回字典的浅副本。
-
来自键 ( 序列 [ , 价值 ] ) ¶ 使用中的键创建新词典 序列 和值设置为 价值 . fromkeys() 是返回新字典的类方法。 价值 默认为 无 . 2.3版中的新增功能。
-
项目 ( ) ¶ 返回字典列表的副本 (键, 值) 对。 CPython实施细节: 键和值以非随机的任意顺序列出, 不同于Python实现,并且取决于字典的 插入和删除的历史记录。 如果 项目() , 按键() , 值() , iteritems() , iterkey() 、和 iter值() 在没有干预的情况下被调用 修改字典后,列表将直接对应。 这个 允许创建 (值, 键) 成对使用 zip() : 对 = zip(d.值(), d.按键()) 。相同的关系适用于 iterkey() 和 iter值() 方法: 对 = zip(d.itervalues()), d.iterkey()) 为提供相同的值 对 。创建相同列表的另一种方法是 对 = [(v), k) 对于 (k, v) 在里面 d.iteritems()] .
-
iter项 ( ) ¶ 返回字典上的迭代器 (键, 值) 对。 请参阅 注意事项 目录项() . 使用 iteritems() 在字典中添加或删除条目时 可能会引发 访问违例 或无法迭代所有条目。 2.2版中的新增功能。
-
钥匙 ( ) ¶ 返回字典键列表的副本。 参见注释 dict.items()语句 .
-
设置默认值 ( 钥匙 [ , 违约 ] ) ¶ 如果 钥匙 在字典中,返回其值。 如果不是,请插入 钥匙 值为 违约 然后返回 违约 . 违约 默认为 无 .
-
更新 ( [ 其他 ] ) ¶ 使用中的键/值对更新字典 其他 ,正在覆盖 现有密钥。 返回 无 . 更新() 接受另一个dictionary对象或的iterable 键/值对(作为元组或长度为2的其他迭代)。 If关键字 参数,然后使用这些参数更新字典 键/值对: d.update(红色=1, 蓝色=2) . 在版本2.4中更改: 允许参数是键/值对的可迭代参数,并允许 关键字参数。
-
查看项目 ( ) ¶ 返回字典项的新视图( (键, 值) 对)。 请参阅 查看视图对象的文档。 2.7版中的新增功能。
-
视图键 ( ) ¶ 返回字典键的新视图。 请参阅以下文档 查看对象。 2.7版中的新增功能。
-
视图值 ( ) ¶ 返回字典值的新视图。 请参阅以下文档 查看对象。 2.7版中的新增功能。
当且仅当字典具有相同时,字典才会进行比较 (键, 值) 对。 -
5.8.1. 字典视图对象 ¶
-
透镜(dictview) 返回字典中的条目数。
-
iter(dictview) 返回键、值或项上的迭代器(表示为 (键, 值) )在字典里。 键和值以非随机的任意顺序迭代, 不同的Python实现不同,并且取决于字典的历史记录 插入和删除。 如果键、值和项视图被迭代 在没有对字典进行任何干预性修改的情况下,项目的顺序 将直接对应。 这允许创建 (值, 键) 对 使用 zip() : 对 = zip(d.值(), d.按键()) 。另一种方式 创建相同的列表是 对 = [(v), k) 对于 (k, v) 在里面 d.项目()] . 在字典中添加或删除条目时迭代视图可能会引发 一 访问违例 或无法迭代所有条目。
-
dictview中的x 返回 真的 如果 x个 位于基础字典的键、值或 项目(在后一种情况下, x个 应该是 (键, 值) 元组)。
-
dictview和其他 返回dictview和另一个对象的交集作为一个新集合。
-
dictview |其他 将dictview和另一个对象的并集作为新的集合返回。
-
dictview-其他 返回dictview和其他对象(所有元素)之间的差异 在里面 dictview(字典视图) 不在里面的 其他 )作为一个新的集合。
-
dictview^其他 返回对称差(中的所有元素 dictview(字典视图) 或 其他 ,但不是在两者中)的dictview和另一个对象作为一个新的集合。
>>> 菜 = { “鸡蛋” : 2 , “香肠” : 1 , “培根” : 1 , “垃圾邮件” : 500 }
>>> 钥匙 = 菜 . 视图键 ()
>>> 值 = 菜 . 视图值 ()
>>> #迭代
>>> n个 = 0
>>> 对于 val值 在里面 值 :
... n个 += val值
>>> 打印 ( n个 )
504
>>> #键和值以相同的顺序迭代
>>> 列表 ( 钥匙 )
[“鸡蛋”、“培根”、“香肠”、“垃圾邮件”]
>>> 列表 ( 值 )
[2, 1, 1, 500]
>>> #视图对象是动态的,反映了dict的更改
>>> 德尔 菜 [ “鸡蛋” ]
>>> 德尔 菜 [ “香肠” ]
>>> 列表 ( 钥匙 )
[“帕姆”,“培根”]
>>> #set操作
>>> 钥匙 & { “鸡蛋” , “培根” , “沙拉” }
{“巴康”}
5.9. 文件对象 ¶
-
文件。 关闭 ( ) ¶ 关闭文件。 无法再读取或写入已关闭的文件。 任何操作 要求打开文件将引发 值错误 之后 文件已关闭。 打电话 关闭() 允许多次。 从Python 2.5开始,如果使用 这个 具有 声明。 例如,以下代码将 自动关闭 (f) 当 具有 块退出: 从 __未来__ 进口 带语句(_S) #这在Python 2.6中不是必需的 具有 打开 ( “hello.txt” ) 作为 (f) : 对于 线 在里面 (f) : 打印 线 , 在Python的旧版本中,您需要这样做才能获得相同的结果 效果: (f) = 打开 ( “hello.txt” ) 尝试 : 对于 线 在里面 (f) : 打印 线 , 最后 : (f) . 关闭 () 注释 并非Python支持中的所有“类文件”类型都用作 具有 声明。 如果您的代码用于任何类似文件 对象,您可以使用函数 contextlib.closing() 而不是使用 直接访问对象。
-
文件。 脸红 ( ) ¶ 刷新内部缓冲区,如 标准件 的 fflush() 。这可能是 对某些类似文件的对象没有操作。 注释 冲洗() 不一定要将文件的数据写入磁盘。 使用 冲洗() 然后 操作系统.fsync() 以确保这种行为。
-
文件。 文件描述符 ( ) ¶ 返回底层使用的整数“文件描述符” 从操作系统请求I/O操作的实现。 这可以是 适用于使用文件描述符的其他较低级别接口,例如 文件锁 模块或 os.read() 和朋友。 注释 没有真正文件描述符的类文件对象应该 不 提供 这个方法!
-
文件。 伊萨蒂 ( ) ¶ 返回 真的 如果文件连接到tty(类)设备,则为else False(错误) . 注释 如果类文件对象没有与真实文件关联,则此方法应 不 实施。
-
文件。 下一个 ( ) ¶ 例如,文件对象是它自己的迭代器 iter(f) 收益 (f) (除非 (f) 关闭)。 当文件用作迭代器时,通常在 对于 循环(例如, 对于 线 在里面 传真: 打印 line.strip() ),的 next() 方法被重复调用。 此方法返回下一个输入 线条或凸起 停止迭代 当文件打开时,点击EOF 读取(当文件打开进行写入时,行为未定义)。 为了 制作一个 对于 循环-在 文件(非常常见的操作) next() 方法使用隐藏的读取头 缓冲区。 由于使用了读头缓冲区 next() 使用其他文件方法(如 readline() )工作不正常。 然而, 使用 搜索() 将文件重新定位到绝对位置将刷新 读头缓冲区。 2.3版中的新增功能。
-
文件。 阅读 ( [ 大小 ] ) ¶ 最多只能阅读 大小 文件中的字节数(如果读取在 获得 大小 字节)。 如果 大小 参数为负数或省略,请阅读 达到EOF之前的所有数据。 字节作为字符串对象返回。 安 当立即遇到EOF时,返回空字符串。 (当然 文件,如ttys,在点击EOF后继续读取是有意义的。) 注释 此方法可以调用底层C函数 弗雷德() 超过 努力获得一次 大小 字节。 另请注意 在非阻塞模式下,请求的数据可能会少于 返回,即使没有 大小 给出了参数。 注释 此函数只是底层的包装器 弗雷德() C函数,并且在角点情况下表现相同, 例如是否缓存EOF值。
-
文件。 读行 ( [ 大小 ] ) ¶ 从文件中读取一整行。 尾随换行符保留在 字符串(但当文件以不完整的行结束时可能不存在)。 6 如果 大小 参数存在且非负,它是最大字节 count(包括尾随换行符)和不完整的行可能是 返回。 什么时候? 大小 不是0,则返回空字符串 只有 当EOF 立即遇到。 注释 不同于 标准偏差 的 fgets() ,返回的字符串包含空字符 ( '\0' )如果它们出现在输入中。
-
文件。 自述行 ( [ sizehint(大小提示) ] ) ¶ 使用读取到EOF readline() 并返回包含行的列表 这样读。 如果可选 sizehint(大小提示) 参数存在,而不是 读数达到EOF,整行总计约 sizehint(大小提示) 字节 (可能在舍入到内部缓冲区大小后)被读取。 物体 实现类文件接口可能会选择忽略 尺寸提示 如果是的话 不能实现或不能有效地实现。
-
文件。 xreadlines(xreadline) ( ) ¶ 此方法返回与 iter(f) . 2.1版中的新增功能。 自版本2.3以来已弃用: 使用 对于 线 在里面 文件 而不是。
-
文件。 寻求 ( 抵消 [ , 从哪里 ] ) ¶ 设置文件的当前位置,如 标准偏差 的
. Thefseek() 从哪里 参数是可选的,默认为 操作系统。 参见设置 或 0 (绝对文件 定位); 其他值为 操作系统。 搜索CUR(_C) 或 1 (查找相对于 当前位置)和 操作系统。 搜索_结束 或 2 (相对于文件的 结束)。 没有返回值。 例如, f.seek(2, 操作系统。 搜索(_CUR) 将位置提前两步 f.周(-3, 操作系统。 搜索(_E) 将位置设置为倒数第三个。 请注意,如果打开文件进行追加 (模式 “a” 或 “a+” ),任何 搜索() 操作将在 下一次写入。 如果文件仅在附加模式(模式 “a” ),此方法本质上是no-op,但它对文件仍然有用 以附加模式打开,启用读取(模式 “a+” ). 如果文件是 以文本模式打开(无 “b” ),仅返回偏移量 tell() 是 合法。 使用其他偏移会导致未定义的行为。 请注意,并非所有文件对象都是可查找的。 在版本2.6中更改: 不推荐将浮点值作为偏移量传递。
-
文件。 告诉 ( ) ¶ 返回文件的当前位置,如 标准偏差 的 ftell() . 注释 在Windows上, tell() 可以返回非法值(在 fgets() ) 读取带有Unix样式线条的文件时。 使用二进制模式( “rb” )至 绕过这个问题。
-
文件。 截断 ( [ 大小 ] ) ¶ 截断文件的大小。 如果可选 大小 参数存在,文件 被截断为(最多)该大小。 大小默认为当前位置。 当前文件位置未更改。 请注意,如果指定的大小超过 文件的当前大小,结果取决于平台:可能性 包括文件可能保持不变,增加到指定大小 零填充,或使用未定义的新内容增加到指定大小。 可用性:Windows,许多Unix变体。
-
文件。 编码 ¶ 此文件使用的编码。 当Unicode字符串写入文件时, 它们将使用这种编码转换为字节字符串。 此外,当 文件连接到终端,该属性给出了 终端可能会使用(如果用户有 终端配置错误)。 属性是只读的,可能不存在 在所有文件类对象上。 也可能是 无 ,在这种情况下,文件使用 用于转换Unicode字符串的系统默认编码。 2.3版中的新增功能。
-
文件。 错误 ¶ 与编码一起使用的Unicode错误处理程序。 2.6版新增。
5.10. 内存视图类型 ¶
-
班 内存视图 ( 对象 ) ¶ 创建一个 内存视图 引用 对象 . 对象 必须支持 缓冲协议。 支持缓冲区协议的内置对象包括 字符串 和 字节射线 (但不是 unicode码 ). A类 内存视图 具有 要素 ,这是 原始对象处理的原子存储单元 对象 .对许多人来说 简单类型,如 字符串 和 字节射线 ,一个元素 是单字节,但其他第三方类型可能会公开较大的元素。 len(视图) 返回内存视图中的元素总数, 看法 . The项目大小 属性将为您提供 单个元素中的字节数。 A类 内存视图 支持切片以公开其数据。 拿一张单张 索引将返回单个元素作为 字符串 对象。 完全 切片将生成子视图: >>> v(v) = 内存视图 ( “abcefg” ) >>> v(v) [ 1 ] “b” >>> v(v) [ - 1 ] “g” >>> v(v) [ 1 : 4 ] <0x77ab28处的内存> >>> v(v) [ 1 : 4 ] . 千兆字节 () “bce” 如果内存视图覆盖的对象支持更改其数据,则 memoryview支持切片分配: >>> 数据 = 字节射线 ( “abcefg” ) >>> v(v) = 内存视图 ( 数据 ) >>> v(v) . 只读 False(错误) >>> v(v) [ 0 ] = “z” >>> 数据 字节数组(b'zbefg') >>> v(v) [ 1 : 4 ] = '123' >>> 数据 字节数组(b'z123fg') >>> v(v) [ 2 ] = '垃圾邮件' 回溯(最近一次调用): 文件 “<stdin>” ,行 1 ,英寸 <模块> 值错误 : 无法修改memoryview对象的大小 请注意,无法更改memoryview对象的大小。 内存视图 有两种方法: -
托利主义者 ( ) ¶ 以整数列表的形式返回缓冲区中的数据。 >>> 内存视图 ( “abc” ) . 托利主义者 () [97, 98, 99]
还有几个只读属性可用: -
项目大小 ¶ 内存视图中每个元素的字节大小。
-
印度国防部 ¶ 一个整数,指示多维数组的维数 内存表示。
-
只读 ¶ 指示内存是否为只读的布尔值。
-
5.11. 上下文管理器类型 ¶
-
上下文管理器。 __输入__ ( ) ¶ 输入运行时上下文并返回此对象或另一个对象 与运行时上下文相关。 此方法返回的值绑定到 中的标识符 作为 第条,共条 具有 语句使用 此上下文管理器。 返回自身的上下文管理器的一个示例是文件对象。 文件 对象从__enter_()返回自身以允许 打开() 用作 中的上下文表达式 具有 声明。 返回相关对象的上下文管理器示例如下 由返回 decimal.localcontext() 这些管理器将 decimal上下文到原始decimal-上下文的副本,然后返回 副本。 这允许对正文中的当前十进制上下文进行更改 的 具有 语句,而不影响 具有 声明。
-
上下文管理器。 __退出__ ( exc类型 , 不包括(_V) , 不包括(tb) ) ¶ 退出运行时上下文并返回一个布尔标志,指示是否有异常 应该抑制这种情况。 如果在执行 的主体 具有 语句,参数包含异常类型, 值和回溯信息。 否则,所有三个参数都是 无 . 从该方法返回真值将导致 具有 陈述 取消异常并立即继续执行语句 遵循 具有 声明。 否则,异常将继续 在该方法完成执行后传播。 发生的异常 在执行此方法期间,将替换 的主体 具有 声明。 传入的异常永远不应显式地重新提示-相反,这是 方法应返回一个假值,以指示该方法已完成 成功,并且不希望取消引发的异常。 这允许 上下文管理代码(例如 上下文库已测试 )便于检测 或者不是 __退出____() 方法实际上失败了。
5.12. 其他内置类型 ¶
5.12.1. 模块 ¶
5.12.3. 功能 ¶
5.12.4. 方法 ¶
>>> 班 C :
... 定义 方法 ( 自己 ):
... 通过
...
>>> c(c) = C ()
>>> c(c) . 方法 . 哇,哇 = '我的名字是方法' #无法在方法上设置
回溯(最近一次调用): 文件 “<stdin>” ,行 1 ,英寸 <模块>
属性错误 : “instancemethod”对象没有属性“whoami”
>>> c(c) . 方法 . 输入框(_func) . 哇,哇 = “我的名字是方法”
>>> c(c) . 方法 . 哇,哇
'我的名字是方法'
5.12.5. 代码对象 ¶
5.13. 特殊属性 ¶
-
对象。 __字典__ ¶ 用于存储对象(可写)的字典或其他映射对象 属性。
-
实例。 __类__ ¶ 类实例所属的类。
-
类。 __底座__ ¶ 类对象的基类元组。
-
定义。 __名称__ ¶ 类、类型、函数、方法、描述符或 生成器实例。
-
类。 __mro公司__ ¶ 此属性是查找时考虑的类的元组 方法解析期间的基类。
-
类。 __子类__ ( ) ¶ 每个新式类都保留一个对其立即数的弱引用列表 子类。 此方法返回所有仍处于活动状态的引用的列表。 例子: >>> 整数 . __子类__ () [<键入'bool'>]