python实习
一、隨堂筆記:
1.數(shù)據(jù)類型剩余的內(nèi)置方法
2.字符編碼
3.文件處理
4.函數(shù)基礎(chǔ)
list1=["zhozho",18,"male",3.0,9,"廣州","zhozho",["tank","ko"]]
'''
insert()插入
list1=["zhozho",18,"male",3.0,9,"廣州","zhozho",["tank","ko"]]
list1.insert(3,"dudu")
print(list1)
pop()取出
remove()移除
count()查看值的個(gè)數(shù)
print(list1.count("zhozho"))
index()查看值的索引
print(list1.index("廣州"),"廣州")
clear()清空列表的值
copy()拷貝
#copy()與=的區(qū)別
'''
"="號是直接把相應(yīng)的內(nèi)存賦給變量,故改變內(nèi)存中值的時(shí)候,變量的值跟者改變
copy()是將之前內(nèi)存地址拷貝到另一個(gè)內(nèi)存地址之中,前一個(gè)地址值改變時(shí),copy()變量值不變
稱之為淺拷貝
淺拷貝:list1的列表中的外層值改變值對其不影響,但其中
的可變類型改變時(shí),會(huì)隨之改變
復(fù)制代碼
list2=list1.copy();
list3=list1
print(list2)
print(list3)
list1.append("增加")
print(list2)
print(list3)
復(fù)制代碼
編譯:
復(fù)制代碼
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko'],?'增加']
復(fù)制代碼
'''深拷貝
把list1中的所有值完全拷貝到另一個(gè)地址,list1中改變?nèi)魏沃刀疾桓淖?br />'''
復(fù)制代碼
from?copy?import?deepcopy
list4=deepcopy(list1)
list1[8].append("ho")
print(list1)
print(list2)
print(list3)
print(list4)
復(fù)制代碼
編譯:
復(fù)制代碼
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko',?'ho'],?'增加']
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko',?'ho']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko',?'ho'],?'增加']
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko'],?'增加']
復(fù)制代碼
extend()合并
reverse()反轉(zhuǎn)
sort()排序
'''
字典:
#按照key取存值
dict1={"name":"alice","age":18,"sex":"男","school":"安徽工程大學(xué)"}
print(dict1["school"])
>>>安徽工程大學(xué)
#get()
若key在字對應(yīng)的字典中則取value值,不在則為none,不會(huì)報(bào)錯(cuò)
若不存在的key值后面定義了value值,則會(huì)自動(dòng)取自定義的value值
print(dict1.get("school"))
print(dict1.get("ji","ko"))
print(dict1.get?("ji"))
安徽工程大學(xué)
ko
None
#?2.len()
print(len(dict1))
#3.成員運(yùn)算,判斷的是字典里的key
#in?\not?in
#4.刪除?del
#?del?dict1["name"]
#5.pop()
name=dict1.pop("name")
print(name)
print(dict1)
alice
{'age':?18,?'sex':?'男',?'school':?'安徽工程大學(xué)'}
字典是無序類型,不根據(jù)索引取值
排序是無序的
Python?字典?popitem()?方法隨機(jī)返回并刪除字典中的一對鍵和值(一般刪除末尾對)。
如果字典已經(jīng)為空,卻調(diào)用了此方法,就報(bào)出KeyError異常。
dict1.popitem()
print(dict1)
#6.keys?value?items(鍵值對)
print(dict1.keys())
print(dict1.values())
print(dict1.items())
dict_keys(['age',?'sex'])
dict_values([18,?'男'])
dict_items([('age',?18),?('sex',?'男')])
#7.循環(huán)
#循環(huán)字典中索引的key
for?key?in?dict1:
????print(key)
#8?update()更新
dict2={"work":"student"}
dict1.update(dict2)
print(dict1)
{'age':?18,?'sex':?'男',?'work':?'student'}
元組:#在小括號內(nèi),以逗號隔開,存放多個(gè)值
#優(yōu)先掌握,元組為不可變類型(列表為可變類型)
tuple1=(1,2,3,4,5,6)
print(tuple1)
#按索引取值
print(tuple1[1])
#切片取值,步長
print(tuple1[0:6])
#成員運(yùn)算
#循環(huán)
集合:
#集合類型
#在{}內(nèi)以逗號隔開,可存放多個(gè)值,但集合客默認(rèn)去重功能
集合也是無序的
set1={1,2,3,5,3,2,4,7}
print(set1)
{1,?2,?3,?4,?5,?7}
{}:
set2=set()
set3={}#這里無法判斷是元組還是字典
print(set2,set3)
set3["name"]="tank"
print(type(set3))
?
set2=set()
set3={}#這里無法判斷是元組還是字典
print(set2,set3)
set3["name"]="tank"
print(type(set3))
set()?{}
<class?'dict'>
?
#文件處理的基本使用
#open("文件的名字",mode="wt",encoding=“utf_8”)mode?為對文本操作的模式,encoding為指定的字符編碼
'''
打開i文件會(huì)產(chǎn)生兩種資源,一種是python解釋器與python文件的資源,結(jié)束程序python會(huì)自動(dòng)回收
?
f=open(r'E:\新建文件夾\收納\python_project\day_02\文件的名字.txt',mode='wt',encoding='utf-8')
f.write("hello?tank!!")
?f.close()
讀文件
?f=open(r'E:\新建文件夾\收納\python_project\day_02\文件的名字.txt',mode='r',encoding='utf-8')
?res=f.read()
?print(res)
文件的追加模式a打開一個(gè)文件用于追加。追加文件需要加上\n
#?如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。
#?也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
f=open(r'E:\新建文件夾\收納\python_project\day_02\文件.txt','a',encoding='utf-8')
?f.write('\nhello,join!')
?f.close()
文件處 理之上下文管理:with???as
with會(huì)自帶close功能
會(huì)在文件處理完成后自動(dòng)調(diào)用close()
with?open('E:\新建文件夾\收納\python_project\day_02\文件.txt','w',encoding='utf-8')?as?f:
????f.write('huiihggfghh')
圖片和視頻的處理
獲取網(wǎng)頁圖片的地址,這里為圖片的URL,后綴為.jpg
#content返回的是bytes,二級制型的數(shù)據(jù)。圖片、視頻等都是二進(jìn)制的數(shù)據(jù)
import?requests
res?=requests.get('http://pic53.nipic.com/file/20141115/9448607_175255450000_2.jpg?
')
寫入圖片
with?open('da.jpg','wb')?as?f:
????f.write(res.content)
讀圖片
with?open('da.jpg','rb')?as?f:
????res=f.read()
????print(res)
圖片拷貝
with?open('da.jpg','rb')?as?f,open('ta.jpg','rb')?as?w:
????res=f.read()
????w.write(res)
#讀寫視頻操作與讀寫圖片基本一致,視頻后綴為.mp4
函數(shù)相關(guān)
1.什么是函數(shù)
函數(shù)相當(dāng)于工具,需要實(shí)現(xiàn)準(zhǔn)備好,在需要時(shí)再使用
2.如何使用函數(shù)
函數(shù)必須先定義,后調(diào)用
3.函數(shù)的語法:
def?cup(參數(shù)一,參數(shù)二):
????函數(shù)的聲明
????函數(shù)體代碼(邏輯代碼)
????def:(全稱defind)用來聲明定義函數(shù)的關(guān)鍵字
????函數(shù)名:看其名,知其意
????():存放的是接收外界的參數(shù)
????注釋:用來說明函數(shù)的作用
????函數(shù)體代碼:邏輯代碼
????return:后面跟函數(shù)的返回值
'''
#注冊功能函數(shù)
復(fù)制代碼
def?register():
????while?True:
????????user=input("請輸入用戶名:").strip()
????????pwd=input("請輸入密碼").strip()
????????re_pwd=input("請?jiān)俅屋斎朊艽a:").strip()
????????if?pwd==re_pwd:
????????????#?user_info="用戶名:%s,密碼:%s"%(user,pwd)
????????????#?user_info="用戶名:{},密碼:{}".format(user,pwd)三種方法使用戶名與密碼匹配
????????????user_info=f'用戶名:{user},密碼:{pwd}'
????????????with?open("user.txt",'w',encoding='utf-8')as?f:
????????????????f.write(user_info)
????????else:
????????????print("兩次密碼不一樣,請重新輸入!")
????????return
復(fù)制代碼
#調(diào)用函數(shù)?函數(shù)名()
register()
'''
函數(shù)在定義階段發(fā)生的事情
1.先打開python解釋器
2.加載python文件(.py文件)
3.只會(huì)檢測python語法,不會(huì)執(zhí)行函數(shù)體代碼
''' 二:作業(yè): 1 day作業(yè)2 with open(r'file1.text','w',encoding='utf-8') as f:3 f.write('用戶名:xm,密碼:108595.\n用戶名:xm1998,密碼:111008.')4 5 def login():6 user = ''7 pwd = ''8 dict1 = {}9 with open('file1.text','rt',encoding='utf-8')as w: 10 for line in w: 11 line = line.split('\n')[0].split(',') 12 for data in line: 13 if '用戶名'in data: 14 user = data[4:] 15 else: 16 pwd = data[3:] 17 dict1[user] = pwd 18 while True: 19 user1 = input('請輸入用戶名:').strip() 20 21 if user1 in dict1 : 22 i = 1 23 while i <= 3: 24 pwd1 = input('請輸入密碼:').strip() 25 if pwd1 == dict1[user1]: 26 print('登陸成功!') 27 break 28 else: 29 i = i + 1 30 else: 31 print('密碼錯(cuò)誤超過三次!') 32 else: 33 print('用戶不存在!') 34 break 35 36 login() 運(yùn)行結(jié)果 請輸入用戶名:xm1998 請輸入密碼:111008 請輸入密碼:111111 請輸入密碼:111260 密碼錯(cuò)誤超過三次!
1.數(shù)據(jù)類型剩余的內(nèi)置方法
2.字符編碼
3.文件處理
4.函數(shù)基礎(chǔ)
list1=["zhozho",18,"male",3.0,9,"廣州","zhozho",["tank","ko"]]
'''
insert()插入
list1=["zhozho",18,"male",3.0,9,"廣州","zhozho",["tank","ko"]]
list1.insert(3,"dudu")
print(list1)
pop()取出
remove()移除
count()查看值的個(gè)數(shù)
print(list1.count("zhozho"))
index()查看值的索引
print(list1.index("廣州"),"廣州")
clear()清空列表的值
copy()拷貝
#copy()與=的區(qū)別
'''
"="號是直接把相應(yīng)的內(nèi)存賦給變量,故改變內(nèi)存中值的時(shí)候,變量的值跟者改變
copy()是將之前內(nèi)存地址拷貝到另一個(gè)內(nèi)存地址之中,前一個(gè)地址值改變時(shí),copy()變量值不變
稱之為淺拷貝
淺拷貝:list1的列表中的外層值改變值對其不影響,但其中
的可變類型改變時(shí),會(huì)隨之改變
復(fù)制代碼
list2=list1.copy();
list3=list1
print(list2)
print(list3)
list1.append("增加")
print(list2)
print(list3)
復(fù)制代碼
編譯:
復(fù)制代碼
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko'],?'增加']
復(fù)制代碼
'''深拷貝
把list1中的所有值完全拷貝到另一個(gè)地址,list1中改變?nèi)魏沃刀疾桓淖?br />'''
復(fù)制代碼
from?copy?import?deepcopy
list4=deepcopy(list1)
list1[8].append("ho")
print(list1)
print(list2)
print(list3)
print(list4)
復(fù)制代碼
編譯:
復(fù)制代碼
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko',?'ho'],?'增加']
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko',?'ho']]
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko',?'ho'],?'增加']
['zhozho',?18,?'male',?'dudu',?3.0,?9,?'廣州',?'zhozho',?['tank',?'ko'],?'增加']
復(fù)制代碼
extend()合并
reverse()反轉(zhuǎn)
sort()排序
'''
字典:
#按照key取存值
dict1={"name":"alice","age":18,"sex":"男","school":"安徽工程大學(xué)"}
print(dict1["school"])
>>>安徽工程大學(xué)
#get()
若key在字對應(yīng)的字典中則取value值,不在則為none,不會(huì)報(bào)錯(cuò)
若不存在的key值后面定義了value值,則會(huì)自動(dòng)取自定義的value值
print(dict1.get("school"))
print(dict1.get("ji","ko"))
print(dict1.get?("ji"))
安徽工程大學(xué)
ko
None
#?2.len()
print(len(dict1))
#3.成員運(yùn)算,判斷的是字典里的key
#in?\not?in
#4.刪除?del
#?del?dict1["name"]
#5.pop()
name=dict1.pop("name")
print(name)
print(dict1)
alice
{'age':?18,?'sex':?'男',?'school':?'安徽工程大學(xué)'}
字典是無序類型,不根據(jù)索引取值
排序是無序的
Python?字典?popitem()?方法隨機(jī)返回并刪除字典中的一對鍵和值(一般刪除末尾對)。
如果字典已經(jīng)為空,卻調(diào)用了此方法,就報(bào)出KeyError異常。
dict1.popitem()
print(dict1)
#6.keys?value?items(鍵值對)
print(dict1.keys())
print(dict1.values())
print(dict1.items())
dict_keys(['age',?'sex'])
dict_values([18,?'男'])
dict_items([('age',?18),?('sex',?'男')])
#7.循環(huán)
#循環(huán)字典中索引的key
for?key?in?dict1:
????print(key)
#8?update()更新
dict2={"work":"student"}
dict1.update(dict2)
print(dict1)
{'age':?18,?'sex':?'男',?'work':?'student'}
元組:#在小括號內(nèi),以逗號隔開,存放多個(gè)值
#優(yōu)先掌握,元組為不可變類型(列表為可變類型)
tuple1=(1,2,3,4,5,6)
print(tuple1)
#按索引取值
print(tuple1[1])
#切片取值,步長
print(tuple1[0:6])
#成員運(yùn)算
#循環(huán)
集合:
#集合類型
#在{}內(nèi)以逗號隔開,可存放多個(gè)值,但集合客默認(rèn)去重功能
集合也是無序的
set1={1,2,3,5,3,2,4,7}
print(set1)
{1,?2,?3,?4,?5,?7}
{}:
set2=set()
set3={}#這里無法判斷是元組還是字典
print(set2,set3)
set3["name"]="tank"
print(type(set3))
?
set2=set()
set3={}#這里無法判斷是元組還是字典
print(set2,set3)
set3["name"]="tank"
print(type(set3))
set()?{}
<class?'dict'>
?
#文件處理的基本使用
#open("文件的名字",mode="wt",encoding=“utf_8”)mode?為對文本操作的模式,encoding為指定的字符編碼
'''
打開i文件會(huì)產(chǎn)生兩種資源,一種是python解釋器與python文件的資源,結(jié)束程序python會(huì)自動(dòng)回收
?
f=open(r'E:\新建文件夾\收納\python_project\day_02\文件的名字.txt',mode='wt',encoding='utf-8')
f.write("hello?tank!!")
?f.close()
讀文件
?f=open(r'E:\新建文件夾\收納\python_project\day_02\文件的名字.txt',mode='r',encoding='utf-8')
?res=f.read()
?print(res)
文件的追加模式a打開一個(gè)文件用于追加。追加文件需要加上\n
#?如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。
#?也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
f=open(r'E:\新建文件夾\收納\python_project\day_02\文件.txt','a',encoding='utf-8')
?f.write('\nhello,join!')
?f.close()
文件處 理之上下文管理:with???as
with會(huì)自帶close功能
會(huì)在文件處理完成后自動(dòng)調(diào)用close()
with?open('E:\新建文件夾\收納\python_project\day_02\文件.txt','w',encoding='utf-8')?as?f:
????f.write('huiihggfghh')
圖片和視頻的處理
獲取網(wǎng)頁圖片的地址,這里為圖片的URL,后綴為.jpg
#content返回的是bytes,二級制型的數(shù)據(jù)。圖片、視頻等都是二進(jìn)制的數(shù)據(jù)
import?requests
res?=requests.get('http://pic53.nipic.com/file/20141115/9448607_175255450000_2.jpg?
')
寫入圖片
with?open('da.jpg','wb')?as?f:
????f.write(res.content)
讀圖片
with?open('da.jpg','rb')?as?f:
????res=f.read()
????print(res)
圖片拷貝
with?open('da.jpg','rb')?as?f,open('ta.jpg','rb')?as?w:
????res=f.read()
????w.write(res)
#讀寫視頻操作與讀寫圖片基本一致,視頻后綴為.mp4
函數(shù)相關(guān)
1.什么是函數(shù)
函數(shù)相當(dāng)于工具,需要實(shí)現(xiàn)準(zhǔn)備好,在需要時(shí)再使用
2.如何使用函數(shù)
函數(shù)必須先定義,后調(diào)用
3.函數(shù)的語法:
def?cup(參數(shù)一,參數(shù)二):
????函數(shù)的聲明
????函數(shù)體代碼(邏輯代碼)
????def:(全稱defind)用來聲明定義函數(shù)的關(guān)鍵字
????函數(shù)名:看其名,知其意
????():存放的是接收外界的參數(shù)
????注釋:用來說明函數(shù)的作用
????函數(shù)體代碼:邏輯代碼
????return:后面跟函數(shù)的返回值
'''
#注冊功能函數(shù)
復(fù)制代碼
def?register():
????while?True:
????????user=input("請輸入用戶名:").strip()
????????pwd=input("請輸入密碼").strip()
????????re_pwd=input("請?jiān)俅屋斎朊艽a:").strip()
????????if?pwd==re_pwd:
????????????#?user_info="用戶名:%s,密碼:%s"%(user,pwd)
????????????#?user_info="用戶名:{},密碼:{}".format(user,pwd)三種方法使用戶名與密碼匹配
????????????user_info=f'用戶名:{user},密碼:{pwd}'
????????????with?open("user.txt",'w',encoding='utf-8')as?f:
????????????????f.write(user_info)
????????else:
????????????print("兩次密碼不一樣,請重新輸入!")
????????return
復(fù)制代碼
#調(diào)用函數(shù)?函數(shù)名()
register()
'''
函數(shù)在定義階段發(fā)生的事情
1.先打開python解釋器
2.加載python文件(.py文件)
3.只會(huì)檢測python語法,不會(huì)執(zhí)行函數(shù)體代碼
''' 二:作業(yè): 1 day作業(yè)2 with open(r'file1.text','w',encoding='utf-8') as f:3 f.write('用戶名:xm,密碼:108595.\n用戶名:xm1998,密碼:111008.')4 5 def login():6 user = ''7 pwd = ''8 dict1 = {}9 with open('file1.text','rt',encoding='utf-8')as w: 10 for line in w: 11 line = line.split('\n')[0].split(',') 12 for data in line: 13 if '用戶名'in data: 14 user = data[4:] 15 else: 16 pwd = data[3:] 17 dict1[user] = pwd 18 while True: 19 user1 = input('請輸入用戶名:').strip() 20 21 if user1 in dict1 : 22 i = 1 23 while i <= 3: 24 pwd1 = input('請輸入密碼:').strip() 25 if pwd1 == dict1[user1]: 26 print('登陸成功!') 27 break 28 else: 29 i = i + 1 30 else: 31 print('密碼錯(cuò)誤超過三次!') 32 else: 33 print('用戶不存在!') 34 break 35 36 login() 運(yùn)行結(jié)果 請輸入用戶名:xm1998 請輸入密碼:111008 請輸入密碼:111111 請輸入密碼:111260 密碼錯(cuò)誤超過三次!
轉(zhuǎn)載于:https://www.cnblogs.com/zhangtingyu/p/11013245.html
總結(jié)
- 上一篇: 大学计算机成绩构成,大学计算机平时成绩占
- 下一篇: python怎么设置窗口大小_pytho