基于值的内存管理Python 采用基于值的内存管理会缓存 [-5, 256] 的整数变量类似指针创建非缓存的这些值的时候会创建一个内存空间变量指向这个空间同一程序、交互模式同一行语句下同值不同名变量共用同一内存空间如果是 [-5, 256] 的整数交互模式不同行也同一个内存地址转义字符\n换行符\t制表符\\一个反斜杠\单引号\双引号原始字符串字符串前面加r 或者 R防止转义例如rC:\temp除法、模运算1. 除法/除法结果必为浮点型//整除除法向下取整除法例子3 / 5 结果为 0.63 / 3 结果为 1.04 / 2 结果为 2.0整除例子3 // 5 结果为 0-3 // 5 结果为 -1 # -3 / 5 -0.6向下取整-13 // 10 结果为 -22. 模运算a a // b * b a % b故a % b a - a // b * b模运算的结果与第二个操作数例如上一行的 b一致例如11 % 3 11 - 11 // 3 * 3 11 - 3 * 3 2-11 % -3 -11 - (-11 // (-3) * (-3)) -11 - (3 * (-3)) -11 - (-9) -2-17 % 4 -17 - (-17 // 4 * 4) -17 - (-5 * 4) -17 20 3逻辑运算and与or或not非优先级not一元运算先算 and or因惰性求值逻辑表达式的结果为最后一次逻辑运算的值and遇到假值停止并返回该假值or遇到真值停止并返回该真值例如3 and 2 or 1 2 or 1 2按位运算符按位与|按位或^按位异或~取反左移右移例如3 0 2 1 3 (0b00 0b10) 1 3 0 1 # False集合运算符交| 并^对称差-差例如{1, 2, 3} {3, 4, 5} {3}{1, 2, 3} | {3, 4, 5} {1, 2, 3, 4, 5}{1, 2, 3} ^ {3, 4, 5} {1, 2, 4, 5}{1, 2, 3} - {3, 4, 5} {1, 2}成员测试in同一测试符is例如3 in [1, 2, 3] # True5 in range(5) # False3 is 3 # True常用内置函数1. bin, oct, hex分别将整数转化为二、八、十进制字符串2. int实数转化为整数向0取整或将数组字符串按对应进制转化为十进制int(3.5) # 3 int(-3.5) # -3 int(101, 2) # 二进制转十进制 int(101, 16) # 十六进制转十进制3. ord, chrord(单字符) 返回单字符的序数chr(序数) 返回序数对应的字符4. strstr(任意类型参数) 返回直接转化成的字符串str([1,2,3]) # [1, 2, 3] str({1,2,3}) # {1,2,3}5. max, min, summax(序列, keyNone) 返回最大值min(序列, keyNone) 返回最小值key 可以指定比较规则例如 keylen 或 keyintsum(序列, 初值) 返回序列各元素和第二个参数为求和的初值sum([1, 2, 3, 4]) # 10 sum([1, 2, 3, 4], 5) # 15 sum([[1], [2], [3], [4]], []) # [] [1] [2] [3] [4] [1, 2, 3, 4]6. type, isinstancetype(变量) # 查看变量的数据类型 type(变量) in 类型名的元组 # 判断变量是否是序列中的类型 isinstance(变量, 单个类型或类型名元组) # 判断变量是否是该类型或元组中的类型 # 示例 type(3) in (int, list, tuple) # True isinstance(3, int) # True isinstance(3, (int, list)) # True7. sorted对可迭代对象排序后返回新的列表可指定排序keysorted(序列, keyNone) sorted((3, 1, 2)) # 返回 [1, 2, 3] sorted(cba) # 返回 [a, b, c] sorted({2, 1, 3}) # 返回 [1, 2, 3] x [aaaa, bc, d, b, ba] s sorted(x, keylambda item: (len(item), item)) # 先根据长度排序长度相同根据本身排序8. reversed对可迭代对象逆序后返回可迭代的reversed对象惰性求值x [aaaa, bc, d, b, ba] reversed(x) #逆序返回reversed对象 list_reverseiterator object at 0x0000000002E6C3C8 list(reversed(x)) #reversed对象可迭代的 [ba, b, d, bc, aaaa]9. rangerange(起始闭, 终止开, 步长)左闭右开 [起始, 终止)步长可为负数10. 惰性求值且不可重复遍历的map, filter, enumerate, zipmap(函数, 序列)返回map对象为序列中每个元素作用函数后的序列filter(函数, 序列)返回filter对象为序列中每个元素作用函数后为True的元素构成的序列若不指定函数则为None返回序列中等价为True的元素们enumerate(序列)返回enumera对象其中每个元素为一个元组。元组形如(下标i, 元素i)例如(0, 序列中元素0)。下标从0开始zip(序列1, 序列2, 序列3, ...)返回zip对象其中每个元素为一个元组。第i个元组中依次为各个序列中第i个元素。根据最短的序列进行截断惰性求值、每个元素被访问一次后就不可访问了下次访问从下一个元素起11. inputs input()input接收的输入返回为字符串