A. python中常用的包、库、软件,俗称轮子
Python是一个广泛使用的编程语言,有着丰富的生态系统,包含众多的包、库和软件,俗称"轮子"。以下是一个概览,展示了Python中常见的一些工具和库,这些工具和库覆盖了从基本的环境管理到高级的科学计算等多个领域,旨在提高开发效率并简化复杂任务。
在Python环境中,管理版本和虚拟环境至关重要。使用虚拟环境可以避免不同项目之间的依赖冲突,并确保项目依赖的正确性。
包和依赖管理工具是Python开发的基础。这些工具,如pip、conda等,帮助开发者轻松安装、更新和卸载Python包,确保项目能够稳定运行。
打包发布工具,如setuptools、twine等,简化了将项目转换为可安装包的过程,使得项目可以被其他开发者轻松使用。
交互式工具(如IPython、REPL)提供了与Python交互的便利性,帮助开发者快速测试代码和实验新想法。
文件操作和MIME类型描述等库(如os、mimetypes)提供了处理文件和文件类型的基本功能,是任何Python项目的基础。
时间、日期处理库(如datetime)是许多应用程序中不可或缺的一部分,用于处理时间相关逻辑和日期计算。
文本处理库(如re、nltk)提供了解析和操作普通文本的工具,对于构建文本处理应用至关重要。
对于特定文本格式(如Word、Excel、PDF、Markdown等)的解析和处理,有专门的库如python-docx、pandas、PyPDF2、markdown等,极大地简化了这些任务。
自然语言处理库(如NLTK、spaCy)提供了分析和理解自然语言的工具,是构建聊天机器人、文本分类等应用的基石。
生成项目文档的工具(如Sphinx)帮助开发者轻松创建高质量的文档,提升代码的可读性和可维护性。
配置管理库(如ConfigParser、PyYAML)提供了存储和解析配置文件的方式,使得应用能够根据不同的环境灵活配置。
图片处理库(如Pillow、OpenCV)提供了强大的图像处理功能,适用于各种图像操作任务。
文字识别库(如Tesseract、PIL)提供了OCR功能,使文本可以被计算机理解,对于自动化文档处理等应用场景非常有用。
音频和视频处理库(如pyb、moviepy)提供了对音频和视频文件进行剪辑、转换和处理的功能,是构建媒体应用的必备工具。
地理位置处理库(如geopy)提供了与地理坐标相关的功能,如地址解析、坐标转换等,对于构建地图应用或地理位置服务非常有用。
HTTP库(如requests、http.client)简化了HTTP请求和响应的处理,是构建网络应用的基本组件。
数据库相关库(如sqlite3、MySQL-connector-python)提供了与多种数据库交互的功能,是数据存储和管理的基础。
数据库驱动(连接件)和数据库对象关系模型映射(ORM)库(如psycopg2、SQLAlchemy)帮助开发者更高效地操作数据库,简化了SQL查询和事务处理。
全栈Web框架(如Django、Flask)提供了构建Web应用的完整工具链,包括路由、视图、模板等,让开发者能够快速构建Web应用。
内容管理系统(CMS)库(如pelican、mkdocs)提供了构建静态或动态内容网站的功能,适合构建博客或知识库。
电子商务框架和库(如Shopify API、Stripe API)提供了构建在线商店和处理支付流程的工具,简化了电子商务应用的开发。
RESTful API框架(如Flask-RESTful、Django REST framework)帮助开发者构建符合REST规范的API,使服务可以被其他应用调用。
授权和认证库(如Flask-Login、Django Authentication)提供了安全的用户认证和会话管理功能,确保应用的安全性。
模板引擎(如Jinja2、Django templates)提供了生成动态页面的功能,简化了网页内容的生成和布局。
任务队列库(如Celery)帮助开发者处理后台任务,实现异步处理和任务调度。
搜索工具(如Elasticsearch)提供了全文搜索和索引功能,使开发者能够快速构建搜索能力丰富的应用。
Feed工具(如RSS feeds)帮助开发者生成和处理RSS或ATOM格式的订阅源,使应用能够提供新闻或内容聚合功能。
网站资源管理工具(如mini-css-extract-plugin、terser-webpack-plugin)帮助开发者优化和压缩网站资源,提高应用性能。
缓存库(如Redis、memcached)提供了高效的数据缓存功能,能够提高应用响应速度和减少数据库负载。
电子邮件库(如smtplib、SMTP_SSL)提供了发送和解析电子邮件的功能,对于构建邮件通知或邮件服务的开发非常有用。
国际化(i18n)库(如Babel、gettext)帮助开发者构建多语言支持的应用,确保应用能够面向全球用户。
URL处理库(如urlparse、urllib)提供了解析和操作URL的功能,是构建网络应用的基础。
HTML和XML处理库(如BeautifulSoup、lxml)提供了解析和生成HTML和XML文档的功能,对于构建Web应用和数据抓取非常关键。
Web爬虫库(如Scrapy、BeautifulSoup)提供了自动抓取网页数据的功能,是数据收集和分析的重要工具。
数据验证库(如Pydantic、Dataclasses)帮助开发者创建有效的数据模型和验证输入数据,简化了数据验证和处理流程。
管理界面库(如Flask-Admin、django-admin)提供了构建用户友好的管理后台的功能,使开发者能够方便地管理应用数据。
静态网站生成工具(如Jekyll、Hugo)帮助开发者快速构建静态网站,适合构建博客、个人站点等。
进程管理库(如multiprocessing、concurrent.futures)提供了管理多进程和并行处理的功能,提高应用的并发性能。
并发和并行处理库(如asyncio、concurrent.futures)帮助开发者实现异步编程和并行任务执行,提高应用的响应速度。
网络编程库(如socket、asyncio)提供了构建网络应用的基础功能,包括网络通信、套接字编程等。
WebSocket处理库(如websockets)提供了构建WebSocket应用的功能,使开发者能够构建实时通信应用。
WSGI服务器(如Gunicorn、uWSGI)提供了兼容WSGI规范的Web服务器,简化了Web应用的部署。
远程调用库(如dill、PyRPC)提供了实现远程过程调用的功能,使得服务能够跨网络或进程调用。
加解密图形界面库(如PyQt、Tkinter)提供了构建图形用户界面应用的基础功能,包括窗口、控件和事件处理等。
游戏开发库(如Pygame)提供了构建2D游戏应用的工具,包括图形、音效和游戏逻辑等。
日志工具(如logging、loguru)提供了记录应用运行时信息的功能,帮助开发者诊断和调试应用问题。
测试库(如unittest、pytest)提供了编写和执行测试用例的工具,确保应用的可靠性和稳定性。
代码分析和优化工具(如pycodestyle、black)帮助开发者检查和优化代码质量,提高代码可读性和性能。
调试工具(如pdb、IPython)提供了强大的调试功能,帮助开发者在代码中设置断点、查看变量状态等,加速调试过程。
科学计算和数据分析库(如NumPy、pandas、scipy)提供了进行数值计算和数据分析的强大功能,是数据科学和工程领域的基石。
数据可视化库(如matplotlib、seaborn、Plotly)提供了生成图表和可视化数据的功能,帮助开发者和用户更好地理解和解释数据。
视觉计算库(如OpenCV、scikit-image)提供了计算机视觉的基本功能,如图像处理、特征提取等,是构建视觉应用的关键。
机器学习库(如TensorFlow、PyTorch、scikit-learn)提供了构建和训练机器学习模型的工具,是人工智能应用的核心。
MapRece框架和库(如Apache Spark、Dask)提供了实现分布式计算任务的功能,适合处理大规模数据集。
函数式编程库(如functools、PyMonad)提供了函数式编程的支持,简化了代码的可读性和可维护性。
运维开发工具(如Ansible、Terraform)提供了自动化部署和管理基础设施的功能,提高运维效率。
任务调度库(如APScheler、cron)提供了实现定时任务和工作流管理的功能,确保应用按照预定时间执行任务。
使用其他语言扩展Python库(如cffi、ctypes)提供了与其他语言集成的接口,使Python能够使用外部库。
高性能库(如numba、cython)提供了加速Python代码执行的功能,提高应用性能。
Windows工具(如pywin32)提供了在Windows操作系统中使用Python的功能,简化了Windows开发。
网络虚拟化和SDN库(如OpenDaylight、ONOS)提供了构建网络虚拟化和SDN服务的基础,是网络基础设施的关键。
硬件库(如RPi.GPIO、PyUSB)提供了与硬件设备交互的功能,适合构建嵌入式应用。
兼容性工具(如2to3、Py2App)提供了Python 2到Python 3的转换功能,帮助开发者迁移代码。
开发者插件(如PyCharm、Visual Studio Code插件)提供了增强开发环境的功能,提升开发效率。
IDEs(如PyCharm、Jupyter Notebook)提供了集成开发环境,支持代码编写、调试、运行和文档生成。
Python资源(如awesome-python、PyPI)提供了发现和使用新Python库的平台,是开发者获取资源的宝贵资源。
B. python组件有多少个(2023年最新解答)
导读:今天首席CTO笔记来给各位分享关于python组件有多少个的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
常用的生物信息学python库有哪些常用的生物信息学python库:
Tkinter
Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对TkAPI的接口,它属于Tcl/Tk的GUI工具组。
PyGTK
用于pythonGUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的库。
PyQt
用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt,qtcanvas,qtgl,qtnetwork,qtsql,qttable,qtuiandqtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是Scintillar编辑器类的Qt接口。
wxPython
GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构(对于初学者或者对设计要求不高的用户来说,使用BoaConstructor可以方便迅速的进行wxPython的开发)
PIL
python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
Psyco
一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
xmpppy
Jabber服务器采用开发的XMPP协议,GoogleTalk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。
PyMedia
用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav,mp3,ogg,avi,divx,dvd,cddaetc)。可在Windows和Linux平台下使用。
Pmw
Pythonmegawidgets,Python超级GUI组件集,一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。
PyXML
用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3CDOM规范的。它包含以下内容:
xmlproc:一个符合规范的XML解析器。Expat:一个快速的,非验证的XML解析器。还有其他和他同级别的还有PyHtmlPySGML。
PyGame
用于多媒体开发和游戏软件开发的模块。
PyOpenGL
模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。
NumPy、NumArray、SAGE
NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的底层代码使用C来编写,所以速度的优势很明显。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代Magma,Maple,Mathematica和Matlab这类工具。
MySQLdb
用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。
Sqlite3
用于连接sqlite数据库。
Python-ldap
提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
smtplib
发送电子邮件。
ftplib
定义了FTP类和一些方法,用以进行客户端的ftp编程。如果想了解ftp协议的详细内容,请参考RFC959。
PyOpenCL
OpenCL的Python接口,通过该模块可以使用GPU实现并行计算。
10个Python图像编辑工具
以下提到的这些Python工具在编辑图像、操作图像底层数据方面都提供了简单直接的方法。
--ParulPandey
当今的世界充满了数据,而图像数据就是其中很重要的一部分。但只有经过处理和分析,提高图像的质量,从中提取出有效地信息,才能利用到这些图像数据。
常见的图像处理操作包括显示图像,基本的图像操作,如裁剪、翻转、旋转;图像的分割、分类、特征提取;图像恢复;以及图像识别等等。Python作为一种日益风靡的科学编程语言,是这些图像处理操作的最佳选择。同时,在Python生态当中也有很多可以免费使用的优秀的图像处理工具。
下文将介绍10个可以用于图像处理任务的Python库,它们在编辑图像、查看图像底层数据方面都提供了简单直接的方法。
scikit-image是一个结合NumPy数组使用的开源Python工具,它实现了可用于研究、教育、工业应用的算法和应用程序。即使是对于刚刚接触Python生态圈的新手来说,它也是一个在使用上足够简单的库。同时它的代码质量也很高,因为它是由一个活跃的志愿者社区开发的,并且通过了同行评审(peerreview)。
scikit-image的文档非常完善,其中包含了丰富的用例。
可以通过导入skimage使用,大部分的功能都可以在它的子模块中找到。
图像滤波(imagefiltering):
使用match_template()方法实现模板匹配(templatematching):
在展示页面可以看到更多相关的例子。
NumPy提供了对数组的支持,是Python编程的一个核心库。图像的本质其实也是一个包含像素数据点的标准NumPy数组,因此可以通过一些基本的NumPy操作(例如切片、掩膜(mask)、花式索引(fancyindexing)等),就可以从像素级别对图像进行编辑。通过NumPy数组存储的图像也可以被skimage加载并使用matplotlib显示。
在NumPy的官方文档中提供了完整的代码文档和资源列表。
使用NumPy对图像进行掩膜(mask)操作:
像NumPy一样,SciPy是Python的一个核心科学计算模块,也可以用于图像的基本操作和处理。尤其是SciPyv1.1.0中的scipy.ndimage子模块,它提供了在n维NumPy数组上的运行的函数。SciPy目前还提供了线性和非线性滤波(linearandnon-linearfiltering)、二值形态学(binarymorphology)、B样条插值(B-splineinterpolation)、对象测量(objectmeasurements)等方面的函数。
在官方文档中可以查阅到scipy.ndimage的完整函数列表。
使用SciPy的高斯滤波对图像进行模糊处理:
PIL(PythonImagingLibrary)是一个免费Python编程库,它提供了对多种格式图像文件的打开、编辑、保存的支持。但在2009年之后PIL就停止发布新版本了。幸运的是,还有一个PIL的积极开发的分支Pillow,它的安装过程比PIL更加简单,支持大部分主流的操作系统,并且还支持Python3。Pillow包含了图像的基础处理功能,包括像素点操作、使用内置卷积内核进行滤波、颜色空间转换等等。
Pillow的官方文档提供了Pillow的安装说明自己代码库中每一个模块的示例。
使用Pillow中的ImageFilter模块实现图像增强:
OpenCV(OpenSourceComputerVision库)是计算机视觉领域最广泛使用的库之一,OpenCV-Python则是OpenCV的PythonAPI。OpenCV-Python的运行速度很快,这归功于它使用C/C++编写的后台代码,同时由于它使用了Python进行封装,因此调用和部署的难度也不大。这些优点让OpenCV-Python成为了计算密集型计算机视觉应用程序的一个不错的选择。
入门之前最好先阅读OpenCV2-Python-Guide这份文档。
使用OpenCV-Python中的金字塔融合(PyramidBlending)将苹果和橘子融合到一起:
SimpleCV是一个开源的计算机视觉框架。它支持包括OpenCV在内的一些高性能计算机视觉库,同时不需要去了解位深度(bitdepth)、文件格式、色彩空间(colorspace)之类的概念,因此SimpleCV的学习曲线要比OpenCV平缓得多,正如它的口号所说,“将计算机视觉变得更简单”。SimpleCV的优点还有:
官方文档简单易懂,同时也附有大量的学习用例。
文档包含了安装介绍、示例以及一些Mahotas的入门教程。
Mahotas力求使用少量的代码来实现功能。例如这个FindingWally游戏:
ITK()是一个为开发者提供普适性图像分析功能的开源、跨平台工具套件,SimpleITK则是基于ITK构建出来的一个简化层,旨在促进ITK在快速原型设计、教育、解释语言中的应用。SimpleITK作为一个图像分析工具包,它也带有大量的组件,可以支持常规的滤波、图像分割、图像配准(registration)功能。尽管SimpleITK使用C++编写,但它也支持包括Python在内的大部分编程语言。
有很多JupyterNotebooks用例可以展示SimpleITK在教育和科研领域中的应用,通过这些用例可以看到如何使用Python和R利用SimpleITK来实现交互式图像分析。
使用Python+SimpleITK实现的CT/MR图像配准过程:
pgmagick是使用Python封装的GraphicsMagick库。GraphicsMagick通常被认为是图像处理界的瑞士军刀,因为它强大而又高效的工具包支持对多达88种主流格式图像文件的读写操作,包括DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF等等。
pgmagick的GitHub仓库中有相关的安装说明、依赖列表,以及详细的使用指引。
图像缩放:
边缘提取:
Cairo是一个用于绘制矢量图的二维图形库,而Pycairo是用于Cairo的一组Python绑定。矢量图的优点在于做大小缩放的过程中不会丢失图像的清晰度。使用Pycairo可以在Python中调用Cairo的相关命令。
Pycairo的GitHub仓库提供了关于安装和使用的详细说明,以及一份简要介绍Pycairo的入门指南。
使用Pycairo绘制线段、基本图形、径向渐变(radialgradients):
以上就是Python中的一些有用的图像处理库,无论你有没有听说过、有没有使用过,都值得试用一下并了解它们。
via:
作者:ParulPandey选题:lujun9972译者:HankChow校对:wxy
在python中一共有多少个标准库?Python语言官方的参考手册钟,介绍了与Python一同发行的标准库。
文本处理服务
string?---常见的字符串操作
re?---正则表达式操作
difflib?---计算差异的辅助工具
textwrap?---文本自动换行与填充
unicodedata?---Unicode数据库
stringprep?---因特网字符串预备
readline?---GNUreadline接口
rlcompleter?---GNUreadline的补全函数
二进制数据服务
struct?---将字节串解读为打包的二进制数据
codecs?---编解码器注册和相关基类
数据类型
datetime?---基本日期和时间类型
zoneinfo?---IANA时区支持
calendar?---日历相关函数
collections?---容器数据类型
collections.abc?---容器的抽象基类
heapq?---堆队列算法
bisect?---数组二分查找算法
array?---高效的数值数组
weakref?---弱引用
types?---动态类型创建和内置类型名称
?---浅层(shallow)和深层(deep)复制操作
pprint?---数据美化输出
reprlib?---另一种?repr()?实现
enum?---对枚举的支持
graphlib?---操作类似图的结构的功能
数字和数学模块
numbers?---数字的抽象基类
math?---数学函数
cmath?---关于复数的数学函数
decimal?---十进制定点和浮点运算
fractions?---分数
random?---生成伪随机数
statistics?---数学统计函数
函数式编程模块
itertools?---为高效循环而创建迭代器的函数
functools?---高阶函数和可调用对象上的操作
operator?---标准运算符替代函数
文件和目录访问
pathlib?---面向对象的文件系统路径
os.path?---常用路径操作
fileinput?---迭代来自多个输入流的行
stat?---解析?stat()?结果
filecmp?---文件及目录的比较
tempfile?---生成临时文件和目录
glob?---Unix风格路径名模式扩展
fnmatch?---Unix文件名模式匹配
linecache?---随机读写文本行
shutil?---高阶文件操作
数据持久化
pickle?---Python对象序列化
reg?---注册配合?pickle?模块使用的函数
shelve?---Python对象持久化
marshal?---内部Python对象序列化
dbm?---Unix"数据库"接口
sqlite3?---SQLite数据库DB-API2.0接口模块
数据压缩和存档
zlib?---与?gzip?兼容的压缩
gzip?---对?gzip?格式的支持
bz2?---对?bzip2?压缩算法的支持
lzma?---用LZMA算法压缩
zipfile?---使用ZIP存档
tarfile?---读写tar归档文件
文件格式
csv?---CSV文件读写
configparser?---配置文件解析器
tomllib?---ParseTOMLfiles
netrc?---netrc文件处理
plistlib?---生成与解析Apple?.plist?文件
加密服务
hashlib?---安全哈希与消息摘要
hmac?---基于密钥的消息验证
secrets?---生成管理密码的安全随机数
通用操作系统服务
os?---多种操作系统接口
io?---处理流的核心工具
time?---时间的访问和转换
argparse?---命令行选项、参数和子命令解析器
getopt?---C风格的命令行选项解析器
logging?---Python的日志记录工具
logging.config?---日志记录配置
logging.handlers?---日志处理程序
getpass?---便携式密码输入工具
curses?---终端字符单元显示的处理
curses.textpad?---用于curses程序的文本输入控件
curses.ascii?---用于ASCII字符的工具
curses.panel?---curses的面板栈扩展
platform?---获取底层平台的标识数据
errno?---标准errno系统符号
ctypes?---Python的外部函数库
并发执行
threading?---基于线程的并行
multiprocessing?---基于进程的并行
multiprocessing.shared_memory?---
concurrent?包
concurrent.futures?---启动并行任务
subprocess?---子进程管理
sched?---事件调度器
queue?---一个同步的队列类
contextvars?---上下文变量
_thread?---底层多线程API
网络和进程间通信
asyncio?---异步I/O
socket?---底层网络接口
ssl?---套接字对象的TLS/SSL包装器
select?---等待I/O完成
selectors?---高级I/O复用库
signal?---设置异步事件处理程序
mmap?---内存映射文件支持
互联网数据处理
email?---电子邮件与MIME处理包
json?---JSON编码和解码器
mailbox?---操作多种格式的邮箱
mimetypes?---映射文件名到MIME类型
base64?---Base16,Base32,Base64,Base85数据编码
binascii?---二进制和ASCII码互转
quopri?---编码与解码经过MIME转码的可打印数据
结构化标记处理工具
html?---超文本标记语言支持
html.parser?---简单的HTML和XHTML解析器
html.entities?---HTML一般实体的定义
XML处理模块
xml.etree.ElementTree?---ElementTreeXMLAPI
xml.dom?---文档对象模型API
xml.dom.minidom?---最小化的DOM实现
xml.dom.pulldom?---支持构建部分DOM树
xml.sax?---支持SAX2解析器
xml.sax.handler?---SAX处理句柄的基类
xml.sax.saxutils?---SAX工具集
xml.sax.xmlreader?---用于XML解析器的接口
xml.parsers.expat?---使用Expat的快速XML解析
互联网协议和支持
webbrowser?---方便的Web浏览器控制工具
wsgiref?---WSGI工具和参考实现
urllib?---URL处理模块
urllib.request?---用于打开URL的可扩展库
urllib.response?---urllib使用的Response类
urllib.parse?用于解析URL
urllib.error?---urllib.request引发的异常类
urllib.robotparser?---robots.txt语法分析程序
http?---HTTP模块
http.client?---HTTP协议客户端
ftplib?---FTP协议客户端
poplib?---POP3协议客户端
imaplib?---IMAP4协议客户端
smtplib?---SMTP协议客户端
uuid?---?RFC4122?定义的UUID对象
socketserver?---用于网络服务器的框架
http.server?---HTTP服务器
http.cookies?---HTTP状态管理
http.cookiejar?——HTTP客户端的Cookie处理
xmlrpc?---XMLRPC服务端与客户端模块
xmlrpc.client?---XML-RPC客户端访问
xmlrpc.server?---基本XML-RPC服务器
ipaddress?---IPv4/IPv6操作库
多媒体服务
wave?---读写WAV格式文件
colorsys?---颜色系统间的转换
国际化
gettext?---多语种国际化服务
locale?---国际化服务
程序框架
turtle?---海龟绘图
cmd?---支持面向行的命令解释器
shlex?——简单的词法分析
Tk图形用户界面(GUI)
tkinter?——Tcl/Tk的Python接口
tkinter.colorchooser?---颜色选择对话框
tkinter.font?---Tkinter字体封装
Tkinter对话框
tkinter.messagebox?---Tkinter消息提示
tkinter.scrolledtext?---滚动文字控件
tkinter.dnd?---拖放操作支持
tkinter.ttk?---Tk风格的控件
C. Python 几个重要的内置函数
在学习Python的过程中,有几个比较重要的内置函数:help()函数、dir()函数、input()与raw_input()函数、print()函数、type()函数。
第一、help()函数
Help()函数的参数分为两种:如果传一个字符串做参数的话,它会自动搜索以这个字符串命名的模块、方法等;如果传入的是一个对象,就会显示这个对象的类型的帮助。比如输入help(‘print’),它就会寻找以‘print’为名的模块、类等,找不到就会看到提示信息;而print在Python里是一个保留字,和pass、return同等,而非对象,所以help(print)也会报错。
第二、dir()函数
dir()函数返回任意对象的属性和方法列表,包含模块对象、函数对象、字符串对象、列表对象、字典对象等。尽管查找和导入模块相对容易,但是记住每个模块包含什么却不是这么简单,您并不希望总是必须查看源代码来找出答案。Python提供了一种方法,可以使用内置的dir()函数来检查模块的内容,当你为dir()提供一个模块名的时候,它返回模块定义的属性列表。dir()函数适用于所有对象的类型,包含字符串、整数、列表、元组、字典、函数、定制类、类实例和类方法。
第三、input与raw_input函数
都是用于读取用户输入的,不同的是input()函数期望用户输入的是一个有效的表达式,而raw_input()函数是将用户的输入包装成一个字符串。
第四、Print()函数
Print在Python3版本之间是作为Python语句使用的,在Python3里print是作为函数使用的。
第五、type()函数
Type()函数返回任意对象的数据类型。在types模块中列出了可能的数据类型,这对于处理多种数据类型的函数非常有用,它通过返回类型对象来做到这一点,可以将这个类型对象与types模块中定义类型相比较。