python语言区分大小写
python的复数
cmath是复数计算时的函数,sqrt计算平方根。
书上的下图1的代码有问题,改为下图2
反斜杠\,转义字符。
以上两图可见,逗号起到分隔的作用。【我不会解释哈】
上图解释“+”加号对字符串的拼接作用
函数str()和函数repr()都能将数值转化为字符串。有区别吗?不如repr()好记。
上图报错,是因为需要转义字符
这里就没有报错
在地址之前加入r,就不需要再加转义字符了
这里的\c虽然颜色和其他的代码有区别,但是从根上是没有区别的
字符串str,字节串bytes
b1 = bytes()
b2 = b""
b3 = b"hello"#得到字节串
b4 = bytes("我爱python编程",encoding = 'utf-8')#创建字节串
b5 = "学习python很有趣".encode('utf-8')#创建字节串
print(b3)
print(b3[0])
print(b3[2:4])#ll
print(b4)
print(b5)
decode()方法是将字节解码为字符串。
第二个%是占位符
上图是 多个占位符。
上图中 3是指 字符串的最小宽度
这种,不如用的时候再去查看哈。
注意到一点:最后一个字符的索引为-1
字符串的大小写的转换,用来统一规格吧。
没有改变本质,只是改变了外观
s = '123454321'
print(s.lstrip('123'))#454321
print(s.rstrip('123'))#123454疑问,与123的顺序有关系吗?
print(s.rstrip('321'))#123454
print(s.strip('123'))#454
s = 'crazyit.org is a good site'
s1 = '123;123;123;'
print(s.startswith('crazyit'))#True
print(s.endswith('site'))#True
print(s.find('c'))#0,这里是第一个'c'出现的位置
print(s.find('c',1))#-1,这里的-1表示没有发现'c',1是指从索引1开始往后搜索。默认是以0开始。
print(s.index('c'))#0
print(s.index('c',0))#0
#print(s.index('c',1))#这里报错了,substring not found,没有发现。
print(s.replace('crazyit','XXXXX'))#XXXXX.org is a good site
print(s1.replace('123','xx'))#xx;xx;xx;
print(s1.replace('123','xx',1))#xx;123;123;这里的位置3中的1表示只替换一个123为xx
但是呢,翻译映射表不容易记住,那么使用str的maketrans()方法。
s = 'abc'
table = str.maketrans('abc','123')
print(table)#{97: 49, 98: 50, 99: 51}
s1 = s.translate(table)
print(s)#abc
print(s1)#123
print(s.translate(table))#123
在数据分帧匹配的时候,用到了split()方法。
乘法:
乘方运算符 **
这个说明是以32位
a=-5,补码是1011,取反为0100,即为4
^异或操作,0101^1001 = 1100 = 8+4 = 12
5 = 0101 左移两位 0001 0100 = 2**4 + 2**2 = 16+4 = 20
-5 = 1011左移两位 0010 1100 = = 错啦!!!
[-5] 补码 = 1111 1111 1111 1011
左移两位 1111 1111 1110 1100 = -20
[-5] 补码 = 1111 1111 1111 1011
右移两位 1111 1111 1111 1110 = 0xFFFE
取反后加一1000 0000 0000 0010 = -2
print(3>1)#True
print(True == False)#False
print(False + True)#1
print(False - True)#-1
print(True + 1)#2
print(1 is 2)#False