PyQt5是基于Digia公司強大的圖形程式框架Qt5的python接口,由一組python模塊構(gòu)成。PyQt5本身擁有超過620個類和6000函數(shù)及方法。在可以運行于多個平臺。PyQt5擁有雙重協(xié)議,自由開發(fā)者可以選擇免費的GPL版本,僅當(dāng)你準(zhǔn)備將PyQt用于商業(yè)活動時,你必須為此交付commercial許可費用。以下是小編為你整理的python編程入門教程 ?
QtCore模塊涵蓋了包的核心的非GUI功能,此模塊被用于處理程序中涉及到的 time、文件、目錄、數(shù)據(jù)類型、文本流、鏈接、mime、線程或進(jìn)程等對象。 ?
QtGui模塊涵蓋多種基本圖形功能的類; 包括但不限于:窗口集、事件處理、2D圖形、基本的圖像和界面 和字體文本。 ?
QtWidgets模塊包含了一整套UI元素組件,用于建立符合系統(tǒng)風(fēng)格的classic界面,非常方便,可以在安裝時選擇是否使用此功能。
?
QtMultimedia模塊包含了一套類庫,該類庫被用于處理多媒體事件,通過調(diào)用API接口訪問攝像頭、語音設(shè)備、收發(fā)消息(radio functionality)等。 ?
QtBluetooth模塊包含了處理藍(lán)牙活動的類庫,它的功能包括:掃描設(shè)備、連接、交互等行為。 ?
QtNetwork模塊包含用于網(wǎng)絡(luò)編程的類庫,這組類程序通過提供便捷的TCP/IP 及 UDP 的 c/s 程式碼集合,使得基于Qt的網(wǎng)絡(luò)編程更容易。 ?
import smtplibimport smtplib ?
from email.mime.text import MIMEText ?
to_list=["xxx@xxxxx"] ?
host="smtp.xxx" ?
username="xxx" ?
password="xxx" ?
postfix="xxx" ?
def send_plain_mail(send_list,title,content): ?
me="<"+username+"@"+postfix+">" ?
msg = MIMEText(content,_subtype='plain',_charset='gb2312') ?
msg['Subject'] = title ?
msg['From'] = me ?
msg['To'] = ";".join(to_list) ?
try: ?
server = smtplib.SMTP() ?
server.connect(host) ?
server.login(username,password) ?
server.sendmail(me, to_list, msg.as_string()) ?
server.close() ?
return True ?
except Exception, e: ?
print str(e) ?
return False ?
if __name__ == '__main__':
?
email_title = "title::" ?
email_content = "content::" ?
if send_plain_mail(to_list,email_title,email_content): ?
print "send success !" ?
else: ?
print "send failed !" ?
云基礎(chǔ)設(shè)施
這年頭,不支持云平臺,不支持海量數(shù)據(jù),不支持動態(tài)伸縮,根本不敢說自己是做大數(shù)據(jù)的,頂多也就敢跟人說是做商業(yè)智能(BI)。 ?
云平臺分為私有云和公有云。私有云平臺如日中天的 OpenStack,就是 Python 寫的。曾經(jīng)的追趕者 CloudStack,在剛推出時大肆強調(diào)自己是 Java 寫的,比 Python 有優(yōu)勢。結(jié)果,搬石砸腳,2015 年初,CloudStack 的發(fā)起人 Citrix 宣布加入 OpenStack 基金會,CloudStack 眼看著就要壽終正寢。
?
如果嫌麻煩不想自己搭建私有云,用公有云,不論是 AWS,GCE,Azure,還是阿里云,青云,在都提供了 Python SDK,其中 GCE 只提供 Python 和 JavaScript 的 SDK,而青云只提供 Python SDK。可見各家云平臺對 Python 的重視。 ?
提到基礎(chǔ)設(shè)施搭建,不得不提 Hadoop,在今天,Hadoop 因為其 MapReduce 數(shù)據(jù)處理速度不夠快,已經(jīng)不再作為大數(shù)據(jù)處理的*,但是 HDFS 和 Yarn——Hadoop 的兩個組件——倒是越來越受歡迎。Hadoop 的開發(fā)語言是 Java,沒有官方提供 Python 支持,不過有很多第三方庫封裝了 Hadoop 的 API 接口(pydoop,hadoopy 等等)。 ?
Hadoop MapReduce 的替代者,是號稱快上 100 倍的 Spark,其開發(fā)語言是 Scala,但是提供了 Scala,Java,Python 的開發(fā)接口,想要討好那么多用 Python 開發(fā)的數(shù)據(jù)科學(xué)家,不支持 Python,真是說不過去。HDFS 的替代品,比如 GlusterFS,Ceph 等,都是直接提供 Python 支持。Yarn 的替代者,Mesos 是 C++ 實現(xiàn),除 C++ 外,提供了 Java 和 Python 的支持包。 ?
?
python的特性 ?
下載安裝:從python官網(wǎng)下載開發(fā)和運行環(huán)境程序。本例下載python-3.3.3.amd64的安裝包,并安裝。 ?
開發(fā)工具:window系統(tǒng)中,python有多種開發(fā)工具,比如,一、直接在cmd命令窗口執(zhí)行,但此種僅能單條語句執(zhí)行,不能運行完整的程序。二、python自帶的集成開發(fā)環(huán)境,可通過開始——所有程序——python3.3——IDLE(Python GUI)啟動。三、其他集成開發(fā)環(huán)境,如PythonWin等,有編輯和調(diào)試能力,還實現(xiàn)了MFC類庫存的包裝。 ?
本例中,使用python自帶的開發(fā)環(huán)境。File—New File,新建py文檔,編寫程序,保存。Run——Run module,可得到運行結(jié)果。 ?
封裝性:可以把屬性、方法結(jié)合在一起,不可以直接訪問對象的屬性,僅能通過接口與對象發(fā)生聯(lián)系。以下把方法和屬性封裝成了一個類。 ?
構(gòu)造器:python有3種類型的構(gòu)造器,且一個類中僅可以定義一個構(gòu)造器,若多個,則以*為準(zhǔn)。1.若不聲明,則默認(rèn)為一個沒有任何操作的特殊的__init__方法,__init__(self),此時可通過obj = my_class()聲明實例。 2.自聲明__init__構(gòu)造器,會覆蓋默認(rèn)的,且可以更新類的數(shù)據(jù)屬性。3.構(gòu)造器方法__new__(),用于不可變內(nèi)置類型派生,不能通過實例訪問屬性,僅能通過類訪問。 ?
繼承性:python支持多繼承,且子類繼承了父類的方法和屬性。若子類中有和父類相同名稱的方法,則子類會覆蓋(Override)父類方法。父類方法依舊可以訪問。 ?
數(shù)據(jù)結(jié)構(gòu):有豐富的數(shù)據(jù)結(jié)構(gòu),例如列表、字典、集合等。本例簡單介紹字典的使用。字典是鍵值對的無序集合,是可變對象。鍵在字典中是*的且必須是不可變對象。值可以是可變對象或不可變對象。以下例子對python字典的定義、訪問、更新等的操作。