本文原創,版權屬作者個人所有,如需轉載請聯系作者本人。Q&微:155122733
--------------------------------------------------------------------------------------------------------
代碼如下:
#!/usr/bin/python a = 100 print(type(a)) str = "abc" print(type(str)) print(str[0]) # display a 取字符串第0個字符 print(str[1]) # display b 取字符串第1個字符 print(str[2]) #display c 取字符串第2個字符 #print(str[3]) #error :overflow 超出邊界,發生溢出 print(str[0:2]) # display ab 切片語法【起始:結束】包含起始的下標,不包含結束的下標,相當於半閉半開區間 print(str[0:4:2]) #display ac 切片語法【起始:結束:步長】 print(str[-1]) # display c 從末尾處取 print(str[-1:-3]) # display 空格 因為起始位置超過了結束位置 print(str[-1:-4:-1]) #display cba 步長為-1 代表從末尾往起始取字符 print(str[::-1]) #display cba 逆序 print(str[::1]) #display abc
a變量為int類型,占用4個字節
str變量在平台中占用3個字節,分析如下(每個表格代表一個字節):
a | b | c |
而在內存中只能存儲0 1 0 1的數字, 因此真正則是a b c各字母所對應的ASCII碼(97 98 99)以二進制的方式存儲的。
1100001 | 1100010 | 1100011 |
因python為高級語言,在實際當中我們無需研究它在底層具體如何存儲。只知道字符串的每個字符占用一個字節就ok了。