本周是從7.01~7.06,總的6天的學(xué)習(xí)時(shí)間,
首先曬一下這密密麻麻的筆記和課后題,心里還是有點(diǎn)小成就感的,感慨這一周的時(shí)間總算沒(méi)白費(fèi).
下面就是邊看筆記邊整理學(xué)習(xí)的內(nèi)容查缺補(bǔ)漏了.
文檔:(7.01)PYTHON學(xué)習(xí)day06_
文檔:(7.01)day06_高級(jí)變量二練習(xí)題
文檔:(7.02)PYTHON學(xué)習(xí)day07_
文檔:(7.02)day07_初級(jí)函數(shù)練習(xí)題
文檔:(7.03)PYTHON學(xué)習(xí)day08_
文檔:(7.04)PYTHON學(xué)習(xí)day09_
文檔:(7.04)day09_函數(shù)高級(jí)練習(xí)題
文檔:(7.06)PYTHON學(xué)習(xí)day11_
(7.01)PYTHON學(xué)習(xí)day06_
第六天學(xué)習(xí)的內(nèi)容為高級(jí)變量:字典和字符串
字典:增刪改查
字符串:查詢(xún),常用操作,切片
1.字典的定義:
2.然后記住下面一張圖和一張表:
3.字符串的定義:
4.然后記住下面一張圖:
5.字符串的常用操作:
5.字符串的切片:
(7.02~05)PYTHON學(xué)習(xí)day07_10
第七到第十天的學(xué)習(xí)內(nèi)容:函數(shù)
day07_:函數(shù)定義和調(diào)用,函數(shù)的參數(shù),函數(shù)的返回值,函數(shù)的嵌套
day08_:模塊/列表推導(dǎo)式/匿名函數(shù)
day09_:全局/局部變量,函數(shù)的返回值,函數(shù)的各類(lèi)參數(shù)
day10_:編寫(xiě)學(xué)生管理系統(tǒng)
函數(shù)比較難記憶的的點(diǎn)主要是day08_中的列表推導(dǎo)式和匿名函數(shù),day_9_的可變參數(shù)
1.列表推導(dǎo)式
所謂的列表推導(dǎo)式,就是指的輕量級(jí)循環(huán)創(chuàng)建列表
基本的方式
a=[x for x in range(4)]
b=[x for x in range(1,7)]
c=[x for x in range(1,7,2)]
print(a)
print(b)
print(c)
輸出結(jié)果:
[0, 1, 2, 3] [1, 2, 3, 4, 5, 6] [1, 3, 5]
2. 在循環(huán)的過(guò)程中使用if
a=[x for x in range(1,7) if x%2==0]
b=[x for x in range(1,7) if x%2!=0]
c=[x for x in range(1,7,2)]
print(a)
print(b)
print(c)
輸出結(jié)果:
[2, 4, 6] [1, 3, 5] [1, 3, 5]
3. 2個(gè)for循環(huán)
d=[(x,y) for x in range(1,4) for y in range(3,5)]
輸出結(jié)果:
[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]
2.匿名函數(shù)
lambda關(guān)鍵詞能創(chuàng)建小型匿名函數(shù)犬性。這種函數(shù)得名于省略了用def聲明函數(shù)的標(biāo)準(zhǔn)步驟岳锁。
lambda函數(shù)的語(yǔ)法只包含一個(gè)語(yǔ)句键思,如下:
# lambda 參數(shù)1,參數(shù)2,...:表達(dá)式(返回值)
lambda [arg1 [,arg2,.....argn]]:expression
如下實(shí)例:
sum = lambda arg1, arg2: arg1 + arg2
# 調(diào)用sum函數(shù)
print("Value of total : %s" % sum( 10, 20 ))
print("Value of total : %s" % sum( 20, 20 ))
以上實(shí)例輸出結(jié)果:
Value of total :? 30
Value of total :? 40
Lambda函數(shù)能接收任何數(shù)量的參數(shù)但只能返回一個(gè)表達(dá)式的值
匿名函數(shù)不能直接調(diào)用print,因?yàn)閘ambda需要一個(gè)表達(dá)式
# 定義一個(gè)函數(shù)
def fun(a, b, opt):
? ? print("a = %s" % a)
? ? print("b = %s" % b)
? ? print("result =%s" % opt(a, b))
# 調(diào)用函數(shù)
fun(1, 2, lambda x,y:x+y)
輸出結(jié)果:
a = 1?
b = 2?
result = 3
作為內(nèi)置函數(shù)的參數(shù)
3.可變參數(shù)
可變參數(shù)
需求: 參數(shù)數(shù)量不確定,能否接收?
args(元組可變參數(shù))
函數(shù)可以定義?可變參數(shù),用于接收任意數(shù)量的參數(shù)
可變參數(shù)的前邊需要添加*搁料,用于提示python解釋器該參數(shù)為可變參數(shù)
使用可變參數(shù)直接用args即可(不需要加*)
可變參數(shù)的本質(zhì)是?將傳遞的參數(shù)包裝成了元組
# 元組可變參數(shù)
def func4(a, b, *args):
? ? sum = a + b
? ? for arg in args:
? ? ? ? sum += arg
? ? print(sum)
func4(4,7, 8, 8, 8, 9)
輸出結(jié)果:
44
kwargs
可變參數(shù)還有一種形式?可以接收不存在的關(guān)鍵字參數(shù)
定義參數(shù)時(shí)需要在變量名前添加兩個(gè)*
這種可變參數(shù)會(huì)將?不存在的關(guān)鍵字參數(shù)包裝成字典
# 字典可變參數(shù)
def func5(a, b, *args, **kwargs):
? ? print(a)
? ? print(b)
? ? print(args)
? ? print(kwargs)
func5(5,6,7,8,10,k=5,h=88)
輸出結(jié)果:
5
6
(7, 8, 10)
{'k': 5, 'h': 88}
(7.06)PYTHON學(xué)習(xí)day11_
第十一天的學(xué)習(xí)內(nèi)容:文件的操作
文件的打開(kāi)關(guān)閉/寫(xiě)入讀取追加/文件的備份
文件的備份(此案例包括了讀寫(xiě),逐行讀寫(xiě),備份的所有內(nèi)容)
# 創(chuàng)建gailun.txt文件
# 打開(kāi)文件在gailun.txt中寫(xiě)入"德瑪西亞!人在塔在系羞!"
# 將輸入的數(shù)據(jù)格式化輸出到終端上
# 在文件夾中創(chuàng)建gailun副本.txt文件
# 將gailun.txt文件中的數(shù)據(jù)寫(xiě)入gailun副本.txt文件中
# 打開(kāi)文件郭计,查看文件中是否有內(nèi)容
createfile= open("gailun.txt", "w")
createfile.write("德瑪西亞!人在塔在椒振!")
createfile.close()
oldfilename= input("請(qǐng)輸入要備份的文件名:")
fileflagnum= oldfilename.rfind(".")
if fileflagnum> 0:
? ? fileflag= oldfilename[fileflagnum:]
? ? newfilename= oldfilename[:fileflagnum] + "副本" + fileflag
oldfile= open(oldfilename, "rb")
newfile= open(newfilename, "wb")
content= oldfile.readlines()
for line_contentin content:
? ? newfile.write(line_content)
oldfile.close()
newfile.close()