Python語言是一種典型的腳本語言,簡潔,語法約束少,接近人類語言。有豐富的數(shù)據(jù)結構,例如列表、字典、集合等。具有可移植性,支持面向過程和面向對象編程,并且開源。以下是小編為你整理的python開發(fā)怎么學 ?
下載安裝:從python官網(wǎng)下載開發(fā)和運行環(huán)境程序。本例下載python-3.3.3.amd64的安裝包,并安裝。 ?
開發(fā)工具:window系統(tǒng)中,python有多種開發(fā)工具,比如,一、直接在cmd命令窗口執(zhí)行,但此種僅能單條語句執(zhí)行,不能運行完整的程序。二、python自帶的集成開發(fā)環(huán)境,可通過開始——所有程序——python3.3——IDLE(Python GUI)啟動。三、其他集成開發(fā)環(huán)境,如PythonWin等,有編輯和調(diào)試能力,還實現(xiàn)了MFC類庫存的包裝。
本例中,使用python自帶的開發(fā)環(huán)境。File—New File,新建py文檔,編寫程序,保存。Run——Run module,可得到運行結果。 ?
封裝性:可以把屬性、方法結合在一起,不可以直接訪問對象的屬性,僅能通過接口與對象發(fā)生聯(lián)系。以下把方法和屬性封裝成了一個類。 ?
構造器:python有3種類型的構造器,且一個類中僅可以定義一個構造器,若多個,則以*為準。1.若不聲明,則默認為一個沒有任何操作的特殊的__init__方法,__init__(self),此時可通過obj = my_class()聲明實例。 2.自聲明__init__構造器,會覆蓋默認的,且可以更新類的數(shù)據(jù)屬性。3.構造器方法__new__(),用于不可變內(nèi)置類型派生,不能通過實例訪問屬性,僅能通過類訪問。 ?
繼承性:python支持多繼承,且子類繼承了父類的方法和屬性。若子類中有和父類相同名稱的方法,則子類會覆蓋(Override)父類方法。父類方法依舊可以訪問。 ?
數(shù)據(jù)結構:有豐富的數(shù)據(jù)結構,例如列表、字典、集合等。本例簡單介紹字典的使用。字典是鍵值對的無序集合,是可變對象。鍵在字典中是*的且必須是不可變對象。值可以是可變對象或不可變對象。以下例子對python字典的定義、訪問、更新等的操作。 ?
學會python的作用
Python高級工程師 : 北上廣深的話,薪金在1萬以上,需要精通Linux/Unixg平臺,有英語閱讀功底。 ?
Web網(wǎng)站開發(fā)方向: 熟悉Web開發(fā)的常用 Python框架,熟悉掌握Mysql類數(shù)據(jù)庫的操作即可。 ?
SEO工程師: 為自己或公司開發(fā)和改進SEO相關軟件,實現(xiàn)自動化搜索引擎優(yōu)化和日常重復工作。 ?
Python自動化測試:熟悉自動化流程、方法和常用的模塊的使用,有英文讀寫的能力。 ?
Linux運維工程師: Linux服務器管理,數(shù)據(jù)分析、自動化處理任務、分析網(wǎng)站日志、定時計劃管理,解放雙手。 ?
Python游戲開發(fā)工程師: 網(wǎng)絡游戲后端服務器邏輯的開發(fā)和處理,有大型數(shù)據(jù)庫使用經(jīng)驗,喜歡從事游戲相關工作。 Python自學愛好者: 可以自己開發(fā)一些小軟件和應用,帶圖形化界面的軟件,方便日常工作。 ?
如何導入re模塊
導入re模塊 ?
#導入正則表達式模塊 ?
import re ?
再來一個簡單的例子演示 ?
#簡單演示 ?
s='123abc123abc123abc' ?
print s ?
print re.findall(r'123',s) ?
#'r'...''表示raw字符串 ?
#功能字符:'.','*','?','^','$','/' ?
#分界符:'[',']','(',')','{','}' ?
#轉義字符:'d','w','s','b' ?
#'|'表示或 ?
s='I have a pen and I have a apple' ?
print s ?
print re.findall(r'I have a pen|apple',s) ?
print re.findall(r'I have a (?:pen|dog)',s) ?
使用無捕獲組與一般或'|'的區(qū)別 ?
無捕獲組使用'(?:...)'格式 ?
#無捕獲組:'(?:)' ?
s='ababababba babab babababab' ?
print re.findall(r'/b(?:ab)+/b',s)
?
#'.'匹配除換行符之外的所有字符,若選用re.S則包括所有字符 ?
s='123n456n789' ?
print s ?
print re.findall(r'.+',s) ?
print re.findall(r'.+',s,re.S) ?
集合的與操作
我們可以看到集合輸出的效果會有一個set表示。
aaa = [1,2,3]bbb = [3,4,5,6]a_a = set(aaa)b_b = set(bbb)
集合中并集的表示:
k = a_a | b_b
print k ?
使用一個| 線表示 ,求出2個數(shù)的并集。
vip = a_a.union(b_b) #并集print vip
集合中交集的表示 使用 ^ 表示求交集:例如:
k = a_a ^ b_b #交集合
print (a_a.intersection(b_b)) # 求交!!!!
集合中求出不同項目的結果 ?
print (a_a.difference(b_b))
需要單獨說明的是求的是自己的和他人的不同,不是兩者一起的不同,具體看例子輸出效果:
集合中我們可以直接更新一個集合的結果在內(nèi)存中:
a_a.difference_update(b_b) #求出結果并更新print a_a