大資料處理之道(十分鐘學會Python)

來源:互聯網
上載者:User

標籤: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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.