python基础知心得总结_【python】基础学习心得总结(一)
本文將簡(jiǎn)單闡述一些基本的python知識(shí)點(diǎn),大多是本人在學(xué)習(xí)過(guò)程中的心得體會(huì)。簡(jiǎn)單常用的編程概念和思想將不再描述。若有理解錯(cuò)誤,還望指正。
一、python運(yùn)行,調(diào)試
python和相關(guān)軟件可以在官網(wǎng)下載。本文采用的版本是:Python 3.7.0 + PyCharm 2019.2
在這里推薦Notepad++文本編輯器可用于編寫(xiě)程序,轉(zhuǎn)換編碼,很多txt文件如若使用windows自帶的文本編輯器打開(kāi)會(huì)出現(xiàn)一些錯(cuò)誤。
python的運(yùn)行有兩種方式:命令行模式+python交互模式。
①命令行模式:win+r快捷鍵,輸入cmd,可以進(jìn)入電腦命令行模式---->輸入相應(yīng)文件名進(jìn)行執(zhí)行(可以在notepad中編寫(xiě)好再執(zhí)行.py文件)
C:\> python hello.py
②python交互模式:win+r快捷鍵,輸入cmd,可以進(jìn)入電腦命令行模式---->輸入python回車(chē),即可進(jìn)行編輯
>>> ... ... (這時(shí)是直接進(jìn)行程序編寫(xiě))
輸入exit()回車(chē)即可退出
當(dāng)然利用PyCharm也可以進(jìn)行編寫(xiě),這就如同我們?cè)赩S中編寫(xiě)C項(xiàng)目一樣。大家根據(jù)實(shí)際情況進(jìn)行使用。?可以打斷點(diǎn),一 一進(jìn)行調(diào)試。
快捷鍵:查找ctrl+F,替換ctrl+R
二、基本語(yǔ)法學(xué)習(xí)
(1)命名規(guī)則:
命名有大小寫(xiě)區(qū)分,由大小寫(xiě)字母、數(shù)字、下劃線(xiàn)_ 混合組成。數(shù)字不可開(kāi)頭,其余可。
由兩個(gè)及以上單詞組成時(shí):
①first_name 全小寫(xiě),中間用下劃線(xiàn)連接
②FirstName/firstName 各單詞首字母大寫(xiě)/除首字母外,各單詞首字母大寫(xiě)
(2)基本規(guī)則:
縮進(jìn):python中的縮進(jìn)是tab或者4個(gè)空格,同一個(gè)py文件中兩者不能混用。PyCharm中選中需要調(diào)整縮進(jìn)的行,按tab可向右縮進(jìn),shift+tab可以向左縮進(jìn)
注釋:
行代碼注釋,在該行代碼后打空格再使用#即可 標(biāo)準(zhǔn)的使用方法是代碼后兩個(gè)空格,#號(hào)后一個(gè)空格再進(jìn)行編寫(xiě)注釋。
例如:
print('這是一個(gè)例句')? # 符號(hào)前兩個(gè)空格,符號(hào)后一個(gè)空格
2.段代碼注釋使用/*? ... ... */
一般計(jì)數(shù)從0開(kāi)始。
(3)IF語(yǔ)句的學(xué)習(xí):
if 語(yǔ)句的格式是:
if?? 條件:
滿(mǎn)足條件執(zhí)行語(yǔ)句①
執(zhí)行完①或者沒(méi)有滿(mǎn)足條件時(shí)執(zhí)行語(yǔ)句②
或者
if?? 條件:
滿(mǎn)足條件執(zhí)行語(yǔ)句①
else:
不滿(mǎn)足條件執(zhí)行語(yǔ)句②
或者
if?? 條件①:
滿(mǎn)足條件①執(zhí)行語(yǔ)句①
elif?? 條件②:
滿(mǎn)足條件②執(zhí)行語(yǔ)句②
... ...
else:
都不滿(mǎn)足條件則執(zhí)行語(yǔ)句
一個(gè)需要注意的點(diǎn):
假如兩個(gè)條件:if A==0 or 1:
是錯(cuò)誤的!應(yīng)該寫(xiě)成
if A==0 or A==1:
否則理解成兩個(gè)條件“A==0”或者“1”
舉例一:
name = input("請(qǐng)輸入您的姓名:")?#input函數(shù)的使用,先輸出字符串(可沒(méi)有),再將用戶(hù)輸入的數(shù)據(jù)存入name字符串
age = input("請(qǐng)輸入您的年齡:")
age = int(age) #因?yàn)閕nput得到的是str,所以需要轉(zhuǎn)換為int
if age >= 18:?#if語(yǔ)句的使用,冒號(hào)非常重要,不可遺漏 比較運(yùn)算符:== !=? /= ?//整除? %取余... 邏輯運(yùn)算:not、and、or
print("%s,您%d歲了,已經(jīng)成年了!" % (name,age))?#注意print的使用方法,%d、%s等都是其他語(yǔ)言里常用的占位符,但此處不用逗號(hào)分隔,而是使用%
else:
print("您還未成年!")
輸出結(jié)果:
請(qǐng)輸入您的姓名:**
請(qǐng)輸入您的年齡:20
**,您20歲了,已經(jīng)成年了!
if 后的條件如果滿(mǎn)足,則執(zhí)行其冒號(hào)后的代碼塊。此代碼塊是指此冒號(hào)后有縮進(jìn)的那一部分。否則執(zhí)行else / elseif / 沒(méi)有縮進(jìn)的代碼塊。
如果需要嵌套if語(yǔ)句,只有縮進(jìn)變化,其余不變,與其他語(yǔ)言編碼相似。
Tips: 如果條件很長(zhǎng)影響閱讀可以換行操作
例如:
if ((player_int == 1 and computer_int == 2)
or(player_int == 3 and computer_int == 1)
or(player_int == 2 and computer_int == 3)): #條件很長(zhǎng),為了便于觀(guān)看添加括號(hào)進(jìn)行換行,其中換行后需要多添加一個(gè)tab,為了區(qū)分代碼塊內(nèi)容(4)循環(huán)的學(xué)習(xí):
①while循環(huán):while 條件A: #滿(mǎn)足A則循環(huán)執(zhí)行B
執(zhí)行代碼塊B
tips:可以添加斷點(diǎn)debug(shift+f9),單步調(diào)試f8進(jìn)行學(xué)習(xí)。Pycharm運(yùn)行快捷鍵:shift+f10 運(yùn)行當(dāng)前py :shift+ctrl+f10
一般計(jì)數(shù)器從0開(kāi)始,條件中使用>;從1開(kāi)始,使用>= / <=
需要借助計(jì)數(shù)器。
②break和continue的使用:(只針對(duì)當(dāng)前循環(huán)有用)
break:某一條件滿(mǎn)足時(shí)退出循環(huán),不再執(zhí)行后續(xù)重復(fù)的代碼塊
continue:某一條件滿(mǎn)足時(shí),不再執(zhí)行后續(xù)重復(fù)的代碼塊
③for循環(huán):
迭代遍歷,按照順序進(jìn)行數(shù)據(jù)提取。對(duì)每一個(gè)元素,執(zhí)行相同的操作
迭代:順序的從列表中依次獲取數(shù)據(jù)
可以遍歷所有非數(shù)字型變量,如元組、列表、字符串、字典
舉例二:(涉及到后文的list知識(shí))
name_list=['abc','def','ghi'] for my_name in name_list:
print(my_name)
有想要實(shí)現(xiàn)循環(huán)數(shù)字:
for i in range(100): # i是從0到100的數(shù)字,包含0和100,想要從1:range(1,100)即可!
pass
假如:
想要從1:range(1,100)即可,但是如此不行:
j = 1
for j in range(100): # 這樣實(shí)際上j是個(gè)新的變量,還是從0開(kāi)始的
pass
(5)函數(shù)的使用:
①隨機(jī)數(shù)生成:
import random
random.randint(a,b) #可以得到[a,b]間的隨機(jī)整數(shù),包括ab
②print函數(shù)的使用:
print("%s,您%d歲了,已經(jīng)成年了!" % (name,age))?#注意print的使用方法,%d、%s等都是其他語(yǔ)言里常用的占位符,但此處不用逗號(hào)分隔,而是使用%
print函數(shù)默認(rèn)輸出后進(jìn)行換行
print('*',end='') #借助end可以將默認(rèn)的換行符替換為自己所需要的符號(hào)或是空
若需要換行 :print('')
轉(zhuǎn)義字符 \ 的使用:
\t 制表符,用于文本垂直對(duì)齊 \n換行符 \" 轉(zhuǎn)義了“,可以輸出”③函數(shù)的使用:
函數(shù)將具有獨(dú)立功能的代碼塊進(jìn)行封裝,讓開(kāi)發(fā)人員更方便的進(jìn)行使用
定義函數(shù):def 函數(shù)名():
函數(shù)內(nèi)容
執(zhí)行程序時(shí),只有主動(dòng)調(diào)用函數(shù)才會(huì)執(zhí)行該定義函數(shù)的代碼塊,但是定義函數(shù)必須在調(diào)用之前。
程序是順序執(zhí)行的,當(dāng)讀到def就清楚了有這樣的一個(gè)定義,但實(shí)際內(nèi)容并未執(zhí)行。
可以用return進(jìn)行函數(shù)返回值的輸出,return關(guān)鍵字后的函數(shù)內(nèi)容不會(huì)被執(zhí)行
函數(shù)注釋:
def 函數(shù)名():
"""注釋"""函數(shù)內(nèi)容開(kāi)發(fā)過(guò)程想要查看就將光標(biāo)放在函數(shù)名上,然后ctrl+Q即可查看注釋
形參和實(shí)參:
形參:定義函數(shù)時(shí),小括號(hào)中的參數(shù),用于接收參數(shù),在函數(shù)內(nèi)部作為變量使用
實(shí)參:使用函數(shù)時(shí),小括號(hào)中的參數(shù),用于將數(shù)據(jù)傳入函數(shù)內(nèi)部
④模塊:
模塊就好比一個(gè)工具包,每一個(gè)py文件都是一個(gè)模塊,其中的變量和函數(shù)都是可以給外界使用(借助import關(guān)鍵字
注意:模塊名就是標(biāo)識(shí)符名,所以也應(yīng)該符合命名規(guī)則import 包名包名.變量/函數(shù) 即可調(diào)用
新項(xiàng)目包中從文件管理器中打開(kāi)有__pycache__文件夾,其中保存了.pyc文件,代表的是已經(jīng)被編譯過(guò)的文件,直接執(zhí)行可以加速執(zhí)行速度
⑤數(shù)據(jù)類(lèi)型:列表list、字典dict、元組tuple
列表即為其他語(yǔ)言常說(shuō)的數(shù)組,用存儲(chǔ)一串?dāng)?shù)據(jù),[ ]表示,兩項(xiàng)之間用‘ ,’分隔,序號(hào)從0開(kāi)始【有序】數(shù)據(jù)集合。本文的list是用于代表列表的,實(shí)際上是列表名。
盡管list可以存儲(chǔ)不同數(shù)據(jù)類(lèi)型的數(shù)據(jù),但是大多數(shù)情況,都是存儲(chǔ)相同的數(shù)據(jù)類(lèi)型
取值: list[ index ] 即可取到序號(hào)為 index 的數(shù)據(jù)data
取索引: list.index(data)
類(lèi)別
函數(shù)使用
解釋說(shuō)明
增加
list.insert(index,data)
指定位置插入數(shù)據(jù)
list.append(data)
末尾添加數(shù)據(jù)
list.extend(list2)
將list2的數(shù)據(jù)添加到list后
修改
list[index]=data
修改指定索引數(shù)據(jù)
刪除
del list[index]
刪除指定索引數(shù)據(jù)
list.remove[data]
刪除第一個(gè)出現(xiàn)的data數(shù)據(jù)
list.pop
刪除末尾數(shù)據(jù)
list.pop(index)
刪除指定索引數(shù)據(jù)
list.clear
清除列表
統(tǒng)計(jì)
len(list)
統(tǒng)計(jì)列表長(zhǎng)度
list.count(data)
計(jì)算data在列表中出現(xiàn)次數(shù)
排序
list.sort()
升序排序
list.sort(reverse=true)
降序排序
list.reverse()
逆序、反轉(zhuǎn)
Tips: 可以在命令行模式,輸入"list名."再按tab,可以得到能使用的方法名,在pycharm中光標(biāo)放到方法名再按ctrl可以看出需填參數(shù)
關(guān)鍵字、函數(shù)和方法:
關(guān)鍵字使用時(shí)不需要小括號(hào),例如前文的del
import keyword
print(keyword.kwlist) #可以查看python所提供的所有33個(gè)關(guān)鍵字
函數(shù)封裝了一些獨(dú)立功能,可以直接調(diào)用,使用時(shí)需要小括號(hào)。函數(shù)名需要記住。
方法和函數(shù)類(lèi)似,也是封裝了獨(dú)立功能,但是方法需要通過(guò)對(duì)象來(lái)調(diào)用,是要對(duì)這個(gè)對(duì)象進(jìn)行的操作。
調(diào)用方法: 對(duì)象.方法名() #方法名不用記住
元組
元組與列表類(lèi)似,用()表示,但是元組的元素不能修改,定義完成后就不能修改。兩項(xiàng)之間用‘ ,’分隔,序號(hào)從0開(kāi)始
元組會(huì)用來(lái)存儲(chǔ)不同的數(shù)據(jù)類(lèi)型,因而對(duì)元組進(jìn)行迭代循環(huán)的需求就不是很多
空元組:empty_tuple = ()
只含一個(gè)元素的元組: one_tuple = (1,) #必須添加一個(gè)逗號(hào),若無(wú)的話(huà)就是int型
取值: tuple[index]
取索引: tuple.index(data)
數(shù)據(jù)在元組中出現(xiàn)的次數(shù): tuple.count(data)
元組元素個(gè)數(shù): len(tuple)
元組應(yīng)用場(chǎng)景:①格式化字符串中()即是一個(gè)元組,可以不用print直接用%連接字符串和元組②用于保存函數(shù)的參數(shù)和返回值③保護(hù)不能修改的列表
元組和列表的轉(zhuǎn)換: list(元組) / tuple(列表)
字典
【無(wú)序】的數(shù)據(jù)集合。本文的dict是用于代表字典的,實(shí)際上是字典名。
字典用{}表示,每個(gè)數(shù)據(jù)項(xiàng)是一個(gè)鍵值對(duì),用逗號(hào)分隔。鍵值對(duì)的格式是key:value。為了便于觀(guān)看,最好可以一行放置一對(duì)鍵值對(duì)。
取值:dict[ key ]
增加/修改 : dict[ key ] = value2 #如果key不存在則新增項(xiàng)key:value2;如果存在則將原來(lái)的value值改為value2
刪除: dict.pop(key) 即可刪除對(duì)應(yīng)鍵值對(duì)
取值
dict[key]
dict.get(key)
取出字典中key對(duì)應(yīng)的value值
增加/修改
dict[key]=value
dict.setdefault(key,value)
若key存在則是修改鍵值,若不存在則是增加項(xiàng)
刪除項(xiàng)
dict.pop(key)
刪除key對(duì)應(yīng)的鍵值對(duì)
統(tǒng)計(jì)鍵值對(duì)數(shù)
len(dict)
統(tǒng)計(jì)鍵值項(xiàng)數(shù)
合并字典
dict.update(dict2)
合并兩個(gè)字典,若有相同key,覆蓋dict原有的項(xiàng)
清空字典
dict.clear()
清空所有鍵值對(duì)
查看key值
dict.keys()
查看key值列表,value同理
字典在迭代循環(huán)時(shí),for item in dict: 中的item指的是鍵值對(duì)中的key
字典和列表的結(jié)合:list=[dict1,dict2]
字符串
“”或‘’定義。一般其他語(yǔ)言都用“”定義。若內(nèi)容含有“”可以采用‘’;若內(nèi)容含有‘’可以采用“”,也可以采用轉(zhuǎn)義字符
可以利用索引取字符串中的某一字符,索引從0開(kāi)始。迭代循環(huán)時(shí),循環(huán)的項(xiàng)是字符串中的各個(gè)字符
len(str)查看str長(zhǎng)度、str.count(lstr)統(tǒng)計(jì)子字符串出現(xiàn)次數(shù)、str.index(lstr)返回lstr在str中所處的位置索引
python為字符串提供了很多方法:①判斷類(lèi)型。例如是否只有數(shù)字,是否含有大小寫(xiě)等。②查找和替換。③大小寫(xiě)替換。④文本對(duì)齊。⑤去除空白字符。⑥字符串拆分和連接。
這些方法不再描述,使用時(shí)可以在命令行模式輸入str.再按tab鍵,根據(jù)方法名進(jìn)行利用即可。
總結(jié)
以上是生活随笔為你收集整理的python基础知心得总结_【python】基础学习心得总结(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python中有没有switch_Pyt
- 下一篇: python批量读取tiff文件_Pyt