前言
對(duì)自己的之前一些筆記記錄一下,有問題的地方看到的大佬們可以指正呛踊。
本篇文章主要包含python的一些語(yǔ)法以及數(shù)據(jù)類型恒序,重點(diǎn)為列表和字典的常見使用悬嗓。
(發(fā)現(xiàn)插入的圖片比較模糊,但還是能看避咆,將就一點(diǎn)舟肉。。查库。)
編碼
- 默認(rèn)情況下路媚,Python 3 (我的Python版本是3.5.0)源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串樊销。 當(dāng)然也可以為源碼文件指定不同的編碼
- 指定: #coding=gbk
- 上述定義允許在源文件中使用 gbk 字符集中的字符編碼
- Ps:其實(shí)上面可以任意修改整慎,只要符合coding[:=]\s([-\w.]+),這是一個(gè)正則表達(dá)式,所以现柠,也可以這樣寫 # -- coding: gbk -*- 或者 # -- coding: gbk --
# -_- coding: gbk -_-
print('我愛Python')
python保留字
-
保留字即關(guān)鍵字院领,我們不能把它們用作任何標(biāo)識(shí)符名稱。Python 的標(biāo)準(zhǔn)庫(kù)提供了一個(gè) keyword 模塊够吩,可以輸出當(dāng)前版本的所有關(guān)鍵字:
image.png
注釋
- Python中單行注釋以 # 開頭比然,多行注釋可以用多個(gè) # 號(hào),還有 ''' 和 """:實(shí)例如下:
行與縮進(jìn)
- python最具特色的就是使用縮進(jìn)來表示代碼塊周循,不需要使用大括號(hào) {} 强法。
- 縮進(jìn)的空格數(shù)是可變的万俗,但是同一個(gè)代碼塊的語(yǔ)句必須包含相同的縮進(jìn)空格數(shù)(一般用一個(gè)tab縮進(jìn))。實(shí)例如下:
多行語(yǔ)句
-
Python 通常是一行寫完一條語(yǔ)句饮怯,但如果語(yǔ)句很長(zhǎng)闰歪,我們可以使用反斜杠()來實(shí)現(xiàn)多行語(yǔ)句。
image.png
數(shù)字(Number)類型
- python中數(shù)字有四種類型:整數(shù)蓖墅、布爾型库倘、浮點(diǎn)數(shù)和復(fù)數(shù)。
- int (整數(shù)), 如 1, 只有一種整數(shù)類型 int论矾,表示為長(zhǎng)整型教翩,沒有 python2 中的 Long。
- bool (布爾), 如 True贪壳。
- float (浮點(diǎn)數(shù)), 如 1.23饱亿、3E-2
-
complex (復(fù)數(shù)), 如 1 + 2j、 1.1 + 2.2j
image.png
字符串(String)
- python中單引號(hào)和雙引號(hào)使用完全相同闰靴。
- 使用三引號(hào)('''或""")可以指定一個(gè)多行字符串彪笼。
- 轉(zhuǎn)義符 ''
- 反斜杠可以用來轉(zhuǎn)義,使用r可以讓反斜杠不發(fā)生轉(zhuǎn)義蚂且。配猫。 如 r"this is a line with \n" 則\n會(huì)顯示,并不是換行膘掰。
- 按字面意義級(jí)聯(lián)字符串章姓,如"this " "is " "string"會(huì)被自動(dòng)轉(zhuǎn)換為this is string。
- 字符串可以用 + 運(yùn)算符連接在一起识埋,用 * 運(yùn)算符重復(fù)凡伊。
- Python 中的字符串有兩種索引方式,從左往右以 0 開始窒舟,從右往左以 -1 開始系忙。
- Python中的字符串不能改變。
- Python 沒有單獨(dú)的字符類型惠豺,一個(gè)字符就是長(zhǎng)度為 1 的字符串银还。
-
字符串的截取的語(yǔ)法格式如下:變量[頭下標(biāo):尾下標(biāo)]
image.png
image.png
空行
- 函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開始洁墙。類和函數(shù)入口之間也用一行空行分隔蛹疯,以突出函數(shù)入口的開始。
- 空行與代碼縮進(jìn)不同热监,空行并不是Python語(yǔ)法的一部分捺弦。書寫時(shí)不插入空行,Python解釋器運(yùn)行也不會(huì)出錯(cuò)。但是空行的作用在于分隔兩段不同功能或含義的代碼列吼,便于日后代碼的維護(hù)或重構(gòu)幽崩。
- 記住:空行也是程序代碼的一部分寞钥。
等待用戶輸入
-
Python3中用Input()作為輸入:
image.png
同一行顯示多條語(yǔ)句
-
Python可以在同一行中使用多條語(yǔ)句慌申,語(yǔ)句之間使用分號(hào)(;)分割:
image.png
Print 輸出
import 與 from...import
- 在 python 用 import 或者 from...import 來導(dǎo)入相應(yīng)的模塊。
- 將整個(gè)模塊(somemodule)導(dǎo)入理郑,格式為: import somemodule
- 從某個(gè)模塊中導(dǎo)入某個(gè)函數(shù),格式為: from somemodule import somefunction
- 從某個(gè)模塊中導(dǎo)入多個(gè)函數(shù),格式為: from somemodule import firstfunc, secondfunc, thirdfunc
-
將某個(gè)模塊中的全部函數(shù)導(dǎo)入蹄溉,格式為: from somemodule import *
image.png
命令行參數(shù)
-
很多程序可以執(zhí)行一些操作來查看一些基本信息,Python可以使用-h參數(shù)查看各參數(shù)幫助信息:
image.png
help() 函數(shù)
-
調(diào)用 python 的 help() 函數(shù)可以打印輸出一個(gè)函數(shù)的文檔字符串香浩,這很有用@噻汀!邻吭!
image.png
如果想要更詳細(xì)的,可以再python的shell界面點(diǎn)Help->Python Docs或者按F1:
image.png
Python常用數(shù)據(jù)結(jié)構(gòu)
列表
- 列表是由一系列按特定順序排列的元素組成宴霸。
- List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型囱晴。
- 列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。列表中元素的類型可以不相同瓢谢,它支持?jǐn)?shù)字畸写,字符串甚至可以包含列表(所謂嵌套)。
- 列表是寫在方括號(hào)([])之間氓扛、用逗號(hào)分隔開的元素列表枯芬。
- 和字符串一樣,列表同樣可以被索引和截取采郎,列表被截取后返回一個(gè)包含所需元素的新列表千所。
- 列表與列表之間的加減乘除也被支持
- 創(chuàng)建列表可以用方括號(hào),也可以用list()函數(shù)
- 列表操作主要包含下面的函數(shù)和方法
函數(shù):
- cmp(list1, list2):比較兩個(gè)列表的元素 (python3已丟棄)
- len(list):列表元素個(gè)數(shù)
- max(list):返回列表元素最大值
- min(list):返回列表元素最小值
- list(seq):將元組轉(zhuǎn)換為列表
方法:
1蒜埋、list.append(obj):在列表末尾添加新的對(duì)象
2淫痰、list.count(obj):統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
3、list.extend(seq):在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表)
4整份、list.index(obj):從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置
5待错、list.insert(index, obj):將對(duì)象插入列表,index為索引
6烈评、list.pop(obj=list[-1]):移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素)火俄,并且返回該元素的值
7、list.remove(obj):移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
8讲冠、list.reverse():反向列表中元素
9瓜客、list.sort([func]):對(duì)原列表按ascll碼進(jìn)行排序,若要反向排序,則list.sort(reverse=True)
列表的切片和遍歷
元組
- Python的元組與列表類似(大部分列表的操作都能運(yùn)用到元組上)忆家,不同之處在于元組的元素不能修改犹菇。
- 元組使用小括號(hào),列表使用方括號(hào)芽卿。
- 元組創(chuàng)建很簡(jiǎn)單揭芍,只需要在括號(hào)中添加元素,并使用逗號(hào)隔開即可卸例。
例1:元組的創(chuàng)建與切片
元組中的元素值是不允許修改的称杨,但我們可以對(duì)元組進(jìn)行連接組合。
例2:修改元組
元組的函數(shù)操作基本與列表一樣筷转,這里介紹將列表轉(zhuǎn)換為元組的tuple()函數(shù)
字典
- 字典是另一種可變?nèi)萜髂P凸迷铱纱鎯?chǔ)任意類型對(duì)象。
- 字典的每個(gè)鍵值(key=>value)對(duì)用冒號(hào)(:)分割呜舒,每個(gè)對(duì)之間用逗號(hào)(,)分割锭汛,整個(gè)字典包括在花括號(hào)({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
- 鍵必須是唯一的,但值則不必袭蝗。
- 值可以取任何數(shù)據(jù)類型唤殴,但鍵必須是不可變的,如字符串到腥,數(shù)字或元組
dict1 = { 'abc': 123, 98.6: 37 };
例1:字典的基本操作
例2:字典內(nèi)置函數(shù)&方法
函數(shù)
- len(dict)
計(jì)算字典元素個(gè)數(shù)朵逝,即鍵的總數(shù)。
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> len(dict)
3
- str(dict)
輸出字典乡范,以可打印的字符串表示配名。
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(dict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
- type(variable)
返回輸入的變量類型,如果變量是字典就返回字典類型晋辆。
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> type(dict)
<class 'dict'>
方法
- radiansdict.clear() 刪除字典內(nèi)所有元素
- radiansdict.copy() 返回一個(gè)字典的淺復(fù)制
- radiansdict.fromkeys() 創(chuàng)建一個(gè)新字典渠脉,以序列seq中元素做字典的鍵,val為字典所有鍵對(duì)應(yīng)的初始值
- radiansdict.get(key, default=None) 返回指定鍵的值栈拖,如果值不在字典中返回default值
- key in dict 如果鍵在字典dict里返回true连舍,否則返回false
- radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
- radiansdict.keys() 以列表返回一個(gè)字典所有的鍵
- radiansdict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為default
- radiansdict.update(dict2) 把字典dict2的鍵/值對(duì)更新到dict里
- radiansdict.values() 以列表返回字典中的所有值
- pop(key[,default]) 刪除字典給定鍵 key 所對(duì)應(yīng)的值涩哟,返回值為被刪除的值索赏。key值必須給出。 否則贴彼,返回default值潜腻。
- popitem() 隨機(jī)返回并刪除字典中的一對(duì)鍵和值(一般刪除末尾
部分實(shí)例