ascii 256字母沒有中文python
一個字節 8位git
gbk 中國面試
中文2字節 16位api
英文1字節8位緩存
unicode 萬國碼app
前期 2字節 8位函數
後期變成4個字節 32位學習
utf-8 可變編碼 英文1 歐洲2 亞洲3字符測試
根據數據交互輸出的數據進行交互佔位編碼
舉例:%s %d %
%s #%是佔位符%s格式化輸出字符串 name=input('name') sex=input('sex') money=input('moeny')#工資 print(name,sex,money) #直接輸出
print(('%s,%S,%S')%(name,sex,money))
%d
print(('%s,%S,%d')%(name,sex,money))
若是使用input進行格式化輸出默認 字符串須要強行轉換 若是不轉換直接輸出就會出現錯誤
%d輸入一個整數(整型)
Git 全局設置:
git config --global user.name "Strawbarry" git config --global user.email "strawbarry@user.noreply.gitee.com"
建立 git 倉庫:
mkdir 19062824029 cd 19062824029 git init#建立一個本地倉庫 touch README.md git add README.md 添加到緩存區 git commit -m "first commit" 提交 git remote add origin https://gitee.com/strawbarry/19062824029.git git push -u origin master
若是密碼輸入錯誤
python 全部的整型都是用於計算和比較的,
二進制和十進制 轉換十六進制
1111 8421 15=F= 1111 14=E=1110 13=D=1011 12=C=1100 11=B=1011 10=A=1010
二進制轉十進制 print(int("1111",2)); #15 print(int("6f",16)); #111 print(int("157",8)) #111 十進制轉二進制 bin()二進制轉換 bin(10); format(10,"08b")#十進制轉8位二進制 十進制轉八進制 oct八進制轉換 v_code=15 x=oct(v_code) x=format(v_code, '#o') # '0o17', 等效於:x=oct(v_code) y=format(v_code, 'o') # '17' 十進制轉16進制 hex()16轉換 v_code=15 x=format(v_code, '#x') # '0xf', 等效於:x=hex(v_code) y=format(v_code, 'x') # 'f' z=format(v_code, '#X') # 'OXF' z=format(v_code, 'X') # 'F'
十六進制 123456789ABCDEF
二進制轉8進制 三位一轉
16進制 八進制
互轉須要以先轉換二進制方便轉換
int ---> bool
i = 100 print(bool(i)) # True # 非零即True i1 = 0 print(bool(i1)) # False 零即False
bool ---> int
t = True print(int(t)) # 1 True --> 1 t = False print(int(t)) # 0 False --> 0
int ---> str i1 = 100 print(str(i1)) # '100' # str ---> int # 所有由數字組成的字符串才能夠轉化成數字 s1 = '90' print(int(s1)) # 90 # str ---> bool s1 = '太白' s2 = '' print(bool(s1)) # True 非空即True print(bool(s2)) # False # bool ---> str t1 = True print(str(True)) # 'True'
索引就是下標 組成的元素是從0開始爲第一個起始點
a = 'ABCDEFGHIJK' print(a[0])#打印出A print(a[3])#打印出D print(a[5])#打印出F print(a[7])#打印出H
首先在列表中有一個規則就是顧頭不顧尾
什麼叫顧頭不顧尾 顧名思義就是
a = 'ABCDEFGHIJK' print[0:4]#輸出ABC 顧頭不顧腚(尾)
a = 'ABCDEFGHIJK' print(a[0:3]) # print(a[:3]) 從開頭開始取0能夠默認不寫 print(a[2:5]) print(a[:]) #默認到最後 print(a[:-1]) # -1 是列表中最後一個元素的索引,可是要知足顧頭不顧腚的原則,因此取不到K元素 print(a[:5:2]) #加步長 print(a[-1:-5:-2]) #反向加步長
a = 'ABCDEFGHIJK' print[-3:-2:-3]
咱們前期的時候和你們說了,有些方法咱們放在數據類型補充的這一天中,咱們今天將前面沒有講解的內容,都一塊兒講解了,就先從str開始
以什麼開頭:
\# s = "ALEX" \# s1 = s.startswith("E",2,6) \# print(s1)
以什麼結尾:
\# s = "ALEX" \# s1 = s.endswith("X",3,4) \# print(s1)
統計
\# s = "alexdxjbx" \# s1 = s.count("x") \# print(s1)
1.1 首字母大寫
name = "meet" name.capitalize()
1.2 每一個單詞的首字母大寫
name = "meet" name.title()
1.3 大小寫反轉
name = "meet" name.swapcase()
1.4 統計
name = "meet" name.count()
1.5 查找
name = "meet" name.find() # 當查找的時候數據不存在返回-1 name = "meet" name.index() # 當查找的時候數據不存在報錯
1.6 居中
name = "meet" name.center(20) # 居中一共佔用20個位置
1.7 填充
name = "meet{},{},{}" name1 = name.format("郭寶元","寶帥","寶哥") # 按照位置順序填充 print(name1) name = "meet{0},{1},{2}" name2 = name.format("寶帥","寶哥","郭寶元") # 按照下標填充 print(name2) name = "meet{a},{c},{b}" name3 = name.format(a="郭寶元",b="寶帥",c="寶哥") # 按照關鍵字填充 print(name3)
1.8 拼接 將可迭代容器轉換成字符串 字典拼接的是鍵
可迭代容器中的元素必須是字符串類型
lst = ["2","3","4","5"] print('*'.join(lst)) tu = ("2","3","4","5") print('*'.join(tu)) dic = {"key1":2,"key2":4} print('*'.join(dic)) se = {"1","3","34"} print('*'.join(se))
name1 = "alex" name2 = "wusir" print(id(name1)) print(id(name2)) print(id(name1 + name2))
name1 = "alex" print(id(name1)) print(id(name1 * 5))
字符 + 和 * 都是開闢新的空間
\# print(s.isalnum()) # 判斷是否是字母,數字,中文 \# print(s.isalpha()) # 判斷是否是字母,中文 \# print(s.isdigit()) # 判斷字符串是否是全都是阿拉伯數字 \# print(s.isdecimal()) # 判斷是不是十進制
lst = [1,2,3,4,5] lst.reverse()
lst = [1,2,3,4,5] lst.sort() # 升序 lst.sort(reverse=True) # 降序
lst = [1,2,3,4,5] lst.index(3) # 存在就返回索引,不存在就報錯
lst = [1,23,4,5,6,] lst.count(23) # 統計23出現的次數
lis = [1,2,3] lst1 = [4,5,6] print(id(lis)) print(id(lst1)) print(id(lis + lst1))
lst = [1,2,3] print(lst * 5) print(id(lst)) print(id(lst * 5))
面試題:
lst = [[]] new_lst = lst * 5 new_lst[0].append(1) print(new_lst) ''' [[1][1][1][1][1]] '''
列表在進行乘法的時候元素都是共用
面試題:
tu = (1) # 獲取的括號中元素的自己 tu = (1,2)# 獲取的是元組 tu = (1,) # 獲取的是元組
列表可以支持+, 元組也能夠支持+,
tu = (1,2) tu1 = (3,4) tu2 = tu + tu1 print(id(tu)) print(id(tu1)) print(id(tu2))
tu = ([],) tu1 = tu * 5 tu1[0].append(9) print(tu1)
列表在進行乘法的時候元素都是共用
tu = (1,2) tu1 = tu * 5 print(tu1) print(id(tu1[0]),id(tu1[-2]))
代碼:
x ={"a":"1", "b":"2"} print(x)
輸出:
{'a': '1', 'b': '2'}
代碼:
x =dict(a="1", b="2") print (x)
輸出:
{'a': '1', 'b': '2'}
代碼:
x=dict((("a","1"), ("b","2"))) print (x)
輸出
{'a': '1', 'b': '2'}
代碼:
x=dict((["a", "1"], ["b", "2"])) printx
輸出:
{'a': '1', 'b': '2'}
代碼:
x=dict([("a", "1"),("b", "2")]) print x
輸出:
{'a': '1', 'b': '2'}
代碼:
x =dict([["a", "1"],["b", "2"]]) print x
輸出:
{'a': '1', 'b': '2'}
注意:
代碼:
dict.fromkeys(("a","b"),1) print (x)
輸出:
{'a': 1, 'b': 1}
入參能夠的第一個參數是一個列表或者元組,裏邊的值爲key,第二個參數是全部key的value值
字典定義方式:
dict(key=1,key1=2,key2=3)
1.1 隨機刪除
dic = {"key":"value","key2":"value2"} dic.popitem() # 隨機刪除
此處說明一下,官方文檔中表示是隨機刪除一個鍵值對中,可是咱們實際測試的時候
都是刪除字典中最後的一個鍵值對,這也是一個Python36中目前存在的一個bug
1.2 批量建立字典
dic = {} dic1 = dic.fromkeys("abc",[1,2]) print(dic1)
formkeys這個是個坑,坑點就在於值是可變數據類型的時候,當第一個鍵對應的值進行修改了之後,其他的鍵對應的值也都跟着進行改變了. 如何避免坑,就是批量建立字典的時候值不能使用可變的數據類型.
集合定義方式:
set("12345") {1,2,3,4,5} # 將字符串進行迭代添加
最後咱們對咱們學習的這些數據類型進行一個總結,咱們按照有序,無序,可變,不可變,取值方式來總結
元組 => 列表 list(tuple) 列表 => 元組 tuple(list) 列表 => 字符串 ''.join(list)#不能整數 必須是字符串類型的str() 字符串 => 列表 str.split 轉換成False的數據: 0,'',None,[],(),{},set() 都是False
find找不到返回-1
index找不到報錯 找到返回索引
is系列
isdigit
isdecimal
isalnum#判斷是否是 字母 數字漢字
isalpha
len()
列表是一個可迭代對象
用法:你須要存儲大量的數據,且須要這些數據有序的時候。制定一些特殊的數據羣體:按順序,按規則,自定製設計數據
增
1.append直接添加#追加(在列表的最後位置添加一個內容) 2.expend迭代添加 3.lst.insert(2,"wusir") #插入 之後儘可能不要使用(當數據量比較大的時候會影響效率
刪
del
remove
clear
改
索引,切片進行修改
lst = ["太白", "太黑", "五色", "銀王", "⽇天"] lst[1] = "太污" # 把1號元素修改爲太污 print(lst) lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 若是步長不是1, 要注意元素的數 print(lst) lst[1:4] = ["我是哪一個村的村長王富貴"] # 若是切片沒有步長或者步長是1. 則不用關心個數 print(lst)
a=list(1,3,4)
print(a)
查
索引查詢
列表是一個可迭代對象,能夠進行for循環
lst = [1,'太白','wusir',['麻花疼',['可口可樂'],'王健林']]
len
index 返回索引 找不到報錯
sort排序
reverse反轉
是不可變類型
是一個特殊的列表不能增長不能刪除只能查看
元組的方法
長度len()
len()
三.其餘(for,enumerate,range)。
for循環:用戶按照順序循環可迭代對象的內容。
msg = '老男孩python是全國範圍內最好的python培訓機構'
for item in msg:
print(item)
li = ['alex','銀角','女神','egon','太白']
for i in li:
print(i)
dic = {'name':'太白','age':18,'sex':'man'}
for k,v in dic.items():
print(k,v)
enumerate:枚舉,對於一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它能夠同時得到索引和值。
li = ['alex','銀角','女神','egon','太白']
for i in enumerate(li):
print(i)
for index,name in enumerate(li,1):
print(index,name)
for index, name in enumerate(li, 100): # 起始位置默認是0,可更改
print(index, name)
range:指定範圍,生成指定數字。
for i in range(1,10):
print(i)
for i in range(1,10,2): # 步長
print(i)
for i in range(10,1,-2): # 反向步長
print(i)
l1 = ['wusir', 'alex', '太白', '女神', 12, 666] for i in range(len(l1)): print(i)