python第二天
字符串驻留机制
仅包含 下划线、数字、字母时会触发该机制
>>> a="a_33"
>>> b="a_33"
>>> a is b
True
>>> c="cc#"
>>> d="cc#"
>>> c is d
False
查看“a”字符是否在a里面
“a” in a
True
字符串常用方法:
去除首尾信息
大小写转换
格式排版
其他方法
format()的基本用法
第一种写法:format后需要遵循0-1的顺序填写
a=“名字是:{0},年龄是:{1}”
a.format(“小龙”,18)
‘名字是:小龙,年龄是:18’
第二种写法:以name或age作为占位符,填写以等式的方式即可
c=“名字是{name},年龄是{age}”
b=c.format(name=“小龙”,age=19)
b
‘名字是小龙,年龄是19’
format的填充与对齐
数字格式化
数字的运算
二进制:按位与、按位或、异或
0b10110
0b10001
按位与:规则0与1 得0 上下逐个对应 结果为0b10000
按位或:规则0或1 得1 上下逐个对应 结果为0b10111
异或:规则为上下相同为0 不同为1 结果为0b00111
移位操作
python中一切皆对象
一个对象包含 id type value
列表对象的创建
list()创建字符串数组
a=list(“longlinsen”)
a
[‘l’, ‘o’, ‘n’, ‘g’, ‘l’, ‘i’, ‘n’, ‘s’, ‘e’, ‘n’]
range()创建整数列表
语法格式:range(start,end,step)
list(range(3,20,1))
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]list(range(3,-20,-1))
[3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19]
循环创建
a=[x2 for x in range(5)] **(a先为[0,1,2,3,4] 在执行2)**
a
[0, 2, 4, 6, 8]a=[x*2 for x in range(100)]
a
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198]
循环创建时还可加上if判断 筛选我们所需要的元素
a=[x*2 for x in range(100) if x%9==0]
a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
列表元素的增加和删除
append()方法,在末尾追加元素 建议使用
+运算符 ,直接拼接,相当于复制到新的对象,大量元素的移动不建议使用
extend()方法,扩展,直接将需要加入的数组放在原数组后面,建议使用
insert()插入,在某一位置插入某一元素
a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]a.append(1)
a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 1]a.extend ([20])
a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 1, 20]a.insert(2,11)
a
[0, 18, 11, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 1, 20]