python3 基礎知識學習筆記(二)-字典-數據類型-列表-模塊-元組

import sys

print(sys.path) #打印環境變量

print(sys.argv[2]) #取列表值模塊

---------------------------------------

import os

cmd_res = os.system("dir") #執行命令,不保存結果

cmd_res = os.popen("dir").read() #執行命令,保存結果

print(cmd_res) #返回值為0表示正常,返回值為1表示出錯

os.mkdir("new_dir") #在當前目錄下創建一個名為new_dir的目錄

----------------------------------------

數據類型

一、數字

1、int (整數,整型)

2、float (浮點型,小數。舉例:52.3E4 E表示10的多少次方,這裡表示10的4次方。)

3、complex

二、布爾值

(只有兩個值,一個真一個假,真:true 假:false 真為1,假為0)

三、字符串

-----------------------------------------

三元運算

a = 1

b = 3

c = 5

d = a

if a >b else c #結果為5,a是小於b的,執行c賦值給a,c=5

if a

-----------------------------------------

bytes類型

字節類型,音頻視頻文件都是二進制,用這個數據類型存。

-----------------------------------------

二進制與字符串互轉

msg ="字符串"

print(msg.encode(encoding="utf-8")) #字符串轉成二進制,用utf-8編碼

print(b'\xd7\xd6\xb7\xfb\xb4\xae'.decode(encoding="GB2312"))

#二進制轉成字符串,用utf-8編碼

-----------------------------------------

列表數據類型

names =["數據1","數據2","數據3","數據4"] #可以存N個數據

name2 =["同學1","同學2","同學3","同學4",["同學5","同學6"]] #列表套列表

print(names[0],names[2]) #取值從0開始計算,0就是第一個。

print(names[1:3]) #取值顧頭不顧尾,取值從1位置到3位置前一個。術語切片

print(names[-1]) #取最後一個數據。

print(names[-2:]) #取最後二個數據。

print(names[0:-1:2]) #布常調取數據,各2個數取一次數據

names.append("數據5") #追加一個“數據5”,自動追加位置在最後一個。

names.insert(1,"數據6") #把“數據6”插入在“數據2”的前面

names[2] ="數據7" #把“數據3”改為“數據7”

刪除有三種方法:

names.remove("數據1") #方法一:就把“數據1”刪除了。

del names[0] #方法二:就把“數據1”刪除了。

names.pop(0) #方法三:默認刪除最後一個,添加參數刪除對應數據。

print(names.index("數據3")) #查找“數據3”的位置,返回結果為2

print(names[names.index("數據3")])

names.clear() #清空列表

names.reverse() #反轉列表順序

names.sort() #排序,首字符優先符號-》數字-》字母

names.extend(names2) #將names2中的列表數據併入names中

name3 = names.copy() #複製一份names數據到names3中

-----------------------------------------------

複製模塊

import copy

person =['name',['a','100']]

names3 = copy.deepcopy(names) #完整複製一份names數據到names3中

'''

三種淺copy方法

p1=copy.copy(person)

p2=person[:]

p2=list(person)

'''

p1[]='kasuo'

p2[]='suoka'

p1[1][1]=50

print(p1) #類似於聯合賬號使用。

------------------------------------------------

元組 tuple

names = ("a1","a2","a3")

只可以查,不可以修改。什麼上時候用?比如連接數據庫。

----------------------------------------------------

字符串的用法

name = "Python \source code and {keywords}installers {description} for"

print(name.capitalize()) #首字母大寫

print(name.count("a")) #查找字符串中有多少個a字母

print(name.casefold()) #不知道

print(name.center(50,"-")) #一共打印50個字符串,不夠的用"-"代替,字符串放在中間。

print(name.encode()) #把字符串轉換成二進制

print(name.endswith("or")) #以什麼結尾,判斷字符串以什麼結尾,如果判斷網址以.com結尾,如果是就返回 True

print(name.expandtabs(tabsize=20)) #把字符串中有""的符號轉換為多少個空格,這裡是20,就是20個空格

print(name.find("code")) #查找,查找字符code的位置

print(name.[name.find("code"):]) #從code開始截取後面的所有字符串

print(name.[name.find("code"):20]) #從code開始截取後面到20位置的字符串

print(name.format(keywords="IDC",description="壹佰網絡")) #字符串keywords和description就賦值到了對應位置。

print(name.format_map({'keywords':'IDC','description':'壹佰網絡'}))

print('ab12'.isalnum()) #判斷字符串為字母和數字混合為True,如果有標點符號就為False

print('aA'.isalpha()) #判斷字符串為純字母,包含大寫為True,否則為False

print(name.isdecimal()) #不常用,以後要用了再看方法吧。

print(name.isdigit()) #判斷是否是整數數字

print(name.isidentifier()) #判斷是不是一個合法的標識符,是不是一個合法的變量名

print(name.islower()) #判斷是否小寫字母

print(name.isnumeric()) #判斷是否整數數字

print(name.isspace()) #判斷是否是一個空格

print(name.istitle()) #判斷每個首字母是否大寫,是就為True

print(name.isprintable()) #如果是tty文件或者驅動文件,是不能輸出的。

print(name.isupper()) #判斷是否全部大寫

print('+'.join(['1','2','3'])) #輸出結果 1+2+3

print(name.ljust(50,'=')) #設置長度為50,不夠用=補齊。

print(name.lower()) #把大寫變成小寫

print(name.upper()) #把小寫變成大寫

print('\nAndlly'.lstrip()) #去左邊的空格和回車

print('\nAndlly'.rstrip()) #去右邊的空格和回車

print('\nAndlly'.strip()) #去兩邊的空格和回車

-----------------

md5 = str.maketrans("1234567890",'pkjhwsxcmy')

print("123".translate(md5))

# 可以做簡單的加密,123加密後為pkj

-----------------

print('andlly'.replace('l','L',1)) #替換一個l為大寫L,全部替換,不加參數1

print('andlly'.rfind('l')) #查找最後一個l的位置,這裡l的位置是4

print('an d ll y'.split('l')) #把字符串空格分開的,自動分成列表。加上參數'l'後,就把l當做分割部分,同時顯示l。

print(and\nlly.splitlines()) #按換行來分

print('an dll y'.swapcase()) #字母轉換為大寫

print('andlly'.zfill(50)) #字符不夠50個,自動在左邊用0補夠.

---------------------------------------------------------------

字典

#key-value 鍵或者說是編號,每一個編號對應一個值

info = {

'no1':'kasuo',

'no2':'andlly',

'no3':'jiji',

}

print(info) #字典的排列順序是無序的。

print(info["no2"]) #查詢編號 no2 的值,就是andlly

info["no2"] ="卡索" #修改編號 no2 的值為 卡索,如果沒有編號no2,側添加一條信息。

del inf["no2"] #刪除編號 no2

info.pop("no2") #刪除編號 no2

info.popitem() #隨機刪

print(info.get('no3')) #有就返回,沒有就none,沒有也不會出錯。

pint('no2' in info) #判斷有沒有編號數據,如果沒有就創建一個

---------------------

b ={

'no1':"wh100idc",

1:3,

3:5

}

info.update(b) #與info有相同的編號替換原有的,沒有的部分之間添加上去。

print(info)

print(info.items()) #把字典轉換成列表

d = dict.fromkeys([6,7,8],"text") #創建新的字典

print(d)

-----------------------------------------------------

多級字典嵌套

av_catalog = { #catalog是目錄的意思

"網站":{

"www.aaa.com": ["配置比較高","價格便宜"],

"www.bbb.com": ["最大的資訊","欄目豐富,還可以投稿"],

"ccc.com": ["一個資訊網站","內容不多有待加強"],

"ddd.com":["質量很高,權重也很高","百度全部收錄,就是牛逼"]

},

"中國網站":{

"baidu.com":["最大中文搜索引擎","聽說想要排名那是要收費的"]

},

"大陸":{

"toutiao.com":["今日頭條","《今日頭條》是一款基於數據挖掘的推薦引擎產品。"]

}

}

av_catalog["大陸"]["toutiao.com"][1] += "用爬蟲爬下來" #修改值"《今日頭條》是一款基於數據挖掘的推薦引擎產品。"為"用爬蟲爬下來"

av_catalog.setdefault("中國網站",{"www.ccc.com":[1,2]}) #如果取得到這個值,就返回值,如果取不到就創建一個新的。

----------------------------------------------------------------------------

字典循環

info = {

'no1':'kasuo',

'no2':'andlly',

'no3':'jiji',

}

for i in info:

print(i) #只打印編號

print(i,info[i]) #打印編號和值


分享到:


相關文章: