2022-04-15|已帮助:1864 人
PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。在可以运行于多个平台。PyQt5拥有双重协议,自由开发者可以选择免费的GPL版本,仅当你准备将PyQt用于商业活动时,你必须为此交付commercial许可费用。以下是小编为你整理的菜鸟学习python
QtCore模块涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及到的 time、文件、目录、数据类型、文本流、链接、mime、线程或进程等对象。
QtGui模块涵盖多种基本图形功能的类; 包括但不限于:窗口集、事件处理、2D图形、基本的图像和界面 和字体文本。
QtWidgets模块包含了一整套UI元素组件,用于建立符合系统风格的classic界面,非常方便,可以在安装时选择是否使用此功能。
QtMultimedia模块包含了一套类库,该类库被用于处理多媒体事件,通过调用API接口访问摄像头、语音设备、收发消息(radio functionality)等。
QtBluetooth模块包含了处理蓝牙活动的类库,它的功能包括:扫描设备、连接、交互等行为。
QtNetwork模块包含用于网络编程的类库,这组类程序通过提供便捷的TCP/IP 及 UDP 的 c/s 程式码集合,使得基于Qt的网络编程更容易。
import 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 !"
云基础设施
这年头,不支持云平台,不支持海量数据,不支持动态伸缩,根本不敢说自己是做大数据的,顶多也就敢跟人说是做商业智能(BI)。
云平台分为私有云和公有云。私有云平台如日中天的 OpenStack,就是 Python 写的。曾经的追赶者 CloudStack,在刚推出时大肆强调自己是 Java 写的,比 Python 有优势。结果,搬石砸脚,2015 年初,CloudStack 的发起人 Citrix 宣布加入 OpenStack 基金会,CloudStack 眼看着就要寿终正寝。
如果嫌麻烦不想自己搭建私有云,用公有云,不论是 AWS,GCE,Azure,还是阿里云,青云,在都提供了 Python SDK,其中 GCE 只提供 Python 和 JavaScript 的 SDK,而青云只提供 Python SDK。可见各家云平台对 Python 的重视。
提到基础设施搭建,不得不提 Hadoop,在今天,Hadoop 因为其 MapReduce 数据处理速度不够快,已经不再作为大数据处理的首选,但是 HDFS 和 Yarn——Hadoop 的两个组件——倒是越来越受欢迎。Hadoop 的开发语言是 Java,没有官方提供 Python 支持,不过有很多第三方库封装了 Hadoop 的 API 接口(pydoop,hadoopy 等等)。
Hadoop MapReduce 的替代者,是号称快上 100 倍的 Spark,其开发语言是 Scala,但是提供了 Scala,Java,Python 的开发接口,想要讨好那么多用 Python 开发的数据科学家,不支持 Python,真是说不过去。HDFS 的替代品,比如 GlusterFS,Ceph 等,都是直接提供 Python 支持。Yarn 的替代者,Mesos 是 C++ 实现,除 C++ 外,提供了 Java 和 Python 的支持包。
模块可以合理组织代码,并进行复用
模块就是一个包含Python代码的文本文件。对模块的主要需求就是要求文件名以.py结尾,这是Python扩展名。
根据上面的定义,把一个函数的代码保存到一个以.py结尾的文件中,这个函数就包含在一个模块中了
先来看看一个模块:
def print_lol(the_list,indent=False,level=0):
for each_item in the_list:
if isinstance(each_item,list):
print_lol(each_item,indent,level+1)
else:
if indent:
for tab_stop in range(level):
print(" ",end='')
print(each_item)
对上面python进行简介
range():返回一个迭代器,根据需要生成一个指定范围的数字。从0开始,直到(但不包含)某个数的数字列表。
如果入参为负数,则range(-1)返回结果为空集体
print(" ",end='') :end=''作为BIF print的一个参数会关闭其默认行为(即在输入中自动进行换行)。有这个参数后,print不会进行换行
准备发布:
在Python中,所谓“发布(Distribution)”是指一个文件集合,这些文件联合一起允许构建、打包和发布模块
在上面nester.py模块文件的同级目录,创建一个名为setup.py的文件。
这个文件包含有关发布的元数据。
需要从Python发布工具导入setup函数
from distutils.core import setup
setup(
name='nester',
version="1.0.0",
py_modules=['nester'],
author='python_learner',
url='http://url',
description='A simple printer of list',
)
以上是广州叩丁狼教育整理的菜鸟学习python全部内容。