python17之day2
一、進制
1.進制簡介
進制就是進位制,是一種進位方法。計算機語言就是二進制,計算機能直接識別二進制數據,其它數據都不能直接識別。
2.常用進制
1) 十進制:運算規則”逢十進一”;
2) 八進制:運算規則”逢八進一”;
3) 十六進制:運算規則”逢十六進一”;
4) 二進制:運算規則”逢二進一”。
3.進制轉換
我們有最常用的轉換方法:用十進制數據除以目標進制得到余數,並將余數從最後一個到第一個排列,就是轉換後的目標進制表示形式(簡稱“除基取余,直到商為0,余數反轉”)。以十進制43向二進制轉換為例,得到的數值排列:101011,所以十進制43的二進制表示形式為101011,同理,如果求八進制、十六進制表示形式,用43除以8、16即可。
二、基本數據類型
1.字符串
類:str
方法:選中str,按住command(ctrl)+左鍵跳轉至對應的方法
字符串常用方法歸納如下:
1)capitalize
功能:實現字符串首字母大寫,自身不變,會生成一個新的值
2)casefold
功能:將所有大寫變成小寫,另外支持多門語言變化
3)lower,upper
功能:
lower:將所有的大寫變小寫,局限英文
upper:將所有小寫變大寫
4)center
功能:文本居中,空白處填充字符
參數1:表示總長度;參數2:空白處填充的字符(長度為1)
例子:
1 name = ‘tx‘ 2 v = name.center(20,‘*‘) 3 print(name) 4 print(v)
輸出:
tx *******tx********
5)count
功能:表示要查找的子序列在字符串中出現的次數
參數1:要查找的值(子序列);參數2:起始位置(索引);參數3:結束位置(索引)
6)endswith
功能:判斷是否以xx結尾
參數1:判斷值;參數2,3:起始和結束的位置(個數)
7)expandtabs
功能:找到制表符\t,進行替換(包含前面的值)
8)find
功能:找到指定子序列的索引位置,不存在返回-1
9)format,%s,format_map
功能:字符串格式化
10) isalnum
功能:是否是數字或漢字
11)isdecimal,isdigit,isnumeric
功能:是否是數字
12) isidentifer
功能:是否是有效的標識符
13)islower(isupper)
功能:是否全部是小寫(大寫)
14)isprintable
功能:是否包含隱含的XX(包含\n,\t等不可見字符為False)
15)join
功能:元素拼接
16)rjust,ljust
功能:左右填充,類似center
17)maketrans,translate
功能:創建對應關系,翻譯轉換
18)partition
功能:分割,保留分割的元素
19)replace
功能:替換
20)strip
功能:移除空白,\n,\t, 自定義
21)zfill
功能:填充0
2.整數
類int
1)bit_length
功能:當前整數的二進制表示的最少位數
2)to_bytes
功能:獲取當前數據的字節表示
3.list列表
類list
可變類型
1)append
功能:追加
2)clear
功能:清空
3)copy
功能:淺拷貝
4)count
功能:計數
5)extend
功能:擴展原列表
6)index
功能:查找元素索引,沒有報錯
7)pop
功能:刪除並獲取元素,索引
8)remove
功能:刪除,值
9)reverse
功能:翻轉
10)sort
功能:排序
4.range
1)創建
1-1):立即生成數字
range(1,11) # 生成 1,2,3....,9,10
1-2):不會立即生成,只有循環叠代,才一個個生成;
for i in range(1,11): print(i)
1 2 3 4 5 6 7 8 9 10
5.enumerate
功能:額外生成一列有序的數字
例子
x = [‘lilei‘,‘alex‘,‘lucy‘] for i,j in enumerate(x,1): print(i,j) #1 lilei #2 alex #3 lucy
6.tuple元組
不可被修改類型,子不可被修改,孫可以
1)創建
user_tuple = (‘hex‘,‘eric‘,‘seven‘,‘leilei‘)
2)count
功能:獲取個數
user_tuple = (‘hex‘,‘eric‘,‘seven‘,‘lei‘) v = user_tuple.count(‘hex‘) print(v)
#2
3)index
功能:獲取值得第一個索引位置
4)註意:元組最後加逗號
例子
lex = (‘tx‘,) print(lex)
5)本身不可修改,但是孫可以
user_tuple = (‘alex‘,‘eric‘,‘seven‘,[‘1‘,‘2‘,‘3‘],‘a4‘)
# user_tuple[0] = 123 執行錯誤
# user_tuple[3] = [11,22,33] 執行錯誤
user_tuple[3][1] = ‘0‘
print(user_tuple)
7.dict
可變類型
1)clear
功能:清空
2)copy
功能:淺拷貝
3)get
功能:根據key獲取指定value,不存在不報錯
4)pop
功能:刪除並獲取對應的value值
5)popitem
功能:隨機刪除鍵值對,並獲取到刪除的鍵值
6)setdefault
功能:增加,如果不存在即刪除
7)update
功能:批量增加或修改
8)fromkeys
功能:從序列鍵和值設置為value來創建一個新的字典。
8.set
集合,不可重復列表,可變類型。
1)創建
s1 = {"alex",‘lilei‘,‘lucy‘} print(type(s1)) print(s1)
輸出:
<class ‘set‘> {‘alex‘, ‘lilei‘, ‘lucy‘}
2)difference
功能:輸出s1中存在,s2中不存在的值
s1 = {"alex",‘eric‘,‘tony‘,‘lilei‘} s2 = {"alex",‘eric‘,‘tony‘,‘tx‘} v = s1.difference(s2) print(v)
輸出:
{‘lilei‘}
3)difference_update
功能:s1中存在,s2中不存在,然後對s1清空,然後在重新賦值
s1 = {"alex",‘eric‘,‘tony‘,‘lucy‘} s2 = {"alex",‘eric‘,‘tony‘,‘tx‘} s1.difference_update(s2) print(s1)
輸出:
{‘lucy‘}
4)symmetric_difference
功能:s1中存在,s2中不存在的值及s2中存在,s1中不存在的值
s1 = {"alex",‘eric‘,‘tony‘,‘lilei‘} s2 = {"alex",‘eric‘,‘tony‘,‘tx‘} v = s1.symmetric_difference(s2) print(v)
{‘lilei‘, ‘tx‘}
5)intersection
功能:交集
s1 = {"alex",‘eric‘,‘tony‘,‘lilei‘} s2 = {"alex",‘eric‘,‘tony‘,‘tx‘} v = s1.intersection(s2) print(v)
輸出:
{‘eric‘, ‘alex‘, ‘tony‘}
6)union
功能:並集
s1 = {"alex",‘eric‘,‘tony‘,‘lilei‘} s2 = {"alex",‘eric‘,‘tony‘,‘tx‘} v = s1.union(s2) print(v)
輸出:
{‘alex‘, ‘tx‘, ‘eric‘, ‘lilei‘, ‘tony‘}
7)discard
功能:移除
s1 = {"alex",‘eric‘,‘tony‘,‘lilei‘} s2 = {"alex",‘eric‘,‘tony‘,‘tx‘} s1.discard(‘alex‘) print(s1)
輸出:
{‘eric‘, ‘tony‘, ‘lilei‘}
8)update
功能:添加
python17之day2