Python入门图文解说
一 安裝
雙擊執(zhí)行安裝;
?
選擇目錄;
?
選擇組件;?
?
完成。
?
開(kāi)始菜單:
?
二 基本
在交互式環(huán)境的提示符>>>下,直接輸入代碼,按回車(chē),就可以立刻得到代碼執(zhí)行結(jié)果。
可以直接對(duì)數(shù)字進(jìn)行計(jì)算,也可用print輸出內(nèi)容;
?
新建一個(gè)文件hello.py,在命令行用python命令執(zhí)行,結(jié)果和文件內(nèi)容如下圖;
?
Python的變量不需要聲明,用type(a)獲取a的類(lèi)型;
?
sequence(序列)是一組有順序的元素的集合
基本數(shù)據(jù)類(lèi)型,都可以作為序列的元素。元素還可以是另一個(gè)序列,以及其他對(duì)象。
序列有兩種:tuple(定值表; 也有翻譯為元組) 和 list (表)
tuple和list的主要區(qū)別在于,一旦建立,tuple的各個(gè)元素不可再變更,而list的各個(gè)元素可以再變更。
一個(gè)序列作為另一個(gè)序列的元素。
空序列。
?
元素的引用
序列元素的下標(biāo)從0開(kāi)始;
由于list的元素可變更,你可以對(duì)list的某個(gè)元素賦值;
如果你對(duì)tuple做這樣的操作,會(huì)得到錯(cuò)誤提示;
序列的引用通過(guò)s[<int>]實(shí)現(xiàn), int為下標(biāo);
其他引用方式
范圍引用: 基本樣式[下限:上限:步長(zhǎng)]
>>>print s1[:5]???????????? # 從開(kāi)始到下標(biāo)4 (下標(biāo)5的元素 不包括在內(nèi))
>>>print s1[2:]???????????? # 從下標(biāo)2到最后
?
>>>print s1[0:5:2]????????? # 從下標(biāo)0到下標(biāo)4 (下標(biāo)5不包括在內(nèi)),每隔2取一個(gè)元素 (下標(biāo)為0,2,4的元素)
?
>>>print s1[2:0:-1]???????? # 從下標(biāo)2到下標(biāo)1
?
從上面可以看到,在范圍引用的時(shí)候,如果寫(xiě)明上限,那么這個(gè)上限本身不包括在內(nèi)。
?
尾部元素引用
?
>>>print s1[-1]???????????? # 序列最后一個(gè)元素
?
>>>print s1[-3]???????????? # 序列倒數(shù)第三個(gè)元素
?
同樣,如果s1[0:-1], 那么最后一個(gè)元素不會(huì)被引用 (再一次,不包括上限元素本身)
字符串是元組
字符串是一種特殊的元素,因此可以執(zhí)行元組的相關(guān)操作。
>>>str = 'abcdef'
>>>print str[2:4]
?
基本運(yùn)算,**表示乘方;
?
比較運(yùn)算;可以使用 in 操作符;
?
邏輯運(yùn)算;print的輸出可以用逗號(hào)分隔多個(gè)輸出項(xiàng)目;
?
if語(yǔ)句;
i = 1
x = 1
if i > 0:
??? x = x+1
print (x)
?
復(fù)雜一點(diǎn)的if語(yǔ)句;
i = 1
if i > 0:
??? print ('positive i')
??? i = i + 1
elif i == 0:
??? print ('i is 0')
??? i = i * 10
else:
??? print ('negative i')
??? i = i - 1
print ('new i:',i)
?
if 中包含if;
i? = 5
if i > 1:
??? print ('i bigger than 1')
??? print ('good')
??? if i > 2:
??????? print ('i bigger than 2')
??????? print ('even better')
?
文件讀寫(xiě);
新建一個(gè)文本文件test.txt放在d盤(pán),寫(xiě)入數(shù)行文本;語(yǔ)句中帶路徑,出錯(cuò);
把test.txt拷貝到python.exe同目錄下;用open語(yǔ)句打開(kāi),"r"指定讀模式;
readline()讀一行;
readlines()讀入全部行;
read()讀入字節(jié)數(shù);
'w',指定寫(xiě)模式;
?
base64編碼;先導(dǎo)入庫(kù),再調(diào)用函數(shù);出錯(cuò);
?
還是出錯(cuò);
?
根據(jù)網(wǎng)上說(shuō)法需要前面加b轉(zhuǎn)換字符串為字節(jié),并且根據(jù)出錯(cuò)提示看一下 base64.py 文件的58行:
57??? if not isinstance(s, bytes_types):
58??????? raise TypeError("expected bytes, not %s" % s.__class__.__name__)
59??? # Strip off the trailing newline
可看到實(shí)例需要傳入的是字節(jié)類(lèi)型;
網(wǎng)上有的資料并沒(méi)有寫(xiě)需要傳入字節(jié)類(lèi)型;這個(gè)可能是Python版本問(wèn)題;目前是3.3.5,網(wǎng)上的資料多是2.X版本;
?
加 b 轉(zhuǎn)換,提示說(shuō)只能包含ASCII字符;
?
輸入一個(gè)純ASCII字符進(jìn)行base64編碼,成功了;
再解碼,成功;把編碼后的內(nèi)容再解碼,得到原字符串;
a是字符串,轉(zhuǎn)為bytes類(lèi)型用bytes(a);
總結(jié)
以上是生活随笔為你收集整理的Python入门图文解说的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle作业队列入门图文解说
- 下一篇: 图文解说OpenCV开发一 - 环境配置