日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python學(xué)習(xí)筆記---第二周

 印度阿三17 2019-08-10

1.整型
符號(hào):int
用處:用于計(jì)算和比較
python3:全部都是整型
python2:整型,長(zhǎng)整型long
123--十進(jìn)制 轉(zhuǎn)二進(jìn)制方法:十進(jìn)制數(shù)除2,取余數(shù)從下往上排;print(bin(十進(jìn)制數(shù)))
10101--二進(jìn)制 轉(zhuǎn)十進(jìn)制方法:1 * 2 ** 0 0 * 2 ** 1 1 * 2 ** 2 0 * 2 ** 3 1 * 2 **4 print(int("二進(jìn)制數(shù)",2))
2.布爾值
整型轉(zhuǎn)布爾值==print(bool(數(shù)字)) ,整型中只要非零就是True
布爾值轉(zhuǎn)整型==print(int(True/False)), 布爾值True=1,False=0
字符串轉(zhuǎn)布爾值==print(bool(" ")), 字符串中只要沒有內(nèi)容就是False
布爾值轉(zhuǎn)字符串==print(str(True/False))
3.字符串
python中只要是引號(hào)引起來的就是字符串
作用:用于存儲(chǔ)少量數(shù)據(jù)
字符串中每一個(gè)字母或字符都稱為元素
3.1 索引(下標(biāo))
符號(hào):a[索引位置] -- 索引位置不能超出索引最大值

從左往右排,從0開始排;從右往左排,從-1開始排
3.2 切片
返回結(jié)果是原數(shù)據(jù)本身
print(a[起始位置:終止位置])-- 顧頭不顧尾(包括起始位置,不包括終止位置)
索引位置可以超過索引值,索引位置不寫時(shí)默認(rèn)起始位置為第一位,終止位置為最后一位

3.3 步長(zhǎng)
print(a[1:2:1])
默認(rèn)為一,步長(zhǎng)決定查找方向,決定查找時(shí)每次查找的長(zhǎng)度(步長(zhǎng)為正:從左往右;步長(zhǎng)為負(fù):從右往左)
[::-1] -- 將字符串進(jìn)行反轉(zhuǎn)
起始位置走向的方向不指向終止位置,取不到東西
3.4 字符串的方法
字符串是不可變數(shù)據(jù)類型,有序的
a.upper() -- 全部大寫
a.lower() -- 全部小寫
a.startswith("內(nèi)容") -- 以什么開頭,返回的是布爾值 print(" ",1,2) -- 1(起始位置) 2(終止位置)
a.endswith() -- 以什么結(jié)尾,返回的是布爾值
a.count(" ") -- 統(tǒng)計(jì)元素出現(xiàn)的次數(shù)
a.strip() --默認(rèn)脫頭尾兩端的空格,換行符\n,制表符\t a.strip("脫去內(nèi)容") -- 去除頭尾兩端的指定內(nèi)容,如果有兩個(gè)指定元素,每個(gè)元素去除一遍,合起來再去除一遍
a.split() -- 分割 ,默認(rèn)分割空格,換行符,制表符 a.split(" ",2) --2(被分割的次數(shù),從左往右)
a.replace("要被替換的內(nèi)容","替換的內(nèi)容") -- 全部替換 a.replace("被替換內(nèi)容","替換內(nèi)容",1) -- 1(替換個(gè)數(shù),從左往右)
3.5 字符串格式化
name = "{}今年{}".format(" "," " ) -- 按順序填充
name = "{1}今年{0}".format(" "," ") -- 按索引填充
name = "{name}今年{age}".format(name=" ",age=" ") --按名字進(jìn)行填充
3.6 is系列
用于判斷
a.isdigit() -- 判斷字符串中的內(nèi)容是不是全都是數(shù)字(阿拉伯?dāng)?shù)字),返回布爾值
a.isdecimal() -- 判斷是不是十進(jìn)制數(shù)
a.isalnum() -- 判斷是不是字母,數(shù)字,中文
a.isalpha() -- 判斷是不是字母,中文
4.for循環(huán)
格式:for i in a:

? 縮進(jìn)print(i)
for --關(guān)鍵字
i -- 變量名(可任意修改)
in -- 關(guān)鍵字
a -- 可迭代對(duì)象(python數(shù)據(jù)類型中除了int 和布爾值,其余都能迭代)
for循環(huán)在循環(huán)的時(shí)候就已經(jīng)進(jìn)行了賦值


... -- 和pass功能一樣

5.列表
符號(hào):list
數(shù)據(jù)類型之一,存儲(chǔ)大量的不同類型的數(shù)據(jù),別的語言稱為數(shù)組
列表是一種有序的容器,支持索引
列表是一種可變數(shù)據(jù)類型 -- 原地修改
字符串中只要占一個(gè)位置就是一個(gè)元素,列表中只要是逗號(hào)分隔的都是元素
格式lst = [" "," "] -- (用逗號(hào)隔開)

5.1 列表的增加
lst.append() --追加,在最末尾的地方進(jìn)行添加

lst.insert(1," ") -- 插入 1(索引位置,插在索引位置前) ----盡量少用,會(huì)導(dǎo)致效率變低

lst.extend() -- 迭代添加

5.2 列表的刪除
lst.remove() -- 按元素的名字刪除,只能刪除第一個(gè),從左往右刪除

lst.pop() -- 彈出,默認(rèn)刪除最后一個(gè),并且具有返回值,返回值為刪除內(nèi)容

lst.pop(1)-- 按索引刪除,返回值字符串不帶引號(hào),repr()查看當(dāng)前數(shù)據(jù)的原生態(tài)

lst.clear() -- 清空
del lst[1] -- 按索引刪除
del lst[1:2] -- 按切片刪除
del lst[1:2:1] -- 按步長(zhǎng)刪除
5.3 列表的修改
lst[2] = 80 --通過索引進(jìn)行修改 2(索引位置) 80(替換的內(nèi)容)

lst[1:2] -- 通過切片進(jìn)行修改,默認(rèn)步長(zhǎng)為一,修改的內(nèi)容必須是可迭代的對(duì)象,修改的內(nèi)容可多可少,不能空(多的時(shí)候擴(kuò)展位置,少的時(shí)候自動(dòng)補(bǔ)位)

lst[1:2:2] -- 步長(zhǎng)不為一的時(shí)候,被替換的內(nèi)容和替換的內(nèi)容數(shù)量要一致

5.4 列表的查找
for循環(huán)
索引
5.5 列表的嵌套
一層一層查找,[ ]-- 代表一個(gè)元素
6.元組
符號(hào):tuple
格式:tu=(" ", " ")
python數(shù)據(jù)類型之一,有序的,不可變,相當(dāng)于不可變的列表
只支持查:for循環(huán)
元組的方法:
統(tǒng)計(jì) -- tu.count()

獲取索引 -- tu.index() 通過元素查詢索引

元組的用處:在配置文件中使用
元組的嵌套

7.范圍
符號(hào):range
range的誕生是為了解決不能循環(huán)數(shù)字
range是一個(gè)可迭代對(duì)象
print(range(1,10) )-- python3中打印range是自己本身

print range(1,10) --python2中打印range是列表
range(10) -- 10代表終止位置,起始位置默認(rèn)為零,顧頭不顧尾
range(1,10,1) -- 步長(zhǎng)默認(rèn)為一
8.字典
python數(shù)據(jù)結(jié)構(gòu)之一
符號(hào):dict
格式:dic={"key":"value"} -- 鍵值對(duì) 鍵必須是不可變的數(shù)據(jù)類型(可哈希),且唯一;值任意
字典是可變數(shù)據(jù)類型,無序的,所有操作都是通過鍵
8.1 字典的增加
dic["鍵"]="值" -- 添加鍵值對(duì) 暴力添加

dic.setdefault("鍵","值") -- 無則添加,有則不添加 內(nèi)置步驟:1.先查看鍵是否在字典2.不存在的時(shí)候進(jìn)行添加

8.2 字典的刪除
dic.pop("鍵") -- 通過鍵刪除,具有返回值,返回的是被刪除的值

dic.clear() -- 清空
del dic -- 刪除整個(gè)字典
del dic["鍵"] -- 通過鍵進(jìn)行刪除

8.3 字典的改
dic["鍵"]="值",有則覆蓋,沒有就添加

dic.update(字典) --括號(hào)里的字典級(jí)別高于原字典

8.3 字典的查找
dic.get("鍵") -- 通過鍵獲取值 ,只有鍵沒有值時(shí)查詢不到返回None;有鍵值對(duì)時(shí)返回值

dic.setdefault("鍵") -- 通過鍵獲取值,查詢不到返回None

dic["鍵"] -- 通過鍵獲取值,查詢不到就報(bào)錯(cuò)
dic.keys() -- 獲取到的是高仿列表---鍵
dic.values() -- 獲取到的是高仿列表---值
高仿列表支持迭代,不支持索引
list(dic.keys())--可轉(zhuǎn)換成列表
通過for循環(huán)查
for i in dic
print(i) -- 查看所有的鍵

print(dic.get(i)) -- 查看所有的值

print(list(dic.items())) -- 查看所有鍵值對(duì)

for i in dic.items(): print(i[0],i[1])

8.4 字典的嵌套
嵌套查找時(shí)按照鍵一層一層找
常用數(shù)據(jù)類型:字典,列表,字符串,數(shù)字
9.解構(gòu)
作用:省去使用下標(biāo)


解構(gòu)可用于元組,列表,字符串,字典,但應(yīng)注意等號(hào)兩邊的元素個(gè)數(shù)要一致

for a,b in dic.items()

10.小數(shù)據(jù)池
== 判斷兩個(gè)值是否相等,is 是 -- 判斷兩邊的內(nèi)存地址是否相同
id()查看內(nèi)存地址
小數(shù)據(jù)池支持的類型:int,str,bool
int: -5~256(范圍)
str: 字母,數(shù)字 長(zhǎng)度任意,符合駐留機(jī)制
規(guī)則:字符串(字母,數(shù)字)進(jìn)行乘法時(shí),總長(zhǎng)度不能超過20
特殊符號(hào)(中文和符號(hào))進(jìn)行乘法的時(shí)候只能乘以0
11.代碼塊
一個(gè)py文件,一個(gè)函數(shù),一個(gè)模塊,終端(cmd)中每一行都是代碼塊
支持:int,str,bool
字符串:定義字符串的時(shí)候可以是任意的
規(guī)則:字符串(字母,數(shù)字)進(jìn)行乘法時(shí),總長(zhǎng)度不能超過20
特殊符號(hào)(中文和符號(hào))進(jìn)行乘法的時(shí)候只能乘以0或者1
小數(shù)據(jù)池和代碼塊同在的時(shí)候先執(zhí)行代碼塊
駐留機(jī)制:目的:節(jié)省內(nèi)存空間,提升效率(減少了開辟空間和銷毀空間的耗時(shí))
12.集合
符號(hào):set
格式:s={1,2,3,4}
集合就是一個(gè)沒有值的字典 無序,可變,集合的元素是不可變的
天然去重:輸出的元素沒有重復(fù)的
集合的增
s=set() -- 空集合
s.add() -- 整個(gè)添加
s.update()/set() -- 迭代添加
set(" ") -- 迭代添加
刪除
s.remove() -- 通過元素刪除
s.clear() -- 清空
s.pop() --隨機(jī)刪除(最小的)

先刪后加

for 循環(huán)
其他操作
s-s1 --差集

s&s1 --交集

s|s1 --并集

s^s1 -- 反交集

s>s1 -- 判斷s1是不是s的子集
s<s1 -- 判斷s1是不是s的父集(超集)
frozenset({1,2,3}) -- 凍結(jié)集合(變成不可變的)
13.深淺拷貝
格式:淺拷貝a[:]/a.copy() 深拷貝b=copy.deepcopy(a)
淺拷貝:
只拷貝第一層元素,只有修改第一層(不可變)的時(shí)候源數(shù)據(jù)不受影響
給可變數(shù)據(jù)類型添加的時(shí)候源數(shù)據(jù)會(huì)受影響
深拷貝
import copy (導(dǎo)入模板)
深拷貝:不可變數(shù)據(jù)類型共用,可變數(shù)據(jù)類型新開辟一個(gè)空間
賦值:將多個(gè)變量名指向同一個(gè)內(nèi)存地址
14.基礎(chǔ)數(shù)據(jù)類型補(bǔ)充
str
a.capitalize() -- 首字母大寫
a.title() --每個(gè)單詞首字母大寫
a.swapcase --大小寫轉(zhuǎn)換
a.center(長(zhǎng)度) -- 居中
a.center(長(zhǎng)度,"填充內(nèi)容") -- 填充
a.find("") -- 通過元素查找索引,查找不到返回-1
a.index("") -- 通過元素查找索引,查找不到報(bào)錯(cuò)
"拼接的元素".join([1,2,3]) -- 拼接,將列表轉(zhuǎn)成字符串
字符串進(jìn)行加和乘時(shí)都是開辟新空間
list
list("12345") -- 列表的另外一種定義
lst.index() --通過元素查找索引
lst.sort() -- 排序(默認(rèn)升序)
lst.sort(reverse=True) -- 降序
lst.reverse() -- 反轉(zhuǎn)




列表在進(jìn)行乘法的時(shí)候,元素是共用的
元組(tuple)
tu=(1) 源數(shù)據(jù)類型
tu1=("alex") 源數(shù)據(jù)類型
tu2=(1,) 元組
tu3=() 元組

dict
dic.popitem() 隨機(jī)刪除 python3.6版刪除最后一個(gè)鍵值對(duì)
popitem返回的是被刪除的鍵值對(duì)
dic.fromkeys("abc",[]) # 批量創(chuàng)建鍵值對(duì)


fromkeys 第一個(gè)參數(shù)必須是可迭代對(duì)象,會(huì)將可迭代對(duì)象進(jìn)行迭代,成為字典的鍵.第二個(gè)參數(shù)是值(這個(gè)值是共用的)
fromkeys 共用的值是可變數(shù)據(jù)類型就會(huì)有坑,不可變數(shù)據(jù)類型就沒事
15.總結(jié)
可變,不可變,有序,無序
可變:list,dict,set
不可變:int,str,bool,tuple
有序:list,tuple,str
無序:dict,set
取值方式
索引:list,tuple,str
鍵:dict
直接:int,bool,set
數(shù)據(jù)類型轉(zhuǎn)換
str -- int
int -- str
str -- bool
bool -- str
int -- bool
bool -- int
list -- tuple: list(tu)
tuple -- list: tuple(list)
list -- set: list(s)
set -- list
set -- tuple
tuple -- set
***重要:list -- str

str -- list

目前字典轉(zhuǎn)換,自己實(shí)現(xiàn)方法
16.以后會(huì)遇到的坑
lst = [1,2,3]
for i in lst:
lst.append(4)
print(lst)
死循環(huán),在加4的同時(shí)列表lst會(huì)一直增加

lst = [11,22,33,44]
for i in lst:
    lst.remove(i)
print(lst)
這段程序的目的是把列表里的數(shù)據(jù)全部刪除,但列表和for具有自動(dòng)補(bǔ)位,刪掉11之后會(huì)22會(huì)補(bǔ)到11的位置,下次再刪就是33,22和    44會(huì)跳過去

lst = [11,22,33,44]
for i in lst:
    del lst[-1]
print(lst)
這段程序從后面刪除,刪除到33的時(shí)候,程序會(huì)結(jié)束,會(huì)留下11和22

lst = [11,22,33,44]
for i in range(len(lst)):
   del lst[-1]
print(lst)
借用列表的長(zhǎng)度循環(huán),可以實(shí)現(xiàn)

for i in range(len(lst)):
   lst.pop()
print(lst)
同上,可以刪空列表

lst = [11,22,33,44]
lst1 = lst[:]
for i in lst1:
    lst.remove(i)
print(lst)
拷貝lst的元素,通過循環(huán)lst1的長(zhǎng)度,刪空lst

使用for循環(huán)清空列表元素內(nèi)容
    1.從后向前刪除 2.創(chuàng)建一個(gè)新的容器,循環(huán)新的容器刪除舊的容器內(nèi)容
面試題
    lst = [1,[2]]
    lst[1] = lst
    print(lst)
    答案: [1, [...]]  循環(huán)
字典和集合
    字典和集合在遍歷(循環(huán))時(shí)不能修改原來的大小(字典的長(zhǎng)度),可以進(jìn)行修改值
    ![](https://img2018.cnblogs.com/blog/1754444/201908/1754444-20190810165752876-933593647.png)

17.二次編碼
編碼
ascii碼:支持英文,數(shù)字,符號(hào),不支持中文,英文一個(gè)字節(jié)
GBK(國(guó)標(biāo)):支持中文,英文,數(shù)字,符號(hào),英文一個(gè)字節(jié),中文2個(gè)字節(jié)
Unicode(萬國(guó)碼):支持中文,英文,數(shù)字,符號(hào),都是4個(gè)字節(jié)
utf-8:支持中文,英文,數(shù)字,符號(hào),英文1個(gè)字節(jié),歐洲2個(gè)字節(jié),亞洲3個(gè)字節(jié)
字節(jié)用于存儲(chǔ)和傳輸
a.encode("gbk/utf-8") -- 編碼
a.decode("gbk/utf-8") -- 解碼
必會(huì):
python3:默認(rèn)編碼unicode
python2:默認(rèn)編碼ascii
python2不支持中文
重要
encode() # 編碼
decode() # 解碼
用什么編碼就要用什么解碼
網(wǎng)絡(luò)傳輸一定是字節(jié)

來源:https://www./content-1-386251.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多