C1
数据格式
| 对象类型 | 类型名称 | 示例 | 简要说明 |
|---|---|---|---|
| 数字 | int float complex |
1234 3.14, 1.3e5 3+4j |
整数大小没有限制,内置支持复数及其运算 |
| 字符串 | str | 'swfu' "I'm student" '''Python ''' r'abc', R'bcd' |
使用单引号、双引号、三引号作为定界符,以字母r或R引导的表示原始字符串 |
| 字节串 | bytes | b'hello world' | 以字母b引导,可以使用单引号、双引号、三引号作为定界符 |
| 列表 | list | [1, 2, 3],['a', 'b', ['c', 2]] | 所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型 |
| 字典 | dict | 所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值” | |
| 元组 | tuple | (2, -5, 6) (3,) |
不可变,所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略 |
| 集合 | set frozenset |
所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复;另外,set是可变的,而frozenset是不可变的 | |
| 对象类型 | 类型名称 | 示例 | 简要说明 |
| 布尔型 | bool | True False |
逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False |
| 空类型 | NoneType | None | 空值 |
| 异常 | Exception、ValueError、TypeError | Python内置大量异常类,分别对应不同类型的异常 | |
| 文件 | f = open('data.dat', 'rb') | open是Python内置函数,使用指定的模式打开文件,返回文件对象 | |
| 其他可迭代对象 | 生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象等等 | 具有惰性求值的特点,除range对象之外,其他对象中的元素只能看一次 | |
| 编程单元 | 函数(使用def定义) 类(使用class定义) 模块(类型为module) |
类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象 |
运算符
| 运算符 | 功能说明 |
|---|---|
| := | 赋值运算,Python 3.8新增,俗称海象运算符 |
| lambda [parameter]: expression | 用来定义lambda表达式,功能相当于函数,parameter相当于函数参数,可以没有;expression表达式的值相当于函数返回值 |
| value1 if condition else value2 | 用来表示一个二选一的表达式,其中value1、condition、value2都为表达式,如果condition的值等价于True则整个表达式的值为value1的值,否则整个表达式的值为value2的值 |
| or | 逻辑或运算符,以exp1 or exp2为例,如果exp1的值等价于True则返回exp1的值,否则返回exp2的值 |
| and | 逻辑与运算符,以exp1 and exp2为例,如果exp1的值等价于False则返回exp1的值,否则返回exp2的值 |
| not | 逻辑非运算符,对于表达式not x,如果x的值等价于True则返回False,否则返回True |
| in、not in is、is not <、<=、>、>=、==、!= |
成员测试,表达式x in y的值当且仅当y中包含元素x时才会为True; 测试两个对象是否为同一个对象的引用。如果两个对象是同一个对象的引用,那么它们的内存地址相同; 关系运算,用于比较大小,作用于集合时表示测试集合的包含关系;这三组运算符具有相同的优先级 |
| | | 按位或运算,集合并集 |
| ^ | 按位异或运算,集合对称差集 |
| & | 按位与运算,集合交集 |
| <<、>> | 左移位、右移位 |
| + - |
算术加法,列表、元组、字符串合并与连接; 算术减法,集合差集 |
| * @ / // % |
算术乘法,序列重复; 矩阵乘法; 真除; 整除; 求余数,字符串格式化 |
| +x -x ~x |
正号 负号,相反数 按位求反 |
| ** | 幂运算,指数可以为小数,例如3**0.5表示计算3的平方根 |
| [] . () |
下标,切片; 属性访问,成员访问; 函数定义或调用,修改表达式计算顺序,声明多行代码为一个语句 |
| []、()、{} | 定义列表、元组、字典、集合,列表推导式、生成器表达式、字典推导式、集合推导式 |
[-5,256]区间为预存序列
对于区间之外的整数,同一个程序中或交互模式下同一个语句中的同值不同名变量会共用同一个内存空间,
海象运算符
:= 在表达式中赋值,先赋值再调用
while (p := input("Enter the password: ")) != "the password": continue
常用内置函数
| abs(x, /) | 返回数字x的绝对值或复数x的模,斜线表示该位置之前的所有参数必须为位置参数。例如,只能使用abs(-3)这样的形式调用,不能使用abs(x=-3)的形式进行调用 |
| all(iterable, /) | 如果可迭代对象中所有元素都等价于True则返回True,否则返回False |
| any(iterable, /) | 只要可迭代对象iterable中存在等价于True的元素就返回True,否则返回False |
| bin(number, /) | 返回整数number的二进制形式的字符串,例如表达式bin(3)的值是'0b11' |
| bool(x) | 如果参数x的值等价于True就返回True,否则返回False |
| bytes(iterable_of_ints) bytes(string, encoding[, errors]) bytes(bytes_or_buffer) bytes(int) bytes() |
创建字节串或把其他类型数据转换为字节串,不带参数时创建空字节串。例如,bytes(5)表示创建包含5个0的字节串b'\x00\x00\x00\x00\x00',bytes((97, 98, 99))表示把若干介于[0,255]区间的整数转换为字节串b'abc',bytes((97,))可用于把一个介于[0,255]区间的整数97转换为字节串b'a',bytes('董付国', 'utf8')使用UTF-8编码格式把字符串'董付国'转换为字节串b'\xe8\x91\xa3\xe4\xbb\x98\xe5\x9b\xbd' |
| enumerate(iterable, start=0) | 枚举可迭代对象iterable中的元素,返回包含元素形式为(start, iterable[0]), (start+1, iterable[1]), (start+2, iterable[2]), ...的迭代器对象,start表示编号的起始值,默认为0 |
| eval(source, globals=None, locals=None, /) |
计算并返回字符串source中表达式的值,参数globals和locals用来指定字符串source中变量的值,如果二者有冲突,以locals为准。如果参数globals和locals都没有指定,就在当前作用域内搜索字符串source中的变量并进行替换 |
| filter(function or None, iterable) | 使用function函数描述的规则对iterable中的元素进行过滤,返回filter对象,其中包含序列iterable中使得函数function返回值等价于True的那些元素,第一个参数为None时返回的filter对象中包含iterable中所有等价于True的元素 |
| isinstance(obj, class_or_tuple, /) |
测试对象obj是否属于指定类型(如果有多个类型的话需要放到元组中)的实例 |
| len(obj, /) | 返回可迭代对象obj包含的元素个数,适用于列表、元组、集合、字典、字符串以及range对象,不适用于具有惰性求值特点的生成器对象和map、zip等迭代器对象 |
| list(iterable=(), /) tuple(iterable=(), /) dict()、dict(mapping)、dict(iterable)、dict(**kwargs) set()、set(iterable) |
把对象iterable转换为列表、集合、元组或字典并返回,或不加参数时返回空列表、空集合、空元组、空字典。左侧单元格中dict()和set()都有多种用法,不同用法之间使用顿号进行了分隔。参数名前面加两个星号表示可以接收多个关键参数,也就是调用函数时以name=value这样形式传递的参数,详见7.2.4节 |
| map(func, *iterables) | 返回包含若干函数值的map对象,函数func的参数分别来自于iterables指定的一个或多个迭代对象。形参前面加一个星号表示可以接收任意多个按位置传递的实参,详见7.2.4节 |
| max(iterable, *[, default=obj, key=func]) max(arg1, arg2, *args, *[, key=func]) |
返回最大值,允许使用参数key指定排序规则,使用参数default指定iterable为空时返回的默认值 |
| min(iterable, *[, default=obj, key=func]) min(arg1, arg2, *args, *[, key=func]) |
返回最小值,允许使用参数key指定排序规则,使用参数default指定iterable为空时返回的默认值 |
| next(iterator[, default]) | 返回迭代器对象iterator中的下一个元素,如果iterator为空则返回参数default的值,如果不指定default参数当iterable为空时会抛出异常 |
| oct(number, /) | 返回整数number的八进制形式的字符串 |
| open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) |
以指定的方式打开参数file指定的文件并返回文件对象 |
| reduce(function, sequence[, initial]) | 将双参数函数function以迭代的方式从左到右依次应用至序列sequence中每个元素,并把中间计算结果作为下一次计算函数function的第一个参数,最终返回单个值作为结果。在Python 3.x中reduce()不是内置函数,需要从标准库functools中导入再使用 |
| reversed(sequence, /) | 返回sequence中所有元素逆序后组成的迭代器对象 |
| round(number, ndigits=None) | 对number进行四舍五入,若不指定小数位数ndigits则返回整数,参数ndigits可以为负数。最终结果最多保留ndigits位小数,如果原始结果的小数位置少于ndigits,不再处理。例如,round(3.1, 3)的结果为3.1 |
| sorted(iterable, /, *, key=None, reverse=False) |
返回排序后的列表,其中参数iterable表示要排序的可迭代对象,参数key用来指定排序规则或依据,参数reverse用来指定升序或降序,默认为升序。单个星号*做参数表示该位置后面的所有参数都必须为关键参数,星号本身不是参数 |
文件属性

