PyQt5是基于Digia公司強(qiáng)大的圖形程式框架Qt5的python接口,由一組python模塊構(gòu)成。PyQt5本身擁有超過620個(gè)類和6000函數(shù)及方法。在可以運(yùn)行于多個(gè)平臺(tái)。PyQt5擁有雙重協(xié)議,自由開發(fā)者可以選擇免費(fèi)的GPL版本,僅當(dāng)你準(zhǔn)備將PyQt用于商業(yè)活動(dòng)時(shí),你必須為此交付commercial許可費(fèi)用。以下是小編為你整理的python3數(shù)據(jù)庫教程 ?
QtCore模塊涵蓋了包的核心的非GUI功能,此模塊被用于處理程序中涉及到的 time、文件、目錄、數(shù)據(jù)類型、文本流、鏈接、mime、線程或進(jìn)程等對(duì)象。 ?
QtGui模塊涵蓋多種基本圖形功能的類; 包括但不限于:窗口集、事件處理、2D圖形、基本的圖像和界面 和字體文本。 ?
QtWidgets模塊包含了一整套UI元素組件,用于建立符合系統(tǒng)風(fēng)格的classic界面,非常方便,可以在安裝時(shí)選擇是否使用此功能。
?
QtMultimedia模塊包含了一套類庫,該類庫被用于處理多媒體事件,通過調(diào)用API接口訪問攝像頭、語音設(shè)備、收發(fā)消息(radio functionality)等。 ?
QtBluetooth模塊包含了處理藍(lán)牙活動(dòng)的類庫,它的功能包括:掃描設(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è)施
這年頭,不支持云平臺(tái),不支持海量數(shù)據(jù),不支持動(dòng)態(tài)伸縮,根本不敢說自己是做大數(shù)據(jù)的,頂多也就敢跟人說是做商業(yè)智能(BI)。 ?
云平臺(tái)分為私有云和公有云。私有云平臺(tái)如日中天的 OpenStack,就是 Python 寫的。曾經(jīng)的追趕者 CloudStack,在剛推出時(shí)大肆強(qiáng)調(diào)自己是 Java 寫的,比 Python 有優(yōu)勢(shì)。結(jié)果,搬石砸腳,2015 年初,CloudStack 的發(fā)起人 Citrix 宣布加入 OpenStack 基金會(huì),CloudStack 眼看著就要壽終正寢。 ?
如果嫌麻煩不想自己搭建私有云,用公有云,不論是 AWS,GCE,Azure,還是阿里云,青云,在都提供了 Python SDK,其中 GCE 只提供 Python 和 JavaScript 的 SDK,而青云只提供 Python SDK。可見各家云平臺(tái)對(duì) Python 的重視。 ?
提到基礎(chǔ)設(shè)施搭建,不得不提 Hadoop,在今天,Hadoop 因?yàn)槠?MapReduce 數(shù)據(jù)處理速度不夠快,已經(jīng)不再作為大數(shù)據(jù)處理的*,但是 HDFS 和 Yarn——Hadoop 的兩個(gè)組件——倒是越來越受歡迎。Hadoop 的開發(fā)語言是 Java,沒有官方提供 Python 支持,不過有很多第三方庫封裝了 Hadoop 的 API 接口(pydoop,hadoopy 等等)。 ?
Hadoop MapReduce 的替代者,是號(hào)稱快上 100 倍的 Spark,其開發(fā)語言是 Scala,但是提供了 Scala,Java,Python 的開發(fā)接口,想要討好那么多用 Python 開發(fā)的數(shù)據(jù)科學(xué)家,不支持 Python,真是說不過去。HDFS 的替代品,比如 GlusterFS,Ceph 等,都是直接提供 Python 支持。Yarn 的替代者,Mesos 是 C++ 實(shí)現(xiàn),除 C++ 外,提供了 Java 和 Python 的支持包。 ?
?
如何寫控制臺(tái)計(jì)算器
python環(huán)境的安裝、pycharm的安裝不再贅述。直接從代碼開始講解。 ?
首先,應(yīng)該明確計(jì)算器的功能。我決定做一個(gè)可以做簡(jiǎn)單的加減乘除(含地板除)和開平方的計(jì)算器,因此設(shè)置1-5分別對(duì)應(yīng)五種運(yùn)算,6為退出指令鍵。 ?
判斷輸入是否合法:本計(jì)算器中,加減乘除運(yùn)算的輸入限制為浮點(diǎn)型;開平方運(yùn)算的輸入為實(shí)數(shù)和復(fù)數(shù)均可。當(dāng)輸入非法(如輸入了字母等)時(shí),需要報(bào)錯(cuò)并重新提示輸入。 ?
模式選擇與計(jì)算:選擇需要的計(jì)算模式,并輸入需要被計(jì)算的數(shù),即可實(shí)現(xiàn)結(jié)果輸出。 ?
適當(dāng)?shù)膱D形界面和清屏處理:因?yàn)槭强刂婆_(tái)程序,因此界面較為簡(jiǎn)陋??蛇M(jìn)一步添加圖形包來設(shè)計(jì)圖形界面。清屏函數(shù)這里使用了系統(tǒng)指令 ?
def clear()
os.system('cls')