首頁 > 後端開發 > Python教學 > Python知識總結

Python知識總結

黄舟
發布: 2016-12-15 15:17:01
原創
2027 人瀏覽過

Python知識摘要

一、python簡介

1、Python簡介

Python是一種解釋型、互動式、物件導向、初學者的語言。

2、python特點

①易於學習

②易於閱讀

③易於維護

④一個廣泛的標準庫

⑤模式。

⑨GUI程式設計

⑩可擴充性

3、python支援tab補全功能:

>>> import readline,rlcompleter

>>> readline.parse_and_bind('tab: complete') 可以寫上兩句入一個py文件,直接import即可

ipython要想保存命令歷史,必須安裝sqlite-devel

4、python安裝

#tar -jxvf Python-3.4.3.tar.bz2

#cd Python3. 4.3

#./configure [--PRefix=/usr/local/python3]

#make && make install

注意:①python為系統依賴包,只能更新,不能刪除,而且yyum的版本必須和python配套,升級python之後,必須給yum指定使用低版本的。對應操作如下:

#mv /usr/bin/python /usr/bin/python-2.6.bak 備份

#ln -s /usr/local/bin/python3.4 /usr/bin/python 建立軟連接

#python –V 執行版本掃描

②修改yum配置文件,使其正常工作

#vim /usr/bin/yum

將其中的/usr/bin/python修改為/usr/bin/pyon2 .6

③如果上述設定完畢還有報錯,記得修改環境變數

#vim /etc/profile

5、python運行腳本

5.1、執行方式

①在python3.0以上版本中,print變成了函數。所以必須使用print()格式執行,而以前版本不用括號

>>> print('hello man')

②在互動模式下使用python時注意:只能夠輸入python指令;在腳本中列印語句是必須的,而在互動腳本中可以自動列印表達式效果,不需要輸入完成的列印語句

>>> print (2**10)

③在互動模式下,需要執行符合語句,需要加入" :",代表語句沒有執行完畢。而且必須用一個空白行來代表結束符合語句

>>> for i in range(4):

... print(i)

...

0

1

2

0

1

2

3

1

2

3

1

2

3

1

2

4

④要保證縮進統一,否則出錯

4

④要保證縮進統一,否則出錯

5.3、python腳本運行

①bash bang介紹

#!/usr/bin/python

這種格式,不容易出現python校本不能執行的問題)

 

二、python程式設計

1、變數的定義

1.1、變數的命名規則

①變數只能用字母和下變數劃名)開頭

②變數名稱可以由字母、數字和底線組成

③變數名稱大小寫敏感,入lamp和LAMP不是同一個變數名稱

1.2、變數的賦值

①賦值運算子變數值

②給變數賦值字串,需要用引號將字串包含,否則報錯

>>> name = wdd

Traceback (most recent call last):

File "", line 1 , in

NameError: name 'wdd' is not defined

③增量賦值

>>> x = 1

>>> x = x+1

>>> x = 1

>>> x = x+1

④多重賦值

>>> x=y=z=2

>>> x

2

>>> y

2

> ⑤"多元賦值"

>>> x,y,z=1,2,3

>>> x

1

>

>>> y

2

2、數據類型

2.1、數值型

①整形

>>> 123+321

44

②浮點型

>>> 3.14*3

9.42

2.2、字符串型

①字串定義

>>> name = 'wdd'

>>>name

'wdd'

>>> print(name)

wdd

>>> print(name)

wdd🎜🎜>>> print(name)🎜🎜wdd🎜🎜>> print(name)>串支持的方法幫助🎜

['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__' '__gt__'、'__hash__'、'__init__'、'__le__'、'__len__'、'__lt__'、'__mod__'、'__mul__'、'__ne__'、'__new__'、'__reduce__'、'__reduce_ex__'、'__repr__ ', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', '大寫', 'center', 'count', '解碼', '編碼'、'endswith'、'expandtabs'、'查找'、'格式'、'索引'、'isalnum'、'isalpha'、'isdigit'、'islower'、'isspace'、'istitle'、'isupper ', '加入', 'ljust', '降低', 'lstrip', '分區', '替換', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

>>> name.replace('wdd',' shuaige') #把wdd替換為shuaige

'shuaige'

>>>>> name.replace('w','cool') 把w替換為cool

'cooldd'

>替換為cool

'cooldd'

>替換為cool

'cooldd'

>替換為cool

'cooldd'

help(name.replace) #查看具體的方法幫助

②字串中單雙引號

在字串中單雙引號一致,用於包含字串

>>>> persion = '姓名','身高'

>>>>>個人

('姓名', '身高')

>> info="I'm a good man" #在雙引號引號單引號,不用轉義符

>>>>> info


「我是個好男人」

>>>>> print(info)

我是個好人

③在字串中調用特殊字元

如果使用特殊轉義符,導致特殊字元字符失去意義,系統中特殊字元的轉義字元如下:

轉符義                                                保留反斜線

    ,            b                                   退格

     換行


   t                                 等級制表符

   v                                  中使用白

>>>> name #直接輸出變數name,轉義無法辨識

'mytnametistjack'

> >>>> print(name) #呼叫print函數,可以正常使用

我的名字    是    jack

④raw轉義符抑制

在某些特定情況下可能不需要使用轉義符,如在windows使用系統檔案

>>>>>路徑= 'c:newtext.txt'

>>> print(path)

c:

ew    ext.txt path#導致指令失敗

>>>>> path = r'c:newtext.txt'

>>>> print(path) #使用raw字串關閉轉義機制

c:newtext.txt

⑥三重引號寫的多行字串

>>>>> info = """我的名字是

...傑克,我是一個誠實的

...男人"""

>>>> > info #直接呼叫指標不能正確顯示

「我的名字是傑克,我是一個誠實的人」

>>>>> print(info) #需要使用print函數顯示

我的名字是

jack,我是一個誠實的

注意:不要跟註解搞混,註解沒有賦值

⑦、字串的序列運算

變數中的值在索引中0保存第一個值,1保存第二個值

>>> name = 'jack'

>>> len(name)

4

>>> name[0]

'j'

>>> name[1]

'a'

>>>name[2]

'a'

>>>name[2]

'a'

>>>name[2]

'c'name

'name> name [3]

'k'

索引也可以反向索引,就是-1代表最後一個值,-2代表倒數第二個值

>>> name[-1]

'k'

>>> name[-2]

'c'

字串也支援分片操作,就是取出變數中的一部分內容

>>> name[1:3]

'ac' #取出變數中第一位到第三位結束(不包含第四位)的內容

>>> name[2:4]

'ck'

>>> name[1:] #取出變數從第一位到變數結束

'ack'

>>> name[:2] #取出變數從開頭·到第一位結束(不包含第二位)

'ja'

3、列表

列表也是序列的一種,支援對序列的所有操作。列表於數組有些類似,但比數組強大得多。清單沒有資料類型的限制,可以在一個清單中定義不同類型的物件。另外列表沒有固定的大小,可以依照需要增加和減少列表的大小。且列表中的值是可以改變的。

1、列表操作

表的定義

>>> info = ['jack','22','M']

>>> info

['jack', '22', 'M '] #此列表中的值既有字串也有整數

>>> len(info) #查看列表長度

列表的序列操作

>>> info[0] #取出列表值第一位

'jack'

>>> info[:-1] #從列表開頭取值到倒數第二位(不包含倒數第一位)

['jack', '22']

>> > info[0:] #從列表開頭取到最後一位

['jack', '22', 'M']

表的特殊方法

列表中的值是可以改變的,並且列表的大小也是可以改變的

>>> info = ['jack','22','M']

>>> info[0]='mark' #改變清單中0的值

>>> info

['mark', '22', 'M']

>>> help(info) #查看清單可以使用的方法

>>> info.append('American') #追加

> >> info

['mark', '22', 'M', 'American']

>>> info.pop(1) #刪除第一位的值

'22'

>>> info

['mark', 'M', 'American']

>>> info.insert(1,22) #在第一位插入新值22

>>> info

['mark' , 22, 'M', 'American']

>>> digit=[1,3,2,5,4]

>>> digit

[1, 3, 2, 5, 4]

>>> digit.sort() #排序

>>> digit

[1, 2, 3, 4, 5]

>>> digit.reverse() #進行序列翻轉

>>> digit.reverse() #進行序列翻轉

>>> digit

>>

[5, 4, 3, 2, 1]

2、列表嵌套

列表有一個特性,支持任意的嵌套、能夠以任意的組合對其進行嵌套,並可以多個層次進行嵌套。這個特性可以實現資料矩陣,或是多維數組

>>> m=[[1,2,3],[4,5,6],[7,8,9]]

>>> m

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

>>> m[1][2]

6

>>> m[1][ 2]=10 #查看第二個子清單中的第三個值

>>> m[1][2] #改變第二個子清單中的第三個值

 

10

4、元群組(tuple)

元組可以看成是一個不可改變的列表,元組也可以支援序列操作。可以方便地儲存與提取一組值

>>> information=('lusi',18,'F')

>>> information

('lusi', 18, 'F')

>>> > information[0] #提取第一個值

'lusi'

>>> information[1] #提取第二個值

18🎜🎜注意:元組中的值不能改變,只能給整個值元組重新賦值(字串也不能改變值,只能重新定義)🎜🎜>>> id(information)🎜🎜3073641204L #元組中的記憶體ID號碼🎜🎜>>> information=("sdf"," ahlk",67)🎜

>>> info=(1,2,3) #重新賦值元組之後,ID號會改變,代表是新的元組出現

>>> id(info)

3074861852L

>> a=(1,) #定義只有一個元素的元組時,需要加逗號,否則會被辨識為整形

>>> type(a)

>>> b= (1)

>>> print

print print(

>>> print(type(b))

>>> t=(1,2,3) #可以#把元組中的值賦予多個變數(像變數的多元賦值)

>>> t

(1, 2, 3)

>>> a,b,c=t

>>> a

1

>>> b

2

>>> c

3

5、字典

寫成在{}中,以字典鍵:

5、字典值」的方式進行字典值。對保存,適合保存二維數據,字典的值也可以改變。

>>> info={"name":"jack","age":20,"sex":"M"} #定義字典

>>> info #查看字典

{'age': 20, 'name': 'jack', 'sex': 'M'}

>>> info['name'] #查看字典某一個鍵的值

'jack'

>>> info['country' ]='American' #在字典中加入新的"鍵:值"

>>> info

{'country': 'American', 'age': 20, 'name': 'jack', 'sex ': 'M'}

②字典中鍵的排序

字典的順序並不可靠,也就是我們建立字典時的順序和我們輸出字典時的順序不一定一致

>>> info={" name":"jack","age":20,"sex":"M"}

>>> info #字典輸出的順序不一定

{'age': 20, 'name': 'jack ', 'sex': 'M'}

>>> for key in sorted(info): #for循環,info中有幾個值,循環數次

... print(key, 'is', info[key]) #sorted函數將info變成列表,並用sort排序,然後用for循環輸出,注意縮排

...

('age', 'is', 20)

('name ', 'is', 'jack')

('sex', 'is', 'M')

6、檔案型

檔案類型是python對電腦上外部檔案的主要介面。如果要建立有一個檔案對象,需要呼叫內建的open函數,以字串的形式傳遞給它一個外部的檔案名稱和一個處理模式的字串。

>>> f = open('test','w')

#使用open函數,定義檔案名稱和處理模式,會在linux目前目錄中建立該檔案

支援的模式:

'r'預設以讀取形式開啟

'w' 首先清除檔案在開啟進行寫入

'x' 建立一個新檔案並且開啟他進行寫入

'a' 開啟寫入,追加到一個存在的檔案結尾

>>> dir(f) #查看該物件支援的方法

['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__hash__', '__hash__' '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encodinged', 'encoding ', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']

>>> f.write('my name is jackn') #透過write方法向文件中寫入資料

>>> f.write('my age is 22n')

>>> f.close() #關閉對檔案的寫入操作

>>> f.close()

>

>>> f.close()

> >> t = open('test.txt', 'r') #使用r處理模式,開啟檔案

>>> test = t.read() #賦予變數

>>> test #直接呼叫變數不能正確查看內容

🎜'my name is jacknmy age is 22n'🎜

>>> print(test) #使用print函數顯示內容

my name is jack

my age is 22

7、布林值

就是判斷表達式是否為真

7、布林值

就是判斷表達式是否為真

False

>>> 1

True

>>> 1 > 2

False

>>>> 1

False

>>>> 1

False

>類型

>>>> 1 = 'jack'

>>> age = 20

>>> type(name)

>>> type(age)

>>> type(age)

>

> > age = '18' #加入引號,變成字串

>>> type(age)

9、python的註解

①# 註解一句話

②'' '

內容 #註釋一段內容

'''

10、模組

每一個義擴展名py結尾的python源碼檔案都是一個模組,其它腳本可以透過導入這個模組,使用整個模組中的所有模組的內容。模組中國可以包含函數和其他的腳本內容。

模組的搜尋路徑

模組的搜索,先搜尋本地位置,再按照sys.path的環境變數搜尋

導入模組時,不需要寫字後綴名

>>> import myhello

🟎需要把自己儲存腳本的路徑加入python的path路徑,否則無法正確導入

# cd /usr/local/python27/lib/python2.7/site-packages/

# vim my.pth

/root #把自己的python腳本目錄放入此目錄以.Pth結尾

取幫助

>>> help('modules')

#查詢系統支援的所有模組,包含系統內建模組和使用者導入模組

>>>> help('sys') #查看模組具體幫助

>>> import math #引入數學計算模組

>>> dir(math) #查看此模組支援的函數

>>> help(math) #查看此模組具體的註解

>>> help(math.sin) #檢視此模組中函數的註解

>>> math.pi #呼叫模組中一個函數

3.141592653589793

3.141592653589793

import 模組

import 模組名as 新名 #給模組取一個別名

from 模組名稱import 變數名稱

Reload模組

導入的模組在python中是直接運作的,但是導入耗費資源,所以只能比較導入資源,所以只能比較導入耗費資源,所以只能比較導入費資源執行一次(除非退出重新進入會話)

如果想要重複導入模組並執行,需要使用reload

>>> import imp #在python中,reload不再是內建函數,所以必須導入

>>>> imp.reload(myhello) #在模組中,呼叫reload函數

>>> from imp import reload #從模組匯入reload函數

>>> reload(myhello)🎜reload函數🎜🎜>>> reload(myhello)🎜🎜hello ' myhello' from 'myhello.pyc'>🎜🎜Python知識總結🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板