/ 和 // 区别:
/ 是浮点型除法 8 / 2 = 4.0
// 是整型除法 7 // 2 = 3
divmoid(13,3)
>>> (4, 1) # 商和余数
整数进制
进制 | 开头字母 | 符号规则 |
二进制 | 0b、0B | 0、1 |
八进制 | 0o、0O | 0、1、2、3、4、5、6、7 |
十进制 | ||
十六进制 | 0x、0X | 0~9、a、b、c、d、e、f |
0xff
>>> 255
0Xf
>>> 15
int规则(python3任意长度整数)
int("456.78") | FALSE |
int("456") | TRUE |
int("456abc") | FALSE |
时间规则
unix时间点:1970年1月1日0点
time.time() 返回单位为秒的浮点数
布尔值操作
比较运算符、逻辑运算符(or、and、not)、同一运算符(is:比较地址/同一对象、==:比较值)
整数缓存问题:Python 仅仅对比较小的整数对象进行缓存(范围为[-5,256])缓存起来,而并非是所有整数对象。需要注意的是,这仅仅是在命令行中执行,而在Pycharm或者保存为文件执行,结果是不一样的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])。
a = -6
b = -6
a is b
>>> False # 不在[-5,256]范围内均地址不相同,需要重新分配内存
a = 1
b = 1
a is b
>>> True
a = "a_b"
b = "a_b"
a is b
>>> True #字符串驻留机制
a = "a#b"
b = "a#b"
a is b
>>> False #字符串驻留机制
字符串编码
①ASCII码只有8位,只能编码字母和数字,Python3支持Unicode,甚至可以编码汉字
②允许空字符串的存在,长度为0
li.replace("a","b")
li.split()
"*".join(li)
# 输出成一行有两种思路:一种直接用+拼接,一种先生成列表后用join(速度较快)
li.strip() # 只删除首尾空格
li.lstrip() # 只删除首空格
li.rstrip() # 只删除尾空格
li.center(10, "*") # li内容居中,其他用*填充
# 还有许多大小写转换,未列出
常用查找方法
函数 | 说明 | 结果 |
len(a) | 字符串长度 | 20 |
a.startswith("a") | 是否以指定字符串开头 | True |
a.endswith("a") | 是否以指定字符串结尾 | False |
a.find("a") | 第一次出现指定字符串的位置 | 2 |
a.rfind("a") | 最后一次出现指定字符串的位置 | 18 |
format用法
a = "名字是{name},年龄是{age}"
a.format(name = "name", age = 18)
>>> "名字是name,年龄是18"
b = "名字是{0},存款是{1.2f}"
b.format("name", 200.1234)
>>> "名字是name,年龄是200.12"
c = {:*>5d}
c.format(3)
>>> "****3"