day3:编码,基本数据类型操作,字符串的操作
?
一.字符編碼
1.ASCII碼:? ?8位,? 28=256個碼位,最前一位始終是0,? ? ?最早計算機編碼,由美國人創建的,包含了英文字母(大寫/小寫),數字,標點符號,特殊字符,還包含$%^@#...
2.GBK (國標碼)? 16位? 2個字節
3.unicode? 萬國碼 ? ? usc-2? 16位 ?? 2字節
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? usc-4? 32位 ? 4字節
4.UTF-8 ? :英文 ?? 8bit? ? 1byte? ? ? ?00000000
? ? ? ? ? ? ? ?? 歐洲 ? 16bit ? 2byte? ? ? 00000000 00000000?
? ? ? ? ? ? ? ?? 中文 ?? 24bit ? 3byte? ? ? 00000000 00000000 00000000
二.基本數據類型的概述
1.int
#bit_length() 計算整數在內存中占用的二進制碼的長度 a = 3 # 1+1= 10 +1 = 11 print(a.bit_length()) # 二進制長度,11長度為22.布爾值(bool)
? 取值只有True,False? ? ? ? ? ? ?# 空的東西都是False, 非空的東西都是True
# 字符串轉換成數字 s = "128" i = int(s) print(type(i)) #結果是<class 'int '> # bool類型轉換成數字 True: 1 False:0 b = False c = int(b) print(c) # int轉換成bool 零: False 非零: True a = 0 b = bool(a) print(b) s = "" # "" 空字符串表示False, 非空字符串表示:True if s:print("哈哈") else:print("呵呵") #結果是:呵呵 m = None # 空 連空氣都不如. 真空, False if m :print("a") else:print("b") #b3,字符串(str)
把字符連成串,用',",''',"""引起來的內容被稱為字符串.
1)索引,也就是下標,從0開始
#索引 s = "我愛周杰倫" print(s[0]) #獲取第0個,也就是"我" print(s[1]) #"愛" print(s[2]) print(s[3]) print(s[4]) print(s[-1]) #獲取最后一個,倒著數,也就是"倫" print(s[-2]) #"杰" print(s[-3]) print(s[-4])2)切片,利用下標截取部分字符串 的內容
? 通過索引獲取到的內容. 還是一個字符串,切片可以對字符串進行截取
?語法:? ? ?s[起始位置: 結束位置]
? 特點:? ?顧頭不顧腚
切片 s = "alex和wusir經常在一起" s1 = s[5:10] print(s1) #"wusir" s3 = s[5:] # 默認到結尾 s4 = s[:10] # 從頭開始 s5 = s[:] # 從頭到尾都切出來 s6 = s[-2:] # 從-2 切到結尾 默認從左往右切 3)步長,正負號分別表示從左往右數,從右往左數;大小表示每幾個取一次
語法:? ? ?s[起始位置: 結束位置: 步長]
三.格式化輸出
S = "我叫{},今年{}歲了,我喜歡{}".format("sylar",18,"周杰倫")
S = "我叫{0},今年{1}歲了,我喜歡{2}".format("sylar",18,"周杰倫")
S = "我叫{name},今年{age}歲了,我喜歡{hobby}".format(name,age,hobby)
四.字符串的相關操作 (字符串是不可變的,任何操作對原字符串不會有任何影響)
1.大小寫轉來轉去
s1.capitalize()? #首字母換成大寫
s1.lower() ? ? ?? #全部轉換成小寫
s1.upper() ? ? ? #全部轉換成大寫
s1.swapcase() #大小寫互換,大寫換成小寫,小寫換成大寫
s1.casefold() ? #全部轉換為小寫
s1.title() ? ? #被特殊字符或者漢字隔開的單詞首字母大寫
?
2.切來切去
s1.center(10,"*") ?? #把字符串拉長為10位,不夠的位數用*補全
s1.strip() ? ? ? ? ? ? ? ?? #將字符串前后的空格去掉
s1.lstrip() ? ? ? ? ? ? #去掉左邊空格
s1.rstrip() ? ? ? ? ? ? #去掉右邊空格
s1.strip("abc") ? ? #去掉左右開頭指定的元素.
s1.replace("old","new")? #使用new替換old
s1.replace("old","new",2) ? #使用new替換前2個old
lst= s1.split("A") ? 將s1進行切割,用A切割,消耗掉的是A,并將切割好的字符串放入列表lst中
lst= s1.split("A",2) ? 將s1進行切割,,用A切割,消耗掉的是A,并將切割好的字符串放入列表lst中, ?? 但是只對前面2個進行切割
?
3.查找
s1.startswith("abc") ? ? #判斷是否以abc開頭
s1.endswith("語言") ?? #判斷是否以"語言"結尾.
s1.count("a") ? #計算a在字符串中出現的此數
s1.find("a") ?? #查找a出現的位置? 找到==>返回位置 ? ? 找不到===>返回-1
s1.index("a") ? #查找a出現的位置 ?? 找到===> 返回位置 ?? 找不到 ==> 程序報錯!!!
? 4.條件判斷
s1.isalnum() ? #判斷是否字母和數字組成
s1.isalpha() ? #判斷是否由字母組成
s1.isdigit() ?? #判斷是否由數字組成,不包含小數點
s1.isnumeric() ? #判斷是否由數字組成,并且還識別中文的數字
s1.isupper() ?? #判斷是否是大寫字母
s1.islower() ? ? #判斷是否是小寫字母
s1.isdigit() ? #判斷是否是數字
? 5.迭代
for循環來遍歷(獲取)字符串中的每一個字符
可迭代對象:可以一個一個往外取值的對象
for循環,語法:
? ? ? for 變量 in 可迭代對象:
循環體
?? while循環遍歷
# count = 0# while count < len(s):
# print(s[count])
# count = count + 1
?
轉載于:https://www.cnblogs.com/mwj-blog1/p/9281011.html
總結
以上是生活随笔為你收集整理的day3:编码,基本数据类型操作,字符串的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统操作审计-让history
- 下一篇: DOM 4.1 规范成为候选推荐标准陷困