python基礎2-數字和字串
阿新 • • 發佈:2022-01-06
GBK編碼是中文編碼
以一種編碼編,以另外一種編碼讀,肯定會亂碼
utf8中文佔用3個位元組
gbk中文佔用2個位元組
python的while也有else語句,但是隻執行一次
IDE整合開發環境
“鄭建文”,建文,是子字串,也叫子序列
運算子
- in,和not in。 if判斷後的條件,本質上就是true或者false
- 算數運算子和賦值運算子,得到的是數值
- 比較運算,邏輯運算和成員運算子,得到的布林值
資料型別
- 數字,字串,布林值,每種型別有自己的魔法功能,變數.就可以呼叫魔法
數字
- int將字串轉換為數字,num = "0011",v = int (num, base = 16),將16進位制的num轉換成10進位制
- type()獲取資料的型別
- age.bit_length(),表示age的數字取值,用二進位制至少用幾位來表示。如5的二進位制位數至少是3
字串test= "alex"(7個基本魔法,4個灰魔法)
- test.capitalize(),首字母大寫
- test.casefold()和test.lower,所有的變小寫
- 遇到魔法中def center(self,width,fillchar = None)沒有等號的,都是必須帶的。如果有=None,則預設為None。該函式是設定寬度,並將內容居中
- test.l just(20,"*"),佔用20位,將test放置左邊,*補充空位。r just。
- test.count('r'),計算r在test中出現多少次
- encode和decode很重要
- test.endswith('x'),字串是否以x結尾。startswith
- test.find('ex')在字串中找到第一個ex,獲取其位置,找不到返回-1。 index(‘x’)也可以找x的位置,找不到返回錯誤。
- test = 'i am {name}, age = {a}'。v= test.format(name='alex', a=19),格式化,將format中的值替換到test對應的佔位符
- test = ‘ i am {0}, age = {1}’,test.format('alex',19),按照format中的順序填入test對應的佔位符
- test.format_map({"name":'alex',"a":19}),利用字典的性質進行格式化,與format功能相同
- test.isanum(),檢測test字串是否只包含字母和數字
- test.expandtabs(6),表示按照6位一組來檢測有無tab,如果有,則當前組不夠6位的數字用空格湊。/t+前邊的等於6位長度
- test.isalpha檢測test是否僅為字母
- test.isdecimal,和test.isdigit均是判定是否是數字,test.isnumeric()也能判斷是否為數字,包括“二”
- test.isidentifier()檢測test是否是識別符號,只由字母,數字,下劃線組成
- test.isprintable(),檢測字串中是否有列印時不可顯示的東西,如/t,/n等
- test.isspace(),判斷字串是否全為空格
- test.istitle(),檢測字串是否為標題。標題的每個單詞的首字母需要大寫。test.title(),將字串轉換為標題
- !!!t.join(test),將字串的每個元素按照指定分隔符t拼接起來,如t = " ",則將test每個元素之間加個空格。在列表中也能用
- test.upper,isupper,lower,islower,轉換為大寫,是否全部為大寫
- test.lstrip('abc')從左向右,使用字元abc中的子序列進行最大正向匹配,然後去除匹配成功的序列。rstrip,strip,去除左右空白。最長公共子序列
- m = str.makettrans("aeiou", "12345"),將兩個字元做匹配,a對應1,然後test.translate(m),是將字串test中的字元按照m給出的對應關係進行替換,如將test中的a替換為1
- 正則表示式是以下兩個魔法的功能合集:
- test.partition('s)將test按照s從左開始分割成3份,rpartition('s')是從右開始分割
- !!!test.split('s',2),是將test從左開始,按照s分割成3份,不顯示s。rsplit是從右開始。
- test.splitlines(True),是將test按照換行符號進行分割,並顯示換行符號
- test.swapcase(),是對test每個字元進行大小寫互換,大寫字元轉成小寫,小寫字元轉成大寫
- test.replace("ex","bbb",n),對test從左開始的前n個ex替換成bbb
-
灰魔法:
- 索引下標來獲取字串中的某一個字元。
- 擷取或切片[ 2: 4],左閉右開。
- len獲取長度。len在其他資料型別中也能用到,如列表。
-
for迴圈,for 變數名 in 字串:print (變數名)。for迴圈自動完成+1的操作,將字串一個個遍歷。for迴圈的灰魔法,在其他資料型別中也能用,break和continue也支援
-
深灰魔法
-
字串在記憶體中一旦建立,就不可修改。如果修改,則重新建立一個字串。原因是,如果修改內容大於原本內容,則空間不夠用。在java,c#同樣
- 建立連續的數字,v= range(100,x),for item in v:print(item),python3中不會一開始就建立0到100,只有使用時才建立。x是步長,每x個建立一個