r''
表示字符串内部
的字符串默认不转义。\n
写在一行里很差阅读,为了简化,Python容许用'''...'''
的格式表示多行内容。(这种写法也支持r标记不转义)print('''javascript
content1php
content2java
content3python
''')函数
/
除法计算结果是浮点数,即便是两个整数刚好整除。另外一种除法是//
,称为地板除,两个整数的除法仍然是整数。
>>> 9 / 3 3.0>>> 10 // 3 3
对于单个字符的编码,Python提供了ord()
函数获取字符的整数表示,chr()
函数把编码转换为对应的字符。编码
>>> ord('A') 65 >>> ord('中') 20013 >>> chr(66) 'B' >>> chr(25991) '文'
encode 和 decode
>>> "abc".encode("ascii") b'abc' >>> "中文".encode("utf-8") b'\xe4\xb8\xad\xe6\x96\x87'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode("utf-8") '中文'
若是中只有一小部分无效的字节,能够传入忽略错误的字节:
byteserrors='ignore'
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore') '中'
str
包含多少个字符,能够用len()
函数,len()
函数计算的是str
的字符数,若是换成bytes
,len()
函数就计算字节数。>>> len('ABC') 3 >>> len('中文') 2 >>> len(b'ABC') 3 >>> len(b'\xe4\xb8\xad\xe6\x96\x87') 6 >>> len('中文'.encode('utf-8')) 6
只要是非零数值、非空字符串、非空list等,就判断为,不然为。if x: print('True')xTrueFalse
sum = 0 for val in range(1, 10): sum+=val print("Sum:", sum)
names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name)
sum = 0 idx = 0 for val in range(1, 101): if val == 10: continue sum+=val idx+=1 if sum > 1000: break print("Sum:", sum)
dict = {"Name1":12, "Name2":13, "Name3":"mm"} print(dict["Name3"]) if ("Name1" in dict): print(dict["Name1"]) if ("Name4" in dict): print(dict["Name4"]) print(dict.get("Name")) #没对应key则返回None print(dict.get("Name", "没对应key时使用的默认值")) dict.pop("Name3")
set和dict相似,也是一组key的集合,但不存储value。因为key不能重复,因此,在set中,没有重复的key。 要建立一个set,须要提供一个list做为输入集合: >>> s = set([1, 2, 3]) >>> s {1, 2, 3} 注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。 重复元素在set中自动被过滤: >>> s = set([1, 1, 2, 2, 3, 3]) >>> s {1, 2, 3} 经过add(key)方法能够添加元素到set中,能够重复添加,但不会有效果: >>> s.add(4) >>> s {1, 2, 3, 4} >>> s.add(4) >>> s {1, 2, 3, 4} 经过remove(key)方法能够删除元素: >>> s.remove(4) >>> s {1, 2, 3} set能够当作数学意义上的无序和无重复元素的集合,所以,两个set能够作数学意义上的交集、并集等操做: >>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}