不熟悉知識(shí)點(diǎn)
知識(shí)點(diǎn)一:
1.進(jìn)制
二進(jìn)制表示方式:0b111
八進(jìn)制表示方式:0o111
二進(jìn)制表示方式:0x111
進(jìn)制轉(zhuǎn)換函數(shù)
bin(除二進(jìn)制外其他數(shù)據(jù)) -> 二進(jìn)制數(shù)
cot(除二進(jìn)制外其他數(shù)據(jù)) -> 二進(jìn)制數(shù)
hex(除二進(jìn)制外其他數(shù)據(jù)) -> 二進(jìn)制數(shù)
測(cè)試用例
bin(0xa15)
cot(0xa15)
hex(100)
2.python中支持科學(xué)計(jì)數(shù)法
1200 == 1.2e3
0.001 == 1e-3
3.for循環(huán)
3.1 字符串序列
for a in 'python':
print(a)
3.2 列表序列(有序就可以按照索引遍歷)
list_num = ['1', '2', '3', '4', '5', '6']
# 元素遍歷
for item in list_num:
print item
# 下標(biāo)遍歷
for index in range(len(list_num)):
print list_num [index]
3.3 元組序列
tuple_1 = 10, 23, 89, '小明'
tuple_2 = ('周一', '周二', '周三', '周四', '周五')
for item in tuple_1:
print item
for index in range(len(tuple_2 ))
print tuple_2 [index]
3.4 字典序列
dog = {'name': '旺財(cái)', 'color': '黃色', 'age': 3, 'type': '土狗'}
# 關(guān)鍵字遍歷
for key in dog:
print(key, dog[key])
#間接遍歷
for value in dog.values():
print(value)
#字典元素遍歷,一個(gè)元素就是一對(duì)鍵值
print(dog.items())
for key, value in dog.items():
print(key, value)
3.5 迭代器和生成器
# 迭代器
iter_1 = iter[24, 23, 31, [14, 15]]
for x in iter_1 :
print('x:', x)
# 生成器
for x in range(99):
yield str(x).rjust(3, '0')
4.range 函數(shù)
range(M, N, step) - 產(chǎn)生數(shù)字范圍M ~ N-1, 每次增加step (注意:step是正整數(shù)N>M;step是負(fù)整數(shù)N<M)
5.continue/break/return
continue是循環(huán)體中的關(guān)鍵字轰胁,用來結(jié)束當(dāng)次循環(huán)
break是循環(huán)體中的關(guān)鍵字,用來結(jié)束整個(gè)循環(huán)
return是循環(huán)體中的關(guān)鍵字桥爽,用來結(jié)束整個(gè)循環(huán),并提供一個(gè)返回值
6.print的定制
# sep表示多個(gè)數(shù)據(jù)直接的間隔肥矢,end為結(jié)束時(shí)的效果
print(10, 20, sep='+++++', end=' ')
7.轉(zhuǎn)義字符
# \n - 換行(相當(dāng)于回車)
# \' - 單引號(hào)字符(不是字符串開頭/結(jié)尾標(biāo)志)
# \" - 雙引號(hào)本身(不是字符串開頭/結(jié)尾標(biāo)志)
# \\ - 反斜杠本身(讓一個(gè)反斜杠失去轉(zhuǎn)義的功能)
# \t - 制表符(相當(dāng)于tab)
# 阻止轉(zhuǎn)義: 在字符串的最前面加r/R,能夠阻止字符串中所有的轉(zhuǎn)義字符轉(zhuǎn)義
print('=============================')
str4 = R'\thow\nare\nyou\"'
print(str4)
8.字符編碼
# chr函數(shù): chr(編碼值) - 獲取編碼值對(duì)應(yīng)的字符
# ord函數(shù): ord(字符) - 獲取指定字符對(duì)應(yīng)的編碼
print(chr(100), chr(0x5e00))
print(ord('余'), ord('婷'))
9.有序列表的查詢
- 字符串:
語法: 字符串[開始下標(biāo):結(jié)束下標(biāo):步長(zhǎng)] - 列表:
10.字符串操作
- 判斷一個(gè)字符是否是中文(4e00-9fa5): '\ue400'<=char<='\u9fa5', '一'<=char<='龥'
- in 和 not in:字符串1 in 字符串2 - 判斷字符串2中是否包含字符串1
3.格式字符串: 在字符串中用格式占位符代替字符串中變化的部分忠烛,然后再使用數(shù)據(jù)對(duì)變化的部分進(jìn)行賦值
格式占位符:
%s - 字符串
%d - 整數(shù)
%.Nf - 浮點(diǎn)數(shù)(N控制小數(shù)后小數(shù)的位數(shù))
%c - 字符概耻、字符對(duì)應(yīng)的編碼值
- 字符的對(duì)象方法
->調(diào)用這些方法生成的是一個(gè)新的字符串,原字符串不變
- 字符串.capitalize() - 將字符串中的第一個(gè)字符轉(zhuǎn)換成大寫字母
- 設(shè)置對(duì)齊方式
字符串.center(width, fillchar) - 讓字符串在新字符串中居中西采,width控制新子串的寬度凰萨,fillchar是填充字符
字符串.rjust(width, fillchar)
字符串.ljust(width, fillchar)
字符串.zfill(width) <==> 字符串.rjust(width, '0')
- 設(shè)置對(duì)齊方式
- 3.字符串1.count(字符串2) -> 統(tǒng)計(jì)字符串1中字符串2出現(xiàn)的次數(shù)
- 4.字符串1.find(字符串2, startindex, endindex) -> 指定范圍中進(jìn)行查找
- 5.字符串.join(序列) - 將序列中元素取出來,中間用指定字符串拼接在一起產(chǎn)生一個(gè)新的字符串
- 6.max和min
- 7.字符串.replace(old,new) - 將字符串中指定的舊字符串全部替換成新的字符串
- 8.字符串1.split(字符串2) - 將字符串1按照字符串2進(jìn)行切割械馆,返回的是列表
11.列表操作
- 增加
列表.append(元素) - 在列表的最后添加一個(gè)元素(修改原列表胖眷,不會(huì)產(chǎn)生新的列表)
列表.insert(下標(biāo), 元素) - 在列表中指定下標(biāo)前添加指定元素
- 增加
2.刪除
del 列表[下標(biāo)] - 刪除列表中指定下標(biāo)對(duì)應(yīng)的元素
列表.remove(元素) - 刪除列表中指定的元素
注意: 1.如果需要?jiǎng)h除的元素在列表中有多個(gè),只刪最前面的一個(gè)
2.如果要?jiǎng)h除的元素不存在霹崎,程序會(huì)報(bào)錯(cuò)珊搀!
列表.pop() - 取出列表中最后一個(gè)元素
列表.pop(下標(biāo)) - 取出列表中指定下標(biāo)對(duì)應(yīng)的元素
3.in/ not in
元素 in 列表 -> 判斷列表中是否包含指定的元素4.常用方法
列表.count(元素) -- 統(tǒng)計(jì)列表中指定元素的個(gè)數(shù),返回一個(gè)整數(shù)
列表.extend(序列) -- 將序列中的元素全部添加到列表中
列表.index(元素) -- 獲取指定元素對(duì)應(yīng)的下標(biāo)(如果元素有多個(gè)只取第一個(gè))
列表.reverse() -- 反向列表(直接修改原列表)
列表.reversed(序列) -- 反向序列,不修改原序列而是產(chǎn)生新的序列(迭代器)
列表.sort() -- 將列表中的元素升序排序(從小到大)
列表.sort(reverse=True) -- 將列表中的元素降序排序(從大到小)
sorted(序列) -- 排序的時(shí)候不修改原序列尾菇,產(chǎn)生新的序列
列表.clear() -- 刪除列表中所有的元素(清空列表)
列表.copy() -- 相當(dāng)于列表[:], 將列表中的元素拷貝一份產(chǎn)生一個(gè)新的列表(淺拷貝)
12.字典操作
- 增加
字典[key] = value - 如果key存在, 修改key對(duì)應(yīng)的值; 如果key不存在境析,添加鍵值對(duì) - 刪除
del 字典[key] - 刪除字典中指定key對(duì)應(yīng)的鍵值對(duì)。如果key不存在會(huì)報(bào)錯(cuò)
字典.pop(key) - 取出字典中key對(duì)應(yīng)的值派诬。如果key不存在會(huì)報(bào)錯(cuò) - in / not in
key in 字典 - 判斷字典中是否存在指定的key - 字典方法
字典.clear() - 清空字典
字典.copy() - 拷貝字典中的鍵值對(duì)產(chǎn)生一個(gè)新的字典
dict.fromkeys(序列, 值) - 創(chuàng)建一個(gè)新的字典劳淆,字典的key是序列的元素, key對(duì)應(yīng)的value是值
字典.setdefault(key, value) - 添加鍵值對(duì)(不能修改)
字典1.update(字典2) - 使用字典2中的鍵值對(duì)去更新字典1(不存在添加默赂、存在修改)
13.集合
1.增加
集合.add(元素) - 往集合中添加一個(gè)元素
集合.update(序列) - 將序列中的元素添加到集合中(自帶去重)
2.刪除
集合.remove(元素) - 刪除集合中指定的元素沛鸵。(元素不存在會(huì)報(bào)錯(cuò)!)
數(shù)學(xué)集合運(yùn)算
- 并集:集合1 | 集合2 - 將兩個(gè)集合中的元素合并產(chǎn)生新的集合
- 交集: & - 求兩個(gè)集合公共的部分
- 差集: 集合1 - 集合2 --- 獲取集合1中除了集合2以外的部分
- 補(bǔ)集: 集合1^集合2 --- 兩個(gè)集合除了公共部分以外的部分
== : 判斷兩個(gè)變量地址對(duì)應(yīng)的值是否相等
is : 判斷兩個(gè)變量存儲(chǔ)的地址是否相等
14.函數(shù)
1.關(guān)鍵字參數(shù): 以'形參名1=值1, 形參名2=值2...'格式來確定實(shí)參
2.注意: 如果既有位置參數(shù)又有關(guān)鍵字參數(shù),位置參數(shù)必須寫在關(guān)鍵字參數(shù)前面
3.python中類型只有說明的作用缆八,沒有約束的作用
- 參數(shù)賦默認(rèn)值
- 參數(shù)名:類型
4.不定長(zhǎng)參數(shù) - 形參的參數(shù)不確定
- 聲明函數(shù)的時(shí)候曲掰,在形參的前面加*,那么這個(gè)參數(shù)就變成不定長(zhǎng)參數(shù)奈辰,可以同時(shí)接收多個(gè)位置實(shí)參(將這個(gè)參數(shù)變成元祖)
- 聲明函數(shù)的時(shí)候栏妖,在形參的前面加, 那么這個(gè)參數(shù)也會(huì)變成不定長(zhǎng)參數(shù), 可以同時(shí)接收多個(gè)關(guān)鍵字實(shí)參(將這個(gè)參數(shù)變成字典)
注意: 不帶的參數(shù)要放在帶參數(shù)的前面
5.匿名函數(shù)
1)語法
lambda 參數(shù)列表:返回值
2)說明
lambda - 關(guān)鍵字
參數(shù)列表 - 相當(dāng)于普通函數(shù)的形參列表, 變量1,變量2,...
: - 固定寫法
返回值 - 相當(dāng)于普通函數(shù)函數(shù)體中的return語句》肟妫可以是除了賦值語句以外的任何語句
注意:
1.匿名函數(shù)本質(zhì)還是函數(shù)底哥,之前函數(shù)中將的語法絕大多數(shù)都適用(通過類型名對(duì)參數(shù)類型說明不支持的)
2.匿名函數(shù)能做的事情,普通函數(shù)都可以做房官。只是匿名函數(shù)簡(jiǎn)潔
變量作用域
1)全局變量: 沒有聲明在函數(shù)中的變量都是全局變量, 全局變量的作用域是從變量聲明開始到整個(gè)py文件結(jié)束
2)局部變量: 聲明在函數(shù)中的變量都是局部變量, 作用域是從變量聲明到函數(shù)結(jié)束
3)global - 在函數(shù)聲明一個(gè)全局變量(只能在函數(shù)中使用)
15.迭代器生成器
16.文件操作
open(file, mode='r',encoding=None) - 以指定的方式打開文件趾徽,并且返回文件對(duì)象
文件對(duì)象.read() - 返回文件中的內(nèi)容(從讀寫位置獲取到文件結(jié)尾)
文件對(duì)象.readline() - 讀一行內(nèi)容(從讀寫位置開始到一行結(jié)尾)
文件對(duì)象.write(內(nèi)容) - 將內(nèi)容寫入指定文件
with open() as 文件對(duì)象:
文件的操作
1)json格式要求: a.一個(gè)json中有且只有一個(gè)數(shù)據(jù) b.這個(gè)必須是json支持的數(shù)據(jù)類型的數(shù)據(jù)
2)json.loads(字符串, encoding=編碼方式) - 將字符串轉(zhuǎn)換成python對(duì)應(yīng)的數(shù)據(jù)
3)json.dumps(數(shù)據(jù)) - 將python數(shù)據(jù)轉(zhuǎn)換成json格式的字符串