標籤:adl asc 產生 對象 details 檔案處理 ase 賦值 詳細
(0)檔案夾
高速學Python 和 易犯錯誤(文本處理)
Python文本處理和Java/C比對
十分鐘學會Python的基本類型
高速學會Python(實戰)
大資料處理之道(十分鐘學會Python)
一:python 簡單介紹
(1)Python的由來
Python(英語發音:/?pa?θ?n/), 是一種物件導向、解釋型電腦程式設計語言,由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991
年。Python文法簡潔而清晰,具有豐富和強大的類庫。它常被暱稱為膠水語言,它可以把用其它語言製作的各種模組(尤其是C/C++)非常輕鬆地連接
在一起。常見的一種應用情形是,使用Python高速產生程式的原型(有時甚至是程式的終於介面)。然後對當中有特別要求的部分,用更合適的語言改寫,
比 如3D遊戲中的圖形渲染模組,效能要求特別高。就能夠用C++重寫。
(2)Python 文法簡單介紹 ---- 類型轉化
int(x [,base ]) 將x轉換為一個整數
long(x [,base ]) 將x轉換為一個長整數
float(x ) 將x轉換到一個浮點數
complex(real [,imag ]) 建立一個複數
str(x ) 將對象 x 轉換為字串
repr(x ) 將對象 x 轉換為運算式字串
eval(str ) 用來計算在字串中的有效Python運算式,並返回一個對象
tuple(s ) 將序列 s 轉換為一個元組
list(s ) 將序列 s 轉換為一個列表
chr(x ) 將一個整數轉換為一個字元
unichr(x ) 將一個整數轉換為Unicode字元
ord(x ) 將一個字元轉換為它的整數值
hex(x ) 將一個整數轉換為一個十六進位字串
oct(x ) 將一個整數轉換為一個八進位字串
(3)Python 文法簡單介紹 ---- 類型轉化
s + r 序列串連
s * n , n * s s的 n 次拷貝,n為整數
s % d 字串格式化(僅字串)
s[i] 索引
s[i :j ] 切片
x in s , x not in s 從屬關係
for x in s : 迭代
len(s) 長度
min(s) 最小元素
max(s) 最大元素
s[i ] = x 為s[i]又一次賦值
s[i :j ] = r 將列表片段又一次賦值
del s[i ] 刪除列表中一個元素
del s[i :j ] 刪除列表中一個片段
(4)(3)Python 文法簡單介紹 ---- 類型轉化
x >> y 右移
x & y 按位與
x | y 按位或
x ^ y 按位異或 (exclusive or)
~x 按位翻轉
x + y 加
x - y 減
x * y 乘
x / y 常規除
x // y 地板除
x ** y 乘方 (xy )
x % y 模數 (x mod y )
-x 改變運算元的符號位
+x 什麼也不做
~x ~x=-(x+1)
abs(x ) 絕對值
divmod(x ,y ) 返回 (int(x / y ), x % y )
pow(x ,y [,modulo ]) 返回 (x ** y ) x % modulo
round(x ,[n]) 四捨五入。n為小數點位元
x < y 小於
x > y 大於
x == y 等於
x != y 不等於(與<>同樣)
x >= y 大於等於
x <= y 小於等於
二:python應用
(1) 檔案處理
filename = raw_input(‘Enter your file name‘) #輸入要遍曆讀取的檔案路徑及檔案名稱file = open(filename,‘r‘)done = 0while not done: aLine = file.readline() if(aLine != ‘‘): print aLine, else: done = 1file.close() #關閉檔案
解釋:
.readline() 和 .readlines() 之間的差異是後者一次讀取整個檔案,.readlines() 自己主動將檔案內容分析成一個行的列表,該列表能夠由 Python 的 for ... in ... 結構
進行處理。還有一方面。.readline() 每次僅僅讀取一行,通常比 .readlines() 慢得多。
僅當沒有足夠記憶體能夠一次讀取整個檔案時,才應該使用 .readline()。
假設Python檔案讀到了檔案尾,則會返回一個Null 字元串‘’。而假設是讀到一個空行的話。則會返回一個‘\n’
Python的readline()方法,每行最後都會加上一個換行字元‘\n’。有時候有的檔案最後一行沒有以‘\n‘結尾時,不返回‘\n’。
readlines()方法返回的是一個列表,而readline()返回一個字串。
(2)錯誤處理
Python報錯TypeError: ‘str‘ object is not callable
當一般內建函式被用作變數名後可能出現此錯誤。比方:
range=1
for i in range(0,1):
………
就會報這種錯誤
這種錯會報在for行。可是時間引起的原因卻是在range=1這行,假設兩行相距較遠,怎非常難被發現。
所以要特別注意不要用內部已有的變數和函數名作自己定義變數名。或者str被預先定義了
str=10
for i in range(1,10):
print str(i)
(3) 綜合應用,檔案讀取,控制台讀取,時間轉化,編碼轉換
import timefrom time import strftimeimport sysreload(sys)sys.setdefaultencoding(‘utf8‘)# -*- coding: cp936 -*-print ("Hello, Python!")#!/usr/bin/pythona = 21b = 10c = 0c = a + bprint "Line 1 - Value of c is ", cc = a - bprint "Line 2 - Value of c is ", c c = a * bprint "Line 3 - Value of c is ", c c = a / bprint "Line 4 - Value of c is ", c c = a % bprint "Line 5 - Value of c is ", ca = 2b = 3c = a**b print "Line 6 - Value of c is ", ca = 10b = 5c = a//b print "Line 7 - Value of c is ", c# for repeat itslist = [2, 4, 6, 8]sum = 0for num in list: sum = sum + numprint("The sum is:", sum)# print and Input, assignmentprint("Hello, I‘m Python!")name = input(‘What is your name?\n‘)print(‘Hi, %s.‘ % name)# test forfruits = [‘Banana‘, ‘Apple‘, ‘Lime‘]loud_fruits = [fruit.upper() for fruit in fruits]print(loud_fruits)# open, write and read filefo = open("./tmp/foo.txt","w+")fo.write("Python is a gerat language.\nYeah its great!!\nI am zhang yapeng, who are you?\n")t_str = u‘我是張燕鵬,您是什麼貨色?‘print(t_str)fo.write(t_str)fo.close()#read and writefr = open("./tmp/foo1.txt","r+")fw = open("foo_rw.txt","wb")done = 0;localtime = time.asctime(time.localtime(time.time()))print "Local current time : ", localtimefw.write(localtime + "\n")while not done: t_str = fr.readline() if(t_str != ‘‘): print "Read String is : ", t_str fw.write(t_str) else: done = 1fr.close()fw.close()# test time (import)localtime = time.localtime(time.time())print "Local current time : ", localtime# format the time from time import strftimet_time = strftime( ‘%Y-%m-%d %H:%M:%S‘, localtime)print "formatting local current time : ", t_time# design the time by yourselfyear = str(localtime.tm_year)mon = str(localtime.tm_mon)day = str(localtime.tm_mday)hour = str(localtime.tm_hour)mins = str(localtime.tm_min)sec = str(localtime.tm_sec)newtime = u"時間是: " + year + "年" + mon + "月" + day + "日 " + hour + ":" + mins + ":" + secprint "Local current time : ", newtime
(4)執行圖:
(5) 總結:
(1)Python是一門入手很快的語言,處理大資料的好語言,一些規範很類似於c++語言。比如文法和一些函數命名。檔案的開啟和讀寫。以及
讀寫方式,很類似於c++
(2)正如,開頭所寫的 “python是膠水語言,使用Python高速產生程式的原型(有時甚至是程式的終於介面),然後對當中有特別要求的部分。用更合適
的語言改寫。比如3D遊戲中的圖形渲染模組。效能要求特別高,就能夠用C++重寫。”
(3)分享一下很基礎的系統的學習網站
(4)W3CSchool.cc (3)中提到的學習網站是很基礎的人們課程。要是想深入,詳細的內容能夠百度
大資料處理之道(十分鐘學會Python)