Python語言介紹 Python創始人:Guido(龜叔),Python的名字來自電視劇Monty Python's Flying Circus(創造一種C和shell之間,功能全,易學易用,可拓展),1991年第一個Python編輯器誕生。 Python哲學思想:簡單,優雅,明確 Py...
Python語言介紹 Python創始人:Guido(龜叔),Python的名字來自電視劇Monty Python's Flying Circus(創造一種C和shell之間,功能全,易學易用,可拓展),1991年第一個Python編輯器誕生。 Python哲學思想:簡單,優雅,明確 Python的應用:
- Web Programing:Django,Pyramid,Bottle,Tornado,Flask,web2py
- GUI Development:wxPython,tklnter,PyGtk,PyGObject,PyQt
- Scientific and Numeric:SciPy,Pandas,IPython
- Software Development:Buildbot,Trac,Roundup
- System Administration:Ansible,Salt,OpenStack
- Cpython:Python的官方版本,使用C語言實現,使用最廣,Cpython會將源文件(py文件)轉換成位元組碼文件(pyc文件),然後運行在Python虛擬機上。
- Jython:Python的java實現,jython會將Python代碼動態編譯成java位元組碼,然後再JVM上運行
- IronPython:Python的C#實現,IronPython將Python編譯成C#位元組碼,然後在CLR上運行
- PyPy:Python實現的Python,將Python的位元組碼編譯成機器碼(執行快)
- ...
1. 下載python2.7.11
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
2. 解壓文件
tar zxvf Python-2.7.11.tgz
3. 創建安裝目錄
mkdir /usr/local/python27
4. 安裝python
./configure --prefix=/usr/local/python27
make
make install
5. 修改老版本的ln指向
mv /usr/bin/python /usr/bin/python2.6.bak
ln -s /usr/local/python27/bin/python /usr/bin/python
這裡修改之後會導致yum用不了(yum的執行依賴於Python),需要在/usr/bin/yum裡面把頭部#!/usr/bin/python改為#!/usr/bin/python2.6
windows 1.下載Python3.5.1 2.雙擊安裝 Python內部執行流程:![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160119215124422-51255810.png)
#!/usr/bin/env python # -*- coding:utf-8 -*-
常用編碼種類:
ascii:美國標準信息交換碼(8位)
unicode:萬國碼(至少16位),可以表示所有語言
utf-8:可以自動識別需要ascii或unicode編碼(節省空間) 註釋 單行註釋用#號表示,如下:#這一行被註釋
多行註釋用三個單引號(''' ''')或雙引號(""" """)表示,如下:
''' 多行註釋 多行註釋 ''' """ 多行註釋 多行註釋 """
變 量 變數名要求:
- 只能用字母,下劃線和數字組成
- 第一個字元不能為數字
- 變數名要通俗易懂
- 聲明變數名的時候不能使用特殊關鍵字
name=input('請輸入內容:') #Python3中用法 name=raw_input('請輸入內容:') #Python2.x中用法
數據類型:
1.單值 數字: 整形(int):最大取值為2147483647(2**31-1) 長整型(long):最大取值為9223372036854775807(2**63-1) 浮點型(float):3.14 複數:z=a+bj 布爾值: True 1 False 0 2.字元串(str) 1.字元串特點: 字元串修改必須在記憶體中重新開闢一塊空間 聲明一個字元串:name='akon'
2.字元串格式化: %s:字元串 %d:數字
name = 'akon' age = 99 sentence='I am %s,age %d' %(name,age) #會把%s和%d轉換成對應變數的值
3.字元串常用方法: 索引:可以通過索引取出字元串里的單個字元,用法如下。
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120074928109-688082870.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120075710718-1262642696.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120075956750-447186712.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120080623656-366634806.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120081109640-1567626079.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120082245000-426276685.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120083222125-100043361.png)
name_list = ['akon','ak','cloris',12]列表也支持下標索引,所以可以被切片:
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120084234047-827013075.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120084416250-572691009.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120084835265-1094504889.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120085031343-1821133729.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120085327828-999867519.png)
name=(‘akon’,’lhk’,’ak’) #與列表的區別就是不能被修改
5.字典(dict) 用一對大括弧括起來,字典需要鍵(key)和值(value)組成,每一對鍵和值組成鍵值對。 字典表現形式:
akon={'name':'akon','age':'26','gender':'man'}
字典是無序的,如果用for迴圈輸出所有元素,僵屍無序輸出:
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120090452859-2072542456.png)
![](http://images2015.cnblogs.com/blog/515322/201601/515322-20160120090842765-1254587148.png)
文件的基本操作
找到文件:文件路徑 E:/log
打開文件:
open(文件路徑,“w+”)
file_obj=open(‘文件路徑’,’模式’)
打開文件模式有:
r.以只讀方式打開文件
w.打開一個文件只用於寫入。如果文件已經存在則覆蓋。如果文件不存在則創建。
a. 打開一個文件用於追加。如果該文件存在,文件指針將會放在文件的結尾也就是在已有內容之後。如果文件不存在,創建新文件進行寫入。
w+.打開一個文件用於讀寫。如果文件存在則覆蓋。不存在則創建。
文件操作,讀寫
file_obj=open('文件路徑','模式')
file_obj.read() #將所有內容讀入記憶體 file_obj.readlines() #將所有內容讀入記憶體,並分行 for line in file_obj. readlines(): print line for line in file_obj: #每次迴圈,只讀一行。避免全部讀入記憶體 file_obj.write() #寫入 file_obj.writeline() #每次寫入一行
文件關閉
file_obj.close()