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}