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