posts - 167,  comments - 30,  trackbacks - 0

          【簡介】

          Python(蟒蛇)是一種動態(tài)解釋型的編程語言。Python可以在Windows、UNIX、MAC等多種操作系統(tǒng)上使用,也可以在Java、.NET開發(fā)平臺上使用。

          python logo

          python logo

           

          【特點】

          1 Python使用C語言開發(fā),但是Python不再有C語言中的指針等復雜的數(shù)據(jù)類型。

          2 Python具有很強的面向對象特性,而且簡化了面向對象的實現(xiàn)。它消除了保護類型、抽象類、接口等面向對象的元素。

          3 Python代碼塊使用空格或制表符縮進的方式分隔代碼。

          4 Python僅有31個保留字,而且沒有分號、begin、end等標記。

          5 Python是強類型語言,變量創(chuàng)建后會對應一種數(shù)據(jù)類型,出現(xiàn)在統(tǒng)一表達式中的不同類型的變量需要做類型轉換。

          python_book

          python book

          【搭建開發(fā)環(huán)境】

          1 可以到www.python.org下載安裝包,然后通過configure、make、make install進行安裝。

          2 也可以到www.activestate.com去下載ActivePython組件包。(ActivePython是對Python核心和常用模塊的二進制包裝,它是ActiveState公司發(fā)布的Python開發(fā)環(huán)境。ActivePython使得Python的安裝更加容易,并且可以應用在各種操作系統(tǒng)上。ActivePython包含了一些常用的Python擴展,以及Windows環(huán)境的編程接口)。對ActivePython來說,如果你是windows用戶,下載msi包安裝即可;如果你是Unix用戶,下載tar.gz包直接解壓即可。

          3 Python的IDE,包括PythonWin、Eclipse+PyDev插件、Komodo、EditPlus

          【版本】

          python2與python3是目前主要的兩個版本。

          如下兩種情況下,建議使用python2:

          1 你無法完全控制你即將部署的環(huán)境時;

          2 你需要使用一些特定的第三方包或擴展時;

          python3是官方推薦的且是未來全力支持的版本,目前很多功能提升僅在python3版本上進行。

          【hello world】

          1 創(chuàng)建hello.py

          2 編寫程序:

          1. if __name__ == '__main__':  
          2. print "hello word" 

          3 運行程序:

          1. python ./hello.py 

          【注釋】

          1 無論是行注釋還是段注釋,均以#加一個空格來注釋。

          2 如果需要在代碼中使用中文注釋,必須在python文件的最前面加上如下注釋說明:

          1. # -* - coding: UTF-8 -* - 

          3 如下注釋用于指定解釋器

          1. #! /usr/bin/python 

          【文件類型】

          1 Python的文件類型分為3種,即源代碼、字節(jié)代碼和優(yōu)化代碼。這些都可以直接運行,不需要進行編譯或連接。

          2 源代碼以.py為擴展名,由python來負責解釋;

          3 源文件經(jīng)過編譯后生成擴展名為.pyc的文件,即編譯過的字節(jié)文件。這種文件不能使用文本編輯器修改。pyc文件是和平臺無關的,可以在大部分操作系統(tǒng)上運行。如下語句可以用來產(chǎn)生pyc文件:

          1. import py_compile  
          2. py_compile.compile(‘hello.py’) 

          4 經(jīng)過優(yōu)化的源文件會以.pyo為后綴,即優(yōu)化代碼。它也不能直接用文本編輯器修改,如下命令可用來生成pyo文件:

          1. python -O -m py_complie hello.py 

          【變量】

          1 python中的變量不需要聲明,變量的賦值操作即使變量聲明和定義的過程。

          2 python中一次新的賦值,將創(chuàng)建一個新的變量。即使變量的名稱相同,變量的標識并不相同。用id()函數(shù)可以獲取變量標識:

          1. x = 1 
          2. print id(x)  
          3. x = 2 
          4. print id(x) 

          3 如果變量沒有賦值,則python認為該變量不存在

          4 在函數(shù)之外定義的變量都可以稱為全局變量。全局變量可以被文件內部的任何函數(shù)和外部文件訪問。

          5 全局變量建議在文件的開頭定義。

          6 也可以把全局變量放到一個專門的文件中,然后通過import來引用:

          gl.py文件中內容如下:

          1. _a = 1 
          2. _b = 2 

          use_global.py中引用全局變量:

          1. import gl  
          2. def fun():  
          3. print gl._a  
          4. print gl._b  
          5. fun() 

          【常量】

          python中沒有提供定義常量的保留字。可以自己定義一個常量類來實現(xiàn)常量的功能。

          1. class _const:  
          2. class ConstError(TypeError): pass 
          3. def __setattr__(self,name,vlaue):  
          4. if self.__dict__.has_key(name):  
          5. raise self.ConstError, “Can’t rebind const(%s)”%name  
          6. self.__dict__[name]=value  
          7. import sys  
          8. sys.modules[__name__]=_const() 

          【數(shù)據(jù)類型】

          1 python的數(shù)字類型分為整型、長整型、浮點型、布爾型、復數(shù)類型。

          2 python沒有字符類型

          3 python內部沒有普通類型,任何類型都是對象。

          4 如果需要查看變量的類型,可以使用type類,該類可以返回變量的類型或創(chuàng)建一個新的類型。

          5 python有3種表示字符串類型的方式,即單引號、雙引號、三引號。單引號和雙引號的作用是相同的。python程序員更喜歡用單引號,C/Java程序員則習慣使用雙引號表示字符串。三引號中可以輸入單引號、雙引號或換行等字符。

          【運算符和表達式】

          1 python不支持自增運算符和自減運算符。例如i++/i–是錯誤的,但i+=1是可以的。

          2 1/2在python2.5之前會等于0.5,在python2.5之后會等于0。

          3 不等于為!=或<>

          4 等于用==表示

          5 邏輯表達式中and表示邏輯與,or表示邏輯或,not表示邏輯非

          【控制語句】

          1 條件語句:

          1. if (表達式) :  
          2. 語句1  
          3. else :  
          4. 語句2 

          2 條件語句:
           

          1. if (表達式) :  
          2. 語句1  
          3. elif (表達式) :  
          4. 語句2  
          5. …  
          6. elif (表達式) :  
          7. 語句n  
          8. else :  
          9. 語句m 

          3 條件嵌套:

          1. if (表達式1) :  
          2. if (表達式2) :  
          3. 語句1  
          4. elif (表達式3) :  
          5. 語句2  
          6. …  
          7. else:  
          8. 語句3  
          9. elif (表達式n) :  
          10. …  
          11. else :  
          12. … 

          4 python本身沒有switch語句。

          5 循環(huán)語句:

          1. while(表達式) :  
          2. …  
          3. else :  
          4. … 

          6 循環(huán)語句:

          1. for 變量 in 集合 :  
          2. …  
          3. else :  
          4. … 

          7 python不支持類似c的for(i=0;i<5;i++)這樣的循環(huán)語句,但可以借助range模擬:

          1. for x in range(0,5,2):  
          2. print x 

          【數(shù)組相關】

          1 元組(tuple):python中一種內置的數(shù)據(jù)結構。元組由不同的元素組成,每個元素可以存儲不同類型的數(shù)據(jù),如字符串、數(shù)字甚至元素。元組是寫保護的,即元組創(chuàng)建之后不能再修改。元組往往代表一行數(shù)據(jù),而元組中的元素代表不同的數(shù)據(jù)項??梢园言M看做不可修改的數(shù)組。創(chuàng)建元組示例如下:

          1. tuple_name=(“apple”,”banana”,”grape”,”orange”) 

          2 列表(list):列表和元組相似,也由一組元素組成,列表可以實現(xiàn)添加、刪除和查找操作,元素的值可以被修改。列表是傳統(tǒng)意義上的數(shù)組。列表創(chuàng)建示例如下:

          1. list=[“apple”,”banana”,”grage”,”orange”] 

          可以使用append方法來在尾部追加元素,使用remove來刪除元素。

          3 字典(dictionary):由鍵-值對組成的集合,字典中的值通過鍵來引用。鍵和值之間用冒號隔開,鍵-值對之間用逗號隔開,并且被包含在一對花括號中。創(chuàng)建示例如下:

          1. dict={“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”} 

          4 序列:序列是具有索引和切片能力的集合。元組、列表和字符串都屬于序列。

          【函數(shù)相關】

          1 python程序由包(package)、模塊(module)和函數(shù)組成。包是由一系列模塊組成的集合。模塊是處理某一類問題的函數(shù)和類的集合。

          2 包就是一個完成特定任務的工具箱。

          3 包必須含有一個__init__.py文件,它用于標識當前文件夾是一個包。

          4 python的程序是由一個個模塊組成的。模塊把一組相關的函數(shù)或代碼組織到一個文件中,一個文件即是一個模塊。模塊由代碼、函數(shù)和類組成。導入模塊使用import語句。

          5 包的作用是實現(xiàn)程序的重用。

          6 函數(shù)是一段可以重復多次調用的代碼,函數(shù)定義示例如下:

          1. def arithmetic(x,y,operator):  
          2. result={  
          3. “+”:x+y,  
          4. “-“:x-y,  
          5. “*”:x*y,  
          6. “/”:x/y  

          7 函數(shù)返回值可以用return來控制。

          【字符串相關】

          1 格式化輸出:

          1. format=”%s%d” % (str1,num)  
          2. print format 

          2 用+進行字符串的合并:

          1. str1=”hello”  
          2. str2=”world”  
          3. result=str1+str2 

          3 字符串截取可以通過索引/切片,也可以通過split函數(shù)。

          4 通過切片截取字符串:

          1. word=”world”  
          2. print word[0:3] 

          5 python使用==和!=來進行字符串比較。如果比較的兩個變量的類型不相同,那么結果必然為不同。

          【文件處理】

          1 簡單處理文件:

          1. context=”hello,world”  
          2. f=file(“hello.txt”,’w’)  
          3. f.write(context);  
          4. f.close() 

          2 讀取文件可以使用readline()函數(shù)、readlines()函數(shù)和read函數(shù)。

          3 寫入文件可以使用write()、writelines()函數(shù)

          【對象和類】

          1 python用class保留字來定義一個類,類名的首字符要大寫。當程序員需要創(chuàng)建的類型不能用簡單類型來表示時,就需要定義類,然后利用定義的類創(chuàng)建對象。定義類示例:

          1. class Fruit:  
          2. def grow(self):  
          3. print “Fruit grow” 

          2 當一個對象被創(chuàng)建后,包含了三方面的特性,即對象的句柄、屬性和方法。創(chuàng)建對象的方法:

          1. fruit = Fruit()  
          2. fruit.grow() 

          3 python沒有保護類型的修飾符

          4 類的方法也分為公有方法和私有方法。私有函數(shù)不能被該類之外的函數(shù)調用,私有的方法也不能被外部的類或函數(shù)調用。

          5 python使用函數(shù)”staticmethod()“或”@ staticmethod“指令的方法把普通的函數(shù)轉換為靜態(tài)方法。靜態(tài)方法相當于全局函數(shù)。

          6 python的構造函數(shù)名為__init__,析構函數(shù)名為__del__

          7 繼承的使用方法:

          1. class Apple(Fruit):  
          2. def … 

          【連接mysql】

          1 用MySQLdb模塊操作MySQL數(shù)據(jù)庫非常方便。示例代碼如下:

          1. import os, sys  
          2. import MySQLdb  
          3. try:  
          4. conn MySQLdb.connect(host=’localhost’,user=’root’,passwd=’’,db=’address’  
          5. except Exception,e:  
          6. print e  
          7. sys.exit()  
          8. cursor=conn.cursor()  
          9. sql=’insert into address(name, address) values(%s, %s)’  
          10. value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))  
          11. try 
          12. cursor.executemany(sql,values)  
          13. except Exception, e:  
          14. print e  
          15. sql=”select * from address”  
          16. cursor.execute(sql)  
          17. data=cursor.fetchall()  
          18. if data  
          19. for x in data:  
          20. print x[0],x[1]  
          21. cursor.close()  
          22. conn.close() 

          謝謝!

          原文鏈接: http://roclinux.cn/?p=2338


           

          posted on 2012-07-10 09:35 David1228 閱讀(316) 評論(0)  編輯  收藏 所屬分類: 動態(tài)語言

          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          Java

          Linux知識相關

          Spring相關

          云計算/Linux/虛擬化技術/

          友情博客

          多線程并發(fā)編程

          開源技術

          持久層技術相關

          搜索

          •  

          積分與排名

          • 積分 - 359875
          • 排名 - 154

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湘乡市| 上虞市| 宜宾市| 永城市| 彭山县| 晋中市| 岳阳市| 讷河市| 辉县市| 盐边县| 施秉县| 甘泉县| 蒲城县| 精河县| 阳城县| 观塘区| 南安市| 武乡县| 忻州市| 开远市| 留坝县| 郯城县| 青阳县| 崇信县| 东安县| 通辽市| 清远市| 嘉定区| 墨竹工卡县| 布拖县| 杭州市| 庆阳市| 双鸭山市| 凉山| 滕州市| 中江县| 甘泉县| 阿瓦提县| 卓资县| 满洲里市| 永春县|