基本的資料型別和內建方法01
阿新 • • 發佈:2019-11-05
整型
用途:一般用於定義整型,比如年齡,身份證號,QQ號
定義方式
age = 18 # age = int(18)
常用方法:數學計算,進位制轉換
print(bin(100)) # 十進位制轉二進位制 print(oct(100)) # 十進位制轉八進位制 print(hex(100)) # 十進位制轉十六進位制 print(int('1100100', 2)) # 十進位制轉換任何型別,int('需要轉換的十進位制數',型別)
有序or無序:無序
可變or不可變:不可變
值變id不變的是可變型別
值變id也變的是不可變型別
存一個值or多個值:存一個值
浮點型
用途:用於記錄小數,身高,體重,薪資等
定義方式:
height = 1.0 # height = float(1.0)
常用方法:數學計算
型別總結:無序,不可變,存一個值
字串
用途:用於儲存一些描述性的資訊,愛好,名字,性別
定義方式:
# 1、單引號 s1 = '大象' # 2、雙引號 s2 = "大象2" # 3、三單引號/雙引號 s3 = '''大象3''' s4 = """大象4""" print(s1) print(s2) print(s3) print(s4) # 以上三種方式沒有任何區別,但不能混用 # 可以巢狀,比如內單外雙,內雙外單這樣的 s5 = '我喜歡"大象"' print(s5) # 字串前加一個小寫的r,代表轉義,轉義為字串 s6 = r"我喜歡'大象'1.234" print(type(s6)) 列印結果: 大象 大象2 大象3 大象4 我喜歡"大象" <class 'str'>
優先掌握知識點***
1、索引取值(正向取、反向取),只能取不能存
s1 = 'hello world' print(s1[1]) # 正向取字母e print(s1[-10]) # 反向取字母e 列印結果: e e
2、索引切片:擷取字串中的一小段字串
s1 = 'hello world' print(s1[2:5]) print(s1[4:]) print(s1[:5]) print(s1[0:-2:2]) print(s1[::-1]) 列印結果: llo o world hello hlowr dlrow olleh
3、成員運算:in,not in
s1 = 'hello world' print('o'in s1) print('o' not in s1) 列印結果: True False
4、strip:去除字串兩邊的空格,中間不算
input無論接收的是什麼型別,一定返回字串
a1 = '******kang******' # 只想取出kang print(a1.strip("*")) # strip()裡的符號可以自定義 列印結果: kang
5、split:切分
作用:對字串進行切分,可以指定切分的分隔符,返回是一個列表
a1 = 'kang|18|male' print(a1.split('|')) 列印結果: ['kang', '18', 'male']
6、len:獲取當前資料中的元素的個數
a = 'hello' print(len(a)) for i in a: print(i) 列印結果: 5 h e l l o
需要掌握的知識點
7、restrip/lstrip
restrip:去除右邊的空格/字元
lestrip:去除左邊的空格/字元
a1 = '*******kang*******' print(a1.rstrip('*')) print(a1.lstrip('*')) 列印結果: *******kang kang*******
8、lower,upper
lower:所有字元改成小寫
upper:所有字元改成大寫
a1 = 'Kang' print(a1.lower()) print(a1.upper()) 列印結果: kang KANG
9、startswith/endswith : 判斷當前字串是否以。。。開頭,或者以。。結尾,返回的一定是布林值
s1 = 'Hello world' print(s1.startswith("He")) print(s1.endswith('ld')) 列印結果: True True
10、.format/f-string
# 你的名字是:kang,你的年齡是:18 name = 'kang' age = 21 print("你的名字是:", name, "你的年齡是,", age) print("你的名字是:{},你的年齡是:{}".format(name, age)) print("你的名字是:{0},你的年齡是:{1}".format(name, age)) print("你的名字是:{name},你的年齡是:{age},性別是:{gender}".format(age=age, name=name, gender='male')) # f-string: # 通過大括號接收變數,在字串前面一定要加一個小寫f,,,,在python3.6以後才有 print(f"你的名字是:{name},你的年齡是:{age}") 列印結果: 你的名字是: kang 你的年齡是, 21 你的名字是:kang,你的年齡是:21 你的名字是:kang,你的年齡是:21 你的名字是:kang,你的年齡是:21,性別是:male 你的名字是:kang,你的年齡是:21
11、split,rsplit
s1 = 'name,age,gender' print(s1.split(' , ', 1)) # 可指定切分次數 列印結果: ['name,age,gender']
12、join:將可迭代物件(l1列表中每個元素按照前面字串中的分隔符進行拼接)
l1 = ['kang', '21', 'male'] print('|'.join(l1)) 列印結果: kang|21|male
13、replace:將字串中的元素替換,引數先老值再新值
s1 = 'kang,21' print(s1.replace('kang', 'zhao')) 列印結果: zhao,21
14、isdigit:判斷當前字串中的資料是否為一個數字(可判斷bytes,unicode)
score = input('請輸入分數:') if score.isdigit(): score = int(score) if score >= 90: print('優秀') else: print('你tmd能不能好好輸')
瞭解的知識點
find / rfind / index / rindex / count
# find:查詢當前字串中某個元素的位置,返回索引,找不到就返回-1 s1 = '你今天吃飯吃了嗎?' print(s1.find("?", )) # index # 查詢當前字串中某個元素的位置,返回索引,找不到返回異常 print(s1.index("?")) # count # 統計當前字串中某一個元素的個數 print(s1.count("吃")) 列印結果: 8 8 2
center \ ljust \ rjust \ zfill
print("歡迎光臨".center(8,"-")) print("歡迎光臨".ljust(30,"-")) print("歡迎光臨".rjust(30,"-")) print("歡迎光臨".zfill(50)) s1 = """ kang\t18\tmale\t zhao\t18\tfemale\t """ print(s1.expandtabs()) print(s1.expandtabs(20)) 列印結果: --歡迎光臨-- 歡迎光臨-------------------------- --------------------------歡迎光臨 0000000000000000000000000000000000000000000000歡迎光臨 kang 18 male zhao 18 female kang 18 male zhao 18 female
is系列
a = b'10' b = '10' c = '十' d = 'IV' print(type(a)) print(b.isnumeric()) print(c.isnumeric()) print(d.isnumeric()) # isdigit: unicode,bytes print(a.isdigit()) print(b.isdigit()) 列印結果: <class 'bytes'> True True False True True
列表
用途:用於存一個或多個不同型別的值
定義方式:通過中括號存值,每個值之間通過都好進行分隔
常用方法:
1、索引取值(正反都可以取,不僅可取,還可以存)
l1 = [1, 2, 3, 4, 5, 6, 7] print(l1[2]) 列印結果: 3
2、索引切片
l1 = [1, 2, 3, 4, 5, 6, 7] print(l1[2:5]) print(l1[4:]) print(l1[:5]) print(l1[0:-2:2]) print(l1[::-1]) 列印結果: [3, 4, 5] [5, 6, 7] [1, 2, 3, 4, 5] [1, 3, 5] [7, 6, 5, 4, 3, 2, 1]
3、append:追加值,只能新增到列表的最後,一次性只能新增一個值***
l1 = [1, 2, 3, 4, 5, 6, 7] l1.append(1000) print(l1) 列印結果: [1, 2, 3, 4, 5, 6, 7, 1000]
4、insert:插入值,通過索引指定插入位置
l1 = [1, 2, 3, 4, 5, 6, 7] l1.insert(3, 999) print(l1) 列印結果: [1, 2, 3, 999, 4, 5, 6, 7]
5、extend:追加必須是可迭代物件,在最後
l1 = [1, 2, 3, 4, 5, 6, 7]
l1.extend([8, 9]) print(l1) 列印結果: [1, 2, 3, 4, 5, 6, 7, 8, 9]
6、remove:指定值刪除,比較徹底
l1 = [1, 2, 3, 4, 5, 6, 7] l1.remove(1) print(l1) 列印結果: [2, 3, 4, 5, 6, 7]
7、pop:不傳值,預設從最後開始刪,指定索引刪,pop是有返回值的
l1 = [1, 2, 3, 4, 5, 6, 7] val = l1.pop(2) print(l1) print(val) 列印結果: [1, 2, 4, 5, 6, 7] 3
&n