上一階段的小總結(jié)
從9.11號(hào)學(xué)習(xí)完Mysql進(jìn)行總結(jié),然后用了3天的時(shí)間進(jìn)行了leetcode的刷題。
三天的時(shí)間把leetcode上的簡(jiǎn)單難度的題目朝群、以及數(shù)據(jù)蛙的作業(yè)、經(jīng)典45道sql題目中的部分過了一遍中符。
在那三天的刷題中姜胖,發(fā)現(xiàn)了自己對(duì)題目的沒有什么思路,好像沒有應(yīng)用不了所學(xué)的知識(shí)淀散。
當(dāng)時(shí)的應(yīng)對(duì)方法是:沒有思路的題目都果斷看答案右莱,了解答案每一行語(yǔ)句的含義。
今天10.04档插,上述的應(yīng)對(duì)方法從現(xiàn)在的反饋來幫助不少慢蜓,至少現(xiàn)在對(duì)大部分題目都有了思路,擁有一定的自主解題能力阀捅。
Mysql的問題:排名問題的解決還不熟悉,窗口函數(shù)還不熟悉
? ? ? ? ? ? ? ? ? ? ? ? 賦值的理解和應(yīng)用較差
應(yīng)對(duì)方法:通過對(duì)做題和看代碼進(jìn)行不斷理解
第二階段python的總結(jié)
大概從9.15日開始學(xué)習(xí)第二階段的課程针余,直到昨天才完成了最后章節(jié)的學(xué)習(xí)與實(shí)踐饲鄙,一共用了兩周多一點(diǎn)的時(shí)間。
按照原定計(jì)劃圆雁,本該兩周內(nèi)可以學(xué)習(xí)完第二階段python的課程忍级,但是在一些不必要的事情上花費(fèi)了一些時(shí)間,導(dǎo)致進(jìn)度稍慢了伪朽,下次需要注意轴咱!
知識(shí)總結(jié)
對(duì)沒有接觸過編程的我來說,第二階段python的知識(shí)非常龐大。根據(jù)我自己的記憶習(xí)慣朴肺,用分類的方法對(duì)所有知識(shí)進(jìn)行總結(jié)窖剑,同時(shí)整理筆記。
我把本階段知識(shí)分為五個(gè)部分戈稿,分別是變量西土、運(yùn)算符、常用語(yǔ)句鞍盗、遍歷需了、模塊&函數(shù)
一、變量
變量的作用:接收和記錄數(shù)據(jù)
1.變量的介紹
數(shù)字型變量
整數(shù)(型) int
浮點(diǎn)型 float
布爾型 bool ? #在運(yùn)算中般甲,True表示1肋乍,false表示0
非數(shù)字型變量
字符串:str
列表:[] ? #用于存儲(chǔ)一組數(shù)據(jù)
字典:{}
元祖:()
常用語(yǔ)句:input:默認(rèn)輸出格式為字符串
? ? ? ? ? ? ? ? ? 格式化輸出:%格式
? ? ? ? ? ? ? ? ? 修改變量類型:如:int()
全局變量:可以作用于所有函數(shù)、語(yǔ)句的變量
局部變量:只作用于函數(shù)體內(nèi)部的變量
局部變量轉(zhuǎn)換為全局變量:global 變量名
2.變量的操作
(1)變量之間的運(yùn)算
a.四則運(yùn)算
b.字符串運(yùn)用加法或乘法運(yùn)算進(jìn)行字符串拼接
(2)列表 list
a.增加? 列表.insert(索引敷存,增加的元素)? #在指定位置增加
? ? ? ? ? ? 列表.append(增加的元素) ? ? #在列表末尾增加
? ? ? ? ? ? 列表.extend(增加的元素) ?? #在列表末尾增加
知識(shí)點(diǎn):當(dāng)增加的元素為列表墓造、元祖、字典時(shí)历帚,append把增加的列表當(dāng)做一個(gè)整體增加至末尾
? ? ? ? ? ? ?? extend把列表中的元素增加至末尾
b.刪除? del.列表[索引]
? ? ? ? ? ? 列表.remove(數(shù)據(jù))? #當(dāng)數(shù)據(jù)或元素在列表中存在多個(gè)時(shí)滔岳,remove刪除第一個(gè)
? ? ? ? ? ? 列表.pop(索引) ? ?? #不指定索引時(shí),刪除列表中最后一個(gè)元素挽牢;具有返回值谱煤,返回被刪除的元素
? ? ? ? ? ? 列表.clear() ? ? ? ? ? ?? #清空列表
c.修改? 列表[索引]=修改值
d.查詢? 查詢列表中數(shù)據(jù):列表[索引]
? ? ? ? ? ? 查詢列表中數(shù)據(jù)的索引:?jiǎn)蝹€(gè)數(shù)據(jù)查詢:列表.index(數(shù)據(jù))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 范圍查詢:列表.index(范圍) ? ?? #范圍左閉右開
? ? ? ? ? ? 查詢列表中某元素出現(xiàn)的次數(shù):列表.count(數(shù)據(jù))
? ? ? ? ? ? 查詢列表中有多少個(gè)元素:len(列表名)
? ? ? ? ? ? 查詢某個(gè)數(shù)據(jù)是否在列表中:if語(yǔ)句
e.排序 升序? 列表名.sort()
? ? ? ? ? ? 降序? 列表名.sort(reverse =True)
? ? ? ? ? ? 按照某個(gè)條件排序 列表名.sort(key=條件)
g:列表推導(dǎo)式:用于快速創(chuàng)建列表
? ? ? ? ? ? ? ? ? ? ?? 列表名=[加入的數(shù)據(jù),for 加入的數(shù)據(jù) in range()]?
? ? ? ? ? ? ? ? ? ? ? ? 如:a=[x for x in range(4)] ? print(a) ? 輸出 1234
(3)元祖 tuple
用于儲(chǔ)存一列數(shù)據(jù)禽拔,并且不能被修改刘离,只有查詢功能
元祖用()定義 ? #定義一個(gè)數(shù)據(jù)的元祖 如:a = (1,)
元祖能與列表互相轉(zhuǎn)換:列表轉(zhuǎn)元祖 list(元祖)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 元祖轉(zhuǎn)列表 tuple(列表)
查詢操作:同列表
知識(shí)點(diǎn):組包&解包
(4)字典及操作dictionary
字段由鍵和數(shù)據(jù)組成(key:value)睹栖,一個(gè)key對(duì)一個(gè)value硫惕,是無序的組合
值?可以取任何數(shù)據(jù)類型,但?鍵?只能使用字符串野来、數(shù)字或?元組
通常用于描述一個(gè)事件的相關(guān)信息
a.增加? 字典={key:value}? #當(dāng)鍵值存在時(shí)為修改恼除,不存在時(shí)是增加
b.刪除? del.字典[鍵] ? ?? #j鍵不存在時(shí)會(huì)報(bào)錯(cuò)
? ? ? ? ? ? 字典.pop(鍵) ?? #鍵不存在時(shí)報(bào)錯(cuò);刪除后會(huì)返回被刪除的值
? ? ? ? ? ? 字典.clear() ? ? ? ? #清空字典
c.修改 ??字典={key:value}
d.查詢:查詢鍵值:字典[鍵] ? ? ? #不能根據(jù)值查詢鍵
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字典.get(鍵) ?? #當(dāng)鍵不存在時(shí)返回None
e.遍歷:遍歷鍵:字典.keys()
? ? ? ? ? ? ? ? ? ?? 值:字典.values()
? ? ? ? ? ? ? ? ? ?? 鍵值對(duì):字典.items() ?? #返回元祖
(5)字符串str
字符串用于儲(chǔ)存一串字符
a.判斷
b.查找與替換
c.拆分和連接
d.大小寫轉(zhuǎn)換
e.去除空白符
f.切片 ?? #范圍左閉右開
二曼氛、運(yùn)算符
算數(shù)運(yùn)算符: 加減乘除+-*/豁辉、取整//、取余%舀患、冪**
(經(jīng)典用法:余數(shù)是0為偶數(shù)徽级,余數(shù)是1為奇數(shù))
比較運(yùn)算符(檢查條件是否成立):大于>,小于<,等于==,大于等于>=,小于等于<=,
邏輯與算符:and、or聊浅、not餐抢、in
賦值運(yùn)算符:+=现使、-=、*=旷痕、/=碳锈、//=、%=苦蒿、**=
三殴胧、常用語(yǔ)句
1.IF(條件語(yǔ)句)
(1).if
(2).elif(需要并列判斷時(shí)使用)
知識(shí)點(diǎn):嵌套!佩迟!
2.Wilhe(循環(huán)語(yǔ)句)
關(guān)鍵字:break 停止執(zhí)行循環(huán)體內(nèi)后面的語(yǔ)句团滥,并跳出循環(huán)
? ? ? ? ? ? ?? continue 停止執(zhí)行循環(huán)體內(nèi)后面的語(yǔ)句,并回到循環(huán)之初(注意死循環(huán)1ㄇ俊>逆ⅰ)
知識(shí)點(diǎn):嵌套!秉溉!python 的計(jì)數(shù)方法A摺!(從0開始計(jì)算)
四召嘶、遍歷
遍歷:從頭到尾依次從變量中依次取出數(shù)據(jù)
常用方法:for循環(huán)語(yǔ)句
? ? ? ? ? ? ? ? ? whihe循環(huán)語(yǔ)句
五父晶、模塊&函數(shù)
函數(shù)是具有獨(dú)立功能的代碼塊
在python里用自帶函數(shù),也可以自定義函數(shù)
1.函數(shù)的定義
def 函數(shù)名():
2.參數(shù)
參數(shù)用于增加函數(shù)的通用性弄跌,可以作為變量使用甲喝,定義順序
(1)形參:在括號(hào)內(nèi)的輸入,用于占位铛只,作為變量使用
(2)實(shí)參:傳遞到函數(shù)內(nèi)部的真實(shí)數(shù)據(jù)
(3)返回值:return ? ? ? #return可以不填寫埠胖;在函數(shù)體內(nèi),return后的代碼都不會(huì)執(zhí)行
(4)匿名函數(shù):lambda :返回值 ? ?? #用于簡(jiǎn)化函數(shù)標(biāo)準(zhǔn)步驟
? ? ? ? ? ? ? ? ? ? ? ? ?? lambda 參數(shù):返回值
? ? ? ? ? ? ? ? 用法:f = lambda :1 ? ? print(f) ? #可以多次調(diào)用
? ? ? ? ? ? ? ? ? ? ? ? ? res= lambda(lambda:1)() ? 只能調(diào)用一次
? ? ? ? ? ? ?? 案例:#求和
????????????????????????????sum = lambda x,y : x+ y
????????????????????????????print(sum(3,4))
(5)參數(shù)類型:位置參數(shù): ? ?? 形參與實(shí)參需要一一對(duì)應(yīng)
? ? ? ? ? ? ? ? ? ? ? ? ?? 默認(rèn)參數(shù): ? ?? 給形參設(shè)置默認(rèn)值淳玩,沒有實(shí)參時(shí)返回默認(rèn)值直撤;默認(rèn)值的設(shè)置需要在第一個(gè)形參之 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 后
? ? ? ? ? ? ? ? ? ? ? ? ?? 關(guān)鍵字參數(shù): ? 實(shí)參可以指定對(duì)應(yīng)某一個(gè)形參 ??
? ? ? ? ? ? ? ? ? ? ? ? ?? 可變參數(shù):*args ? ?? #可以接收任何數(shù)量的參數(shù);在除定義參數(shù)外蜕着,都只寫args
? ? ? ? ? ? ? ? ? ? ? ? ?? 可變關(guān)鍵字參數(shù):kw*args ? ?? #可以接收任何數(shù)量的關(guān)鍵字參數(shù)谋竖;輸出格式為字典
知識(shí)點(diǎn):函數(shù)嵌套調(diào)用、函數(shù)的注釋
3.模塊 ?
模塊的實(shí)質(zhì)是格式為.py的源文件 ? ? #理解:模塊為工具包承匣,模塊內(nèi)的函數(shù)蓖乘、變量等為工具
引用模塊? import 模塊名
引用模塊內(nèi)工具 模塊名.工具名
本階段的問題:1.沒有按照既定的學(xué)習(xí)計(jì)劃學(xué)習(xí),拖慢了學(xué)習(xí)的進(jìn)度悄雅;
? ? ? ? ? ? ? ? ? ? ? ?? 2.對(duì)python的語(yǔ)句大概熟悉了驱敲,但與mysql一樣铁蹈,編程的思維還沒有養(yǎng)成
應(yīng)對(duì)方法:對(duì)本階段進(jìn)行定期的復(fù)習(xí)宽闲;尋找題目
下周任務(wù):學(xué)習(xí)完第三階段众眨;
? ? ? ? ? ? ? ? ? 繼續(xù)對(duì)mysql進(jìn)行刷題,完成45道題目容诬;對(duì)所有題目復(fù)刷一遍娩梨,找出沒有理解、思路的題目萌踱;
? ? ? ? ? ? ? ? ? 每天復(fù)習(xí)python一個(gè)知識(shí)點(diǎn)