python 第二天 資料型別
阿新 • • 發佈:2018-12-08
# 資料型別 # python2 int有範圍 long 長整型 # python3 所有整型int # int str list tuple元組 dict字典 bool # 強制轉換 str = "123" num = int(str) nnum = int(num, base=n)轉換為n進位制 # 型別檢視 print(type()) # 選中按tab 區域縮排 num = 10 bynum = num.bit_length() # 求二進位制位 print(bynum) bionum = int(str(num), base=2) # 換算成二進位制 print(type(bionum), bionum) str1 = "life is short" str2 = str1.capitalize() # 首字母大寫 print(str2) str3 = str1.casefold() # 首字母小寫,更強大 print(str3) str4 = str1.lower() # 字母小寫 islower() 判斷是否全部小寫 print(str4) # 不區分大小寫的方法 全部變成小寫 # upper() 大寫 isupper() 判斷是否全部大寫 # swapcase() 大小寫互相轉換 str5 = str1.swapcase() print(str5) str5 = str1.center(30) # def 函式 self 引數不需要 傳遞值 # width 設定寬度 # 第三個引數 預設值引數 空白填充 print(str5) # ljust() 同center 居左 rjust 居右 # zfill() 引數僅 寬度 用0填充 count = str1.count('i') # 計數 第二、三引數 字串範圍 print(count) # encode decode bif = str1.endswith('t') # 判斷是否以此結尾 # startwith # 找到 =-1 index() 找不到則出錯 num = str1.find('i') # 找位置 第二、三引數 字串範圍 區間 左閉右開 # 傳值 格式化 佔位符 teststr = 'i am {name}, my age is {iage}' newstr = teststr.format(name = 'hm', iage = 10) print(newstr) # or teststr = 'i am {0}, my age is {1}' # 必須從0開始 newstr = teststr.format('hm', 10) print(newstr) # format_map teststr = 'i am {name}, my age is {iage}' newstr = teststr.format_map({'name':'hm', 'iage':10}) print(newstr) str1 = "ABCDEF————HG" bif = str1.isalnum() # 判斷是否全是 字母 數字 # isalpha() 字母 isdigit() 數字 支援特殊的數字符號 isdecimal() 數字 isnumeric 數字 支援中文2 print(bif) str1 = "NAME\tCODE\tNUMBER\nTIME\tBIRTH\tLOVE" bif = str1.expandtabs(20) # 將字串按照20個字元一組劃分,若遇到\t則改組結束,將tab轉換為空格 print(bif) # 判斷識別符號 isidentifier() 可與關鍵字重複 符合命名規則為 True # isprintable() 是否存在列印時不可顯示字元 # isspace() 全部是 space 為 True # istitle() 所有單詞首字母大寫 為 True # title() 所有單詞首字母轉換為大寫 # join() str1 = '你是風兒我是沙' tool = ' ' str2 = tool.join(str1) print(str2) # str2 = ' '.join(str1) str1 = ' test ' print(str1.strip()) # 去除左右空白(\n \t也可以去除) # 含引數時 去除引數子序列 (最多匹配 -> 最少匹配) # 另一種理解 去除引數 元素 # lstrip 去左 rstrip 去右 str1 = 'aeiou' str2 = '12345' str3 = 'today is a terrible day' str4 = str1.maketrans(str1, str2) print(str3.translate(str4)) str1.replace("a","1") # 替換 str1 = "iaibicieifig" print(str1.partition('i')) # 只能分割成三份 rpartition() print(str1.split('i', 6)) # 會刪去分割的標識 rsplit() # 正則表示式 可以設定分割元素的 取捨 # splitlines(True\False) 根據\n 分割 True保留\nTIME\tBIRTH\tLOVE # 陣列操作 索引 str1 = "ABCDEFG" ch = str1[0] str2 = str1[0:4] # 索引範圍 0:-1 全部範圍 print(len(str1)) # 獲取字串長度 python2 與 3 不同 list1 = ['aa','bb','cc','dd'] # 按逗號分 # len join等同樣用於列表 # 範圍迴圈 for i in str1: print(i) vector = range(100) # python2.7 和 3 不同 建立連續的數字 # 前者此刻已經建立 後者在使用時才建立 # range(1, 100, 5) 首 尾 間隔 for item in vector: print(item)