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內部執行流程: Python代碼運行時會將代碼轉換成位元組碼,再從位元組碼轉換為機器碼。 關於Python解釋器聲明和內容編碼: 在腳本的開頭必須聲明用什麼解釋器來執行代碼和聲明編碼(Python3可以不用聲明內容編碼),Python解釋器在載入.py文件中的代碼時,會對內容進行編碼(預設ascii),聲明如下:#!/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.字元串常用方法: 索引:可以通過索引取出字元串里的單個字元,用法如下。 切片:可以通過切片取出多個元素,用法如下。 長度計算len(): 去空(strip):可以去掉字元串兩邊的空格/換行符,用法如下。 分割(split):通過對字元串分割可以把分割後的字元串組成一個列表,用法如下。 for迴圈: while迴圈:當條件滿足時一直執行迴圈(容易形成死迴圈) 3.列表(list) 列表的表現形式:
name_list = ['akon','ak','cloris',12]列表也支持下標索引,所以可以被切片: 計算列表長度(元素個數): 刪除列表元素(del): 增加列表元素(append): 把列表變成字元串(join): 4.元組(tuple) 元組表現形式:
name=(‘akon’,’lhk’,’ak’) #與列表的區別就是不能被修改
5.字典(dict) 用一對大括弧括起來,字典需要鍵(key)和值(value)組成,每一對鍵和值組成鍵值對。 字典表現形式:
akon={'name':'akon','age':'26','gender':'man'}
字典是無序的,如果用for迴圈輸出所有元素,僵屍無序輸出: 字典的方法:
文件的基本操作
找到文件:文件路徑 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()