1. 程式人生 > >python-07.各種對象各種類

python-07.各種對象各種類

tran 左右 有序 fin part 子序列 user strip() itl

基本數據類型詳解

一、str 字符串

1、capitalize 字符串首字母大寫

  自身不變,會生成一個新的值

技術分享
1 name = ‘zhangsan‘
2 new_name = name.capitalize()
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 zhangsan
8 Zhangsan
技術分享

2、casefold 將所有大寫變小寫,casefold可以使任何語言的大寫變小寫

技術分享
1 name = ‘SunChenGuang‘
2 new_name = name.casefold()
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 SunChenGuang
8 sunchenguang
技術分享

3、lower 將所有大寫變小寫,lower只可以改變英文

技術分享
1 name = ‘SunChenGuang‘
2 new_name = name.lower()
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 SunChenGuang
8 sunchenguang
技術分享

4、center 文本居中

# 參數1: 表示總長度
# 參數2:空白處填充的字符(長度為1)

技術分享
1 name = ‘SunChenGuang‘
2 new_name = name.center(20,‘#‘)
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 SunChenGuang
8 ####SunChenGuang#####     
技術分享

5、count 統計傳入值在字符串中出現的次數

# 參數1: 要查找的值(子序列)
# 參數2: 起始位置(索引)
# 參數3: 結束位置(索引)

技術分享
 1 neme = ‘SunChenGuang‘
 2 v1 = neme.count(‘g‘)
 3 v2 = neme.count(‘g‘,0,6)
 4 v3 = neme.count(‘g‘,3,9)
 5 print(neme)
 6 print(v1)
 7 print(v2)
 8 print(v3)
 9 
10 輸出內容:
11 SunChenGuang
12 3
13 1
14 2
技術分享

6、endswith 是否以xx結尾,返回值是True或False

技術分享
1 name = ‘sunchegnuang‘
2 new_name = name.endswith(‘ong‘)
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 sunchenguang
8 True
技術分享

7、startswith 是否以xx開頭,返回值是True或False

技術分享
1 name = ‘sunchenguang‘
2 new_name = name.startswith(‘gu‘)
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 sunchenguang
8 True
技術分享

8、expandtabs 找到制表符\t,進行替換(包含前面的值)

# 參數默認是8

技術分享
 1 name = ‘sun\tchen\tguang\nsun\tchen\tlguang‘
 2 new_name = name.expandtabs(10)
 3 print(name)
 4 print(new_name)
 5 
 6 輸出內容:
 7 sun    chen    guang
 8 sun    chen    guang
 9 sun       chen      guang
10 sun       chen      guang
技術分享

9、 找到指定子序列的索引位置

  find:存在返回索引位置,不存在返回 -1

  index:存在返回索引位置,不存在 報錯

技術分享
1 name = ‘sunchegnaung‘
2 v1 = name.find(‘c‘)
3 v2 = name.index(‘s‘)
4 v3 = name.find(‘x‘)
5 # v4 = name.index(‘x‘)
6 print(v1,v2,v3)
7 
8 輸出內容:
9 3 3 -1
技術分享

10、字符串格式化

  % :根據百分號

技術分享
1 v1 = ‘姓名:%s;年齡:%s;性別:%s‘
2 new_v1 = v1%(‘孫晨光‘,20,‘男‘)
3 print(new_v1)
4 
5 輸出內容:
6 姓名:孫晨光;年齡:20;性別:男
技術分享

  format :根據下標

技術分享
1 v2 = ‘姓名:{0};年齡:{1};性別:{2}‘
2 new_v2 = v2.format(‘孫晨光‘,20,‘男‘)
3 print(new_v2)
4 
5 輸出內容:
6 姓名:孫晨光;年齡:20;性別:男
技術分享

  format_map :根據鍵值對

技術分享
1 v3 = ‘姓名:{name};年齡:{age};性別:{gender}‘
2 new_v3 = v3.format_map({‘name‘:‘張三‘,‘age‘:20,‘gender‘:‘男‘})
3 print(new_v3)
4 
5 輸出內容:
6 姓名:張三;年齡:20;性別:男
技術分享

11、isalnum 判斷是否是數字、字母、漢字

# 數字、字母、漢字 True

# 特殊符號 False

技術分享
1 name1 = ‘水電費12‘
2 name2 = ‘水電費12‘
3 v1 = name1.isalnum()
4 v2 = name2.isalnum()
5 print(v1,v2)
6 
7 輸出內容:
8 True False
技術分享

12、判斷是否是數字

isdecimal # ‘123‘

isdigit # ‘123‘,‘②‘

isnumeric # ‘123‘,‘二‘,‘②‘

技術分享
 1 num1 = "123"
 2 num2 = "②"
 3 num3 = "二"
 4 v1 = num1.isdecimal()    # ‘123‘
 5 v2 = num2.isdigit()      # ‘123‘,‘②‘
 6 v3 = num3.isnumeric()    # ‘123‘,‘二‘,‘②‘
 7 print(v1,v2,v3)
 8 
 9 輸出內容:
10 True True True    
技術分享

13、isidentifier 判斷變量名是否合法

技術分享
1 name1 = ‘guoshaolong1‘
2 name2 = ‘1guoshaolong‘
3 v1 = name1.isidentifier()
4 v2 = name2.isidentifier()
5 print(v1,v2)
6 
7 輸出內容:
8 True False
技術分享

14、islower 判斷是否全部是小寫

技術分享
1 name1 = ‘zhangsan‘
2 name2 = ‘Zhangsan‘
3 v1 = name1.islower()    #判斷是否全部是小寫
4 v2 = name2.islower()    #判斷是否全部是小寫
5 print(v1,v2)
6 
7 輸出內容:
8 True False
技術分享

  isupper 判斷是否全部是大寫

技術分享
1 name3 = ‘ZHANGSAN‘
2 name4 = ‘zhangSAn‘
3 v3 = name3.isupper()    #判斷是否全部是大寫
4 v4 = name4.isupper()    #判斷是否全部是大寫
5 print(v3,v4)
6 
7 輸出內容:
8 True False
技術分享

15、upper 全部變大寫

技術分享
1 name = ‘sunchenguang‘
2 new_name = name.upper()
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 sunchenguang
8 ZHANGSAN
技術分享

   lower 全部變小寫

技術分享
1 name = ‘ZHANGSAN‘
2 new_name = name.lower()
3 print(name)
4 print(new_name)
5 
6 輸出內容:
7 ZHANGSAN
8 zhangsan
技術分享

16、isprintable 是否包含隱含的\n \t

#不包含返回True ,包含返回False

技術分享
1 name1 = ‘zhangsan‘
2 name2 = ‘zhang\nsan‘
3 v1 = name1.isprintable()
4 v2 = name2.isprintable()
5 print(v1,v2)
6 
7 輸出內容:
8 True False
技術分享

17、isspace 是否全部是空格

技術分享
1 name = ‘  ‘
2 v = name.isspace()
3 print(v)
4 
5 輸出內容:
6 True
技術分享

18、元素拼接(元素字符串) 重要程度五顆星*****

技術分享
 1 name = ‘zhangsan‘
 2 v1 = "_".join(name)
 3 print(v1)
 4 
 5 name_list = [‘張三‘,‘李四‘,‘王五‘]
 6 v2 = "*".join(name_list)
 7 print(v2)
 8 
 9 輸出內容:
10 z_h_a_n_g_s_a_n
11 張三*李四*王五
技術分享

19、左右填充

  center  文本居中(詳見第4個)

  rjust  右填充

  ljust  左填充

技術分享
1 name = ‘zhangsan‘
2 v1 = name.rjust(20 ,"*")    #右填充
3 v2 = name.ljust(20 ,"*")    #左填充
4 print(v1)
5 print(v2)
6 
7 輸出內容:
8 *********zhangsan
9 zhangsan*********
技術分享

20、對應關系 + 翻譯

技術分享
1 m = str.maketrans(‘aeiou‘,‘12345‘)
2 name = ‘abcdefghijklmnopqrstuvwxyz‘
3 v = name.translate(m)
4 print(v)
5 
6 輸出內容:
7 1bcd2fgh3jklmn4pqrst5vwxyz
技術分享

21、partition 分割,保留分割的元素

技術分享
1 name = ‘zhang.san.si‘
2 v = name.partition(‘.‘) 3 print(v) 4 5 輸出內容: 6 (‘zhang‘, ‘.‘, ‘san.si‘)
技術分享

22、replace 替換

技術分享
1 name = ‘zhang.san.si‘
2 v1 = name.replace(‘.‘,‘*‘)
3 v2 = name.replace(‘.‘,‘*‘,1)
4 print(v1)
5 print(v2)
6 
7 輸出內容 :
8 zhang*san*si
9 zhang*san.si
技術分享

23、strip 移除空白,\n,\t

技術分享
1 name = ‘  zhangsan\t‘
2 v = name.strip()
3 print(name)
4 print(v)
5 
6 輸出內容:
7   zhangsan   
8 zhangsan
技術分享

24、swapcase 大小寫轉換

技術分享
1 name = ‘ZhangSan‘
2 v = name.swapcase()
3 print(name)
4 print(v)
5 
6 輸出內容:
7 ZhangSan
8 zHANGsAN
技術分享

25、zfill 往前面填充0

技術分享
1 name = ‘zhangsan‘
2 v = name.zfill(20)
3 print(v)
4 
5 輸出內容:
6 000000000zhangsan
技術分享

26、encode 轉換成字節

技術分享
1 name = ‘張三‘
2 v1 = name.encode(encoding=‘utf-8‘)
3 v2 = name.encode(encoding=‘gbk‘)
4 print(v1)
5 print(v2)
6 
7 輸出內容:
8 b‘\xe9\x83\xad\xe5\xb0\x91\xe9\xbe\x99‘
9 b‘\xb9\xf9\xc9\xd9\xc1\xfa‘
技術分享

二、int 整數

1、bit_length 當前整數的二進制表示,最少位數

技術分享
 1 age1 = 1
 2 age2 = 10
 3 age3 = 100
 4 print(age1.bit_length())
 5 print(age2.bit_length())
 6 print(age3.bit_length())
 7 
 8 輸出內容:
 9 1
10 4
11 7
技術分享

2、to_bytes 獲取當前數據的字節表示

技術分享
1 age = 20
2 v1 = age.to_bytes(10,byteorder=‘big‘)
3 v2 = age.to_bytes(10,byteorder=‘little‘)
4 print(v1)
5 print(v2)
6 
7 輸出內容:
8 b‘\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14‘
9 b‘\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00‘
技術分享

三、bool 布爾值

1、只有True或False

技術分享
 1 v1 = 0
 2 v2 = 1
 3 v3 = -1
 4 v4 = ‘‘
 5 v5 = []
 6 print(bool(v1))
 7 print(bool(v2))
 8 print(bool(v3))
 9 print(bool(v4))
10 print(bool(v5))
11 
12 輸出內容:
13 False
14 True
15 True
16 False
17 False
技術分享

四、list 列表

1、append 追加

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 user_list.append(‘老五‘)
3 print(user_list)
4 
5 輸出內容:
6 [‘老大‘, ‘老二‘, ‘老三‘, ‘老四‘, ‘老五‘]
技術分享

2、clear 清空

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 user_list.clear()
3 print(user_list)
4 
5 輸出內容:
6 []
技術分享

3、copy 拷貝(淺拷貝)

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 v = user_list.copy()
3 print(user_list)
4 print(v)
5 
6 輸出內容:
7 [‘老大‘, ‘老二‘, ‘老三‘, ‘老四‘]
8 [‘老大‘, ‘老二‘, ‘老三‘, ‘老四‘]
技術分享

4、count 計數

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘,‘老三‘]
2 v = user_list.count(‘老三‘)
3 print(user_list)
4 print(v)
5 
6 輸出內容:
7 [‘老大‘, ‘老二‘, ‘老三‘, ‘老四‘, ‘老三‘]
8 2
技術分享

5、extend 擴展原列表

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 user_list.extend([‘郭少龍‘,‘少龍‘])
3 print(user_list)
4 
5 輸出內容:
6 [‘老大‘, ‘老二‘, ‘老三‘, ‘老四‘, ‘郭少龍‘, ‘少龍‘]
技術分享

6、index 查找元素索引,不存在則報錯

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 v = user_list.index(‘老大‘)
3 print(v)
4 
5 輸出內容:
6 0
技術分享

7、pop 刪除並且獲取元素 - 根據索引刪除

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 v = user_list.pop(1)
3 print(v)
4 print(user_list)
5 
6 輸出內容:
7 老二
8 [‘老大‘, ‘老三‘, ‘老四‘]
技術分享

8、remove 刪除 - 根據值刪除

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 user_list.remove(‘老二‘)
3 print(user_list)
4 
5 輸出內容:
6 [‘老大‘, ‘老三‘, ‘老四‘]
技術分享

9、reverse 翻轉

技術分享
1 user_list = [‘老大‘,‘老二‘,‘老三‘,‘老四‘]
2 user_list.reverse()
3 print(user_list)
4 
5 輸出內容:
6 [‘老四‘, ‘老三‘, ‘老二‘, ‘老大‘]
技術分享

10、sort 排序

技術分享
 1 正序:
 2 nums = [5,4,3,2,6,10,7]
 3 nums.sort()
 4 print(nums)
 5 
 6 輸出內容:
 7 [2, 3, 4, 5, 6, 7, 10]
 8 
 9 
10 倒序:
11 nums = [5,4,3,2,6,10,7]
12 nums.sort(reverse=True)
13 print(nums)
14 
15 輸出內容:
16 [10, 7, 6, 5, 4, 3, 2]
技術分享

11、補充內容:range

  1、輸出1-10

技術分享
 1 for i in range(1,11):
 2     print(i)
 3 
 4 輸出內容:
 5 1
 6 2
 7 3
 8 4
 9 5
10 6
11 7
12 8
13 9
14 10
技術分享

  2、輸出1-10 奇數

技術分享
1 for i in range(1,11,2):
2     print(i)
3 
4 輸出內容:
5 1
6 3
7 5
8 7
9 9
技術分享

  3、倒序輸出10-1

技術分享
 1 for i in range(10,0,-1):
 2     print(i)
 3 
 4 輸出內容:
 5 10
 6 9
 7 8
 8 7
 9 6
10 5
11 4
12 3
13 2
14 1
技術分享

  4、輸出列表內容+序號

技術分享
1 name = [‘張三‘,‘李四‘,‘王五‘]
2 for i in range(0,len(name)):
3     print(i+1,name[i])
4 
5 輸出內容:
6 1 張三
7 2 李四
8 3 王五
技術分享

12、補充內容:enumerate 額外生成一列有序的數字

技術分享
1 name = [‘張三‘,‘李四‘,‘王五‘]
2 for i,ele in enumerate(name,1):
3     print(i,ele)
4 
5 輸出內容:
6 1 張三
7 2 李四
8 3 王五
技術分享

五、tuple:元組(不可被修改的列表;不可變類型)

# 元組如果只有一個值,需要在最後加逗號

1、count 獲取個數

技術分享
1 user_tuple = (‘張三‘,‘李四‘,‘王五‘,‘張三‘,)
2 v = user_tuple.count(‘張三‘)
3 print(v)
4 
5 輸出內容:
6 2
技術分享

2、index 獲取值的第一個索引位置

技術分享
1 user_tuple = (‘張三‘,‘李四‘,‘王五‘,‘張三‘,)
2 v = user_tuple.index(‘張三‘)
3 print(v)
4 
5 輸出內容:
6 0
技術分享

六、dict:字典

1、clear 清空

技術分享
1 dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2 dic.clear()
3 print(dic)
4 
5 輸出內容:
6 {}
技術分享

2、copy 淺拷貝

技術分享
1 dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2 v = dic.copy()
3 print(dic)
4 print(v)
5 
6 輸出內容:
7 {‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}
8 {‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}
技術分享

3、get 根據key獲取指定的value;不存在不報錯

技術分享
1 dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2 v1 = dic.get(‘k111‘,‘111‘)
3 print(v1)
4 
5 輸出內容:
6 111
技術分享

4、pop 刪除並獲取對應的value值

技術分享
1 dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2 v1 = dic.pop(‘k1‘)
3 print(v1)
4 
5 輸出內容:
6 v1
技術分享

5、popitem 隨機刪除鍵值對,並獲取到刪除的鍵值

技術分享
1 dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2 v = dic.popitem()
3 print(v)
4 print(dic)
5 
6 輸出內容:
7 (‘k2‘, ‘v2‘)
8 {‘k1‘: ‘v1‘}
技術分享

6、setdefault 增加,如果存在則不做操作

技術分享
1 dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2 dic.setdefault(‘k3‘,‘v3‘)
3 print(dic)
4 
5 輸出內容:
6 {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘v3‘}
技術分享

7、update 批量增加或修改

技術分享
1 dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2 dic.update({‘k3‘:‘v3‘,‘k1‘:‘v33333‘})
3 print(dic)
4 
5 輸出內容:
6 {‘k2‘: ‘v2‘, ‘k1‘: ‘v33333‘, ‘k3‘: ‘v3‘}
技術分享

七、set,集合(不可重復的列表;可變類型)

1、s1中存在,s2中不存在

技術分享
 1 s1 = {"a",‘b‘,‘c‘,‘d‘,‘e‘}
 2 s2 = {"a",‘b‘,‘c‘,‘d‘}
 3 v = s1.difference(s2)
 4 print(v)
 5 #### s1中存在,s2中不存在,然後對s1清空,然後在重新復制
 6 s1.difference_update(s2)
 7 print(s1)
 8 
 9 輸出內容:
10 {‘e‘}
11 {‘e‘}
技術分享

2、s2中存在,s1中不存在

技術分享
1 s1 = {"a",‘b‘,‘d‘,‘e‘}
2 s2 = {"a",‘b‘,‘c‘,‘d‘}
3 v = s2.difference(s1)
4 print(v)
5 
6 輸出內容:
7 {‘c‘}

python-07.各種對象各種類