1、数字:
bool(0)为false
bool({})、bool([])、bool(none)、bool('')都为false
bool(其他数字)为true、bool([1,2,3])不为空的都为true
1/2为浮点型,float 结果为0.5
1//2为整数 结果为0
2、字符串
'、"、'''
print('hello \n world')输出结果换行
print('hello \\n world')输出结果为hello \n world
print(r'hello \n world')输出结果为hello \n world,这里区别在于r可以使所有的字符串保持原样,如果遇到多个斜杠,不用每一个都使用转义。另外r不能用于'let's go'这种,否则报错
字符串运算:
'hello'+'world' = 'helloworld'
'hello' * 3 = 'hellohellohello'
'hello' * 'world' 报错
'hello world'[0] = 'h'
'hello world'[-1] = 'd'
'hello world'[0:5] = 'hello'
'hello world'[0:-1] = 'hello worl'
'hello world'[6:] = 'world'
'hello world'[:-5] = 'hello '
'hello world'[-5:] = 'world'
3、组
1)列表
list = [1,2,3,4,5,6]
list1 = ["hello","world",1,9,True,False]
list2 = [[1,2],[3,4]]
list[0]=1
list[0:2] = [1,2]
list[-1:] = [6]
list+list1 = [1,2,3,4,5,6,"hello","world",1,9,True,False]
list * 3 = [1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6]
2)元组
tuple = (1,2,3,4,5)
tuple1 = (1,'-1'.True)
tuple[0] = 1
tuple[0:2] = (1,2)
tuple + tuple1 = (1,2,3,4,5,1,'-1'.True)
tuple * 3 = (1,2,3,4,5,1,2,3,4,5,1,2,3,4,5)
区别:list 是可变的对象,元组 tuple 是不可变的对象,如果要创建的元组中只有一个元素,要在它的后面加上一个逗号‘,’。temp = (1,)
tuple 放弃了对元素的增删(内存结构设计上变的更精简),换取的是性能上的提升:创建 tuple 比 list 要快,存储空间比 list 占用更小。所以就出现了“能用 tuple 的地方就不用 list”的说法。
多线程并发的时候,tuple 是不需要加锁的,不用担心安全问题,编写也简单多了。
列表可以增删元素,使用pop(i)其中i是索引号,可以删除指定位置的元素,pop()不带索引删除最后一位,使用insert() 、append()增加元素,insert()可以将元素插入添加到指定位置,append()可以在list的尾部添加元素,想要替换某个元素,可以直接给对应索引号位置的元素赋值。
切片
'hello world'[0:8:2] = 'hlow'
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:
'hello world'[0:8] ----'hello wo'----按步长为2取值,第一个'h',第二个隔1取'l',第三个再隔1取'0',最后隔1取'w',结果为'hlow'
'hello world'[0:8:3] = 'hlw'
'hello world'[0:8] ----'hello wo'----按步长为3取值,第一个'h',第二个隔2取'l',第三个再隔2取'w',结果为'hlw'