今天跟着我一起学习/复习一下Python语法的5种基本数据类型和8种数据基本操作。如果你已经掌握了这块内容,也建议跟着文中代码进行操作加深印象巩固学习成果。
整套学习自学教程中应用的数据都是《三國志》、《真·三國無雙》系列游戏中的内容。
文章目录
5种数据类型int 整型float 浮点型复数型字符型布尔类型8类内置函数Math 数学函数Type Conversion 类型转换函数Iterables and Iterators 可迭代对象和迭代器Composite Data Type 复合数据类型Classes, Attributes, and Inheritance 类、属性、继承函数Input/Output 输入输出函数Variables, References, and Scope 变量、引用和范围Miscellaneous 其他函数5种数据类型
int 整型
在 Python3 中,整数值的长度实际上没有限制,但是和其他编程语言一样都是受到系统内存量的限制。整数可以是需要的任意长度。
print(123 + 1)124
Python 将不带任何前缀的十进制数字解释为十进制数。
print(22)2
可以将以下字符串添加到整数值之前,用来标识其他进制的数。
举例来说。
print(0o10)8print(0x10)16print(0b10)2
Python 中无论是多少进制的整数,其对应的数据类型均为int。
type(10)<class 'int'>type(0o10)<class 'int'>type(0x10)<class 'int'>type(0b10)<class 'int'>
float 浮点型
Python 中的 float 值用小数点指定。可以附加字符e或E后跟正整数或负整数以指定科学记数法。
print(1.2)1.2print(type(1.2))<class 'float'>print(1.)1.0print(.2)0.2print(.1e2)100.0print(type(.1e2))<class 'float'>print(1.2e-2)0.012
特殊的 float 浮点数
根据 IEEE 754 标准,几乎所有平台都将 Python 中 float 值表示为 64 位双精度值。
float 的最大值约为 1.8⨉103081.8 ⨉ 10^{308}1.8⨉10308。
print(1.79e308)1.79e+308# 超出范围指向无穷大print(1.8e308)inf
float 的最大值约为 5.0⨉10−3245.0 ⨉ 10^{-324}5.0⨉10−324。
print(5e-324)5e-324print(1e-325)0.0
浮点数在内部表示为二进制 (base-2) 分数,大多数十进制分数不能完全表示为二进制分数,因此浮点数的内部表示是实际值的近似值。由于实际值与表示值之间的差异非常小通常不会引起BUG。
复数型
复数的格式为<real part>+<imaginary part>j。
print(2+3j)(2+3j)print(type(2+3j))<class 'complex'>
字符型
Python 将由字符数据组成的序列称作字符串(str)。
可以使用单引号或双引号来分隔。
print("name 張郃 is a string.")name 張郃 is a string.type("name 張郃 is a string.")<class 'str'>print('name 曹操 is too.')name 曹操 is too.print(type('name 曹操 is too.'))<class 'str'>
字符串也可以为空。
>>> print('')
在字符串中包含任一类型的引号字符,最简单的方法是用另一种类型分隔字符串。如果字符串要包含单引号,请用双引号将其分隔,反之亦然。
# 错误的方法print('私は趙雲('ちょううん)です')SyntaxError: invalid syntaxprint('私は趙雲("ちょううん")です')'私は趙雲("ちょううん")です'print("私は趙雲('ちょううん')です")"私は趙雲('ちょううん')です"
字符串中的转义序列
Python 以不同的方式解释字符串中的字符或字符序列需要进行特殊的解释。
抑制某些字符通常在字符串中给出的特殊解释。
# 错误的方法print('私は趙雲('ちょううん)です')SyntaxError: invalid syntax# 正确的方法print('私は趙雲(\'ちょううん)です')私は趙雲('ちょううん)ですprint('私は趙雲(\"ちょううん)です')私は趙雲("ちょううん)ですprint('私は趙雲(\\ちょううん)です')私は趙雲(\ちょううん)です# 换行符终止行输入的错误print('私はSyntaxError: EOL while scanning string literal# 换行符正确的用法print('私は趙雲(\ちょううん)です')私は趙雲(ちょううん)です
对字符应用特殊含义
创建一个包含制表符的字符串,在 Python(以及几乎所有其他常见的计算机语言)中制表符可以由转义序列指定\t。
print('私は趙雲\tです')私は趙雲です
原始字符串
原始字符串文字以 r 或者开头 R,指定不翻译相关字符串中的转义序列。反斜杠字符留在字符串中。
print('趙雲\n字:子龍')趙雲字:子龍print(r'趙雲\n字:子龍')趙雲\n字:子龍print('趙雲\\字:子龍')趙雲\字:子龍print(R'趙雲\\字:子龍')趙雲\\字:子龍
三引号字符串
在 Python 中还有另一种三引号(单引号和双引号)分隔字符串的方法。其中包含单引号、双引号和换行符而无需转义它们。
print('''趙雲 "字:'子龍''')趙雲 "字:'子龍print("""趙雲字:子龍""")趙雲字:子龍
布尔类型
Boolean 类型包括True或者False,用于 Python 中的运算符和表达式中遇到逻辑运算。
print(type(True))<class 'bool'>print(type(False))<class 'bool'>
8类内置函数
Python 解释器支持许多内置函数一共有 68 个,分不同了的类别,不用刻意背诵。