精华内容
下载资源
问答
  • Python自带的GUITkinter是否值得学习?Tkinter是什么?Tkinter值得学吗?总结如下: Python语言可以用在很多方面,网站开发、数据分析、运营维护、游戏开发等等,那么桌面应用程序GUI呢?其实Python标准库里自带...

    Python自带的GUI库Tkinter是否值得学习?

    在这里插入图片描述
    Python语言可以用在很多方面,网站开发、数据分析、运营维护、游戏开发等等,那么桌面应用程序GUI呢?其实Python标准库里自带Tkinter就是干这个的。相比PyQT、wxPython等等,Tkinter有哪些优势和不足,是否值得学呢?

    Tkinter是什么?

    要了解Tkinter,首先要从Tcl编程语言说起。Tcl语言全称是“Tool Command Language”,是John Ousterman在1980年代创建的一种解释型编程语言,当时John Ousterman正在加州大学Berkeley分校任职,需要一种相对简明的开发工程工具的编程语言,所以他就用C语言写了这个解释型语言,感觉故事是不是有点像Python!

    接下来,他又用C结合Tcl写了个专门用于GUI编程的库,叫着Tk。当年这个Tcl/Tk在1980、1990年代可是非常的流行,尤其是在学术界、工程界和Unx程序员中。

    而Tkinter又是什么呢?
    我们知道Python最早是在1994年发行其1.1版本的,标准库里需要各方面的库,包括文本处理、图像处理等等,当然也不能少了GUI。Guido van Rossum(Python语言创始人)觉得Tk这个库现成的,而且还挺好用,就不再另造轮子了。他用C语言写了个在Python中可以调用Tk的接口,再把Tcl/Tk一起打包在标准库里,这样Python就可以实现GUI的开发功能。而Python中的这个接口,就是Tkinter。

    你是不是会说“怎么能这样!”, 其实呢,这个也很正常啊,好东西,要大家一起分享嘛!不仅Python里是这么直接调用Tk库,Perl、Haskell里面的GUI库也是这个Tcl/Tk。

    Tkinter值得学吗?

    了解了上面这段Tcl、Tk和Tkinter的历史,我们再来谈谈这些是否值得学习。

    其实,任何技术的选择与否,都是看这种技术的特点是否适合你的需求场景。对于Tkinter来说,它的特点大致是这么几个:

    1. Python标准库里缺省自带

    这个Tkinter可以说,就相当于Python事实上的标准GUI库。有啥好处呢?有Python的地方就有Tkinter,不用另外找第三方库单独安装,从而避免一堆兼容、版本等等的问题,这个对于初学者就比较友好。

    2. Tkinter的API比较稳定

    十几年前开发的工具,现在基本还能运行。Tcl/Tk从1990年代中后期,更新就非常慢了(基本就没变化),Tcl/Tk8.5版本一直用,直到2012年才憋出个8.6版本。更新慢也有好处,写的程序不会过几年就不好用了。

    3. Tkinter就是个单纯的GUI库

    Tkinter就是个单纯的GUI库,没有其他东西,真正要实现什么功能,都是依赖Python其他的库。不像PyQT、wxPython这些大而全的框架,什么都要自己弄一套。

    4. 简洁

    这个特点可以是优点:适合入门、小型应用的开发,但是也导致Tkinter的两大问题,一个是界面相对简陋,虽然现在Tk8.6有所进步,但是比起其他框架还是有不少差距;另一个是提供的控件都是比较基础的,稍微复杂一些的,比如HTML显示组件就要另外想办法。

    这么看,Tkinter适合什么场合下学习和使用呢?

    如果你是初入门的Python程序员,对Python的基本语法已经有所了解,想做点小应用实践实践,那么推荐你可以学习Tkinter。

    因为如果一直开发命令行应用,很多时候不直观,成就感比较低,不能促进进一步学习的兴趣。

    而如果这个时候,直接上手开发Web应用,还需要了解一堆html、css、js等前端的东西,比较麻烦,而且就算开发出来也就本机跑跑,真要部署到网络上还有域名、服务器一系列的问题。

    而学了Tkinter后,马上可以做一点小应用,比如本地文件管理小工具、看图片的应用、解压小应用……这些小应用的开发,实际上主要是对Python处理这些问题方法和库的了解,Tkinter只是封装一个UI。也就是说你其实是在进一步学习Python。当然,你也可以不断优化这些小工具,当成自己的定制化工具,甚至可以分享给朋友用用,乐趣无穷。

    5. 对于有一定基础的Python程序员,什么时候适合学下Tkinter呢?

    需要写一些小工具的时候,本身是Python程序员,难免工作中需要一些桌面工具,解决些小问题,学习Tkinter绝对是投入少、产出高的选择。比如笔者以前同事做测试,一些配置工作很麻烦,且很易出错,这个时候用tkinter写个配置小工具,就方便很多。

    另一个是可以用Tkinter写一些应用原型。很多时候,一个应用的需求还不是很明确,可以用Tkinter先快速写一个,拿出来大家讨论,进一步明确需求。等真正需求明确了,再根据需求选择技术方案。

    总结如下:

    Tkinter的特点,比较适合初学者学习Python、Python程序员开发一些小工具、Python程序员做原型应用。

    而如果你的目标是开发商用的桌面应用程序的话,那Tkinter可能不适用,建议还是使用PyQT或者直接使用其他语言。

    如有疑问,欢迎在评论区一起讨论!

    如有不正确的地方,欢迎指导!

    展开全文
  • 来看一下有哪些一定要学的Python标准有哪些建议学的Python第三方(第三方框架)。这些标准和第三方一定会成为你学习Python路上的得力助手! 必学标准 什么是标准?就是Python语言自带的一些函数。...

    Python正在成为时下最好最热门的数据挖掘、数据分析的编程语言。Python的的标准库又是Python学习中的重中之重。来看一下有哪些一定要学的Python标准库,有哪些建议学的Python第三方库(第三方框架)。这些标准库和第三方库一定会成为你学习Python路上的得力助手!

    必学标准库

    什么是标准库?就是Python语言自带的一些函数库。装好Python环境就能直接用的库。

    1. itertools: itertools提供了Python中操作迭代对象的绝佳函数,官方网站为http://docs.python.org/2/library/itertools.html,强烈推荐!!!
    2. functools: functools提供了Python中操作的工具函数,官方网站为http://docs.python.org/2/library/functools.html,强烈推荐!!!学好python绝对有必要掌握上面这两个库。
    3. re: 正则表达式的库,对于需要接触正则匹配的人来说必备。
    4. subprocess: 进程库,官方网站为http://docs.python.org/2/library/subprocess.html,可以用它很方便地调用shell命令。
    5. pdb: 用来调试。
    6. traceback: 调试。
    7. pprint: 可以用它打印出漂亮的输出。
    8. logging: 日志库。
    9. threading和multiprocessing: 多线程库,虽然Python由于GIL的原因,多线程不能发挥很好的作用,但是这两个库对于并发编程人员来说也是必不可少的。
    10. urllib/urllib2/httplib: http库,httplib底层一点,推荐第三方的库requests。这几个库是徒手写爬虫的人员必备的。
    11. os/sys: 系统,环境相关的库。可以用它来获取一些系统相关的变量和操作做。
    12. Queue: 队列,有了它就不需要自己徒手实现队列功能了。
    13. pickle/cPickle: 序列化工具。
    14. hashlib: md5, sha等hash算法。
    15. cvs: 这个不用说了,操作csv文件的。
    16. json/simplejson: python的json库,据so上的讨论和benchmark,simplejson的性能要高于json。
    17. timeit: 计算代码运行的时间等等。
    18. cProfile: python性能测量模块。
    19. glob: 类似于listfile,可以用来查找文件。
    20. atexit: 有一个注册函数,可用于正好在脚本退出运行前执行一些代码。
    21. dis: python 反汇编,当对某条语句不理解原理时,可以用dis.dis 函数来查看代码对应的python 解释器指令等等。

    学好上面这些标准库,就已经可以说掌握Python了。那有哪些第三方库可以丰富我们日常Python编程场景的库呢?

    必学第三方库

    • paramiko: python的ssh库,官方网站为https://github.com/paramiko/paramiko。
    • selenium: 浏览器自动化测试工具selenium的python接口,是自动化测试人员必学的第三方库,也是Python爬虫人员必学的库,官方网站为https://pypi.python.org/pypi/selenium。
    • lxml: python 解析html,xml 的神器,官方网站为http://lxml.de/。
    • mechanize: Stateful programmatic web browsing,官方网站为https://pypi.python.org/pypi/mechanize/。
    • pycurl: python环境下的curl。cURL library module for Python,官方网站为https://pypi.python.org/pypi/pycurl。
    • Fabric: Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.官方网站为http://docs.fabfile.org/en/1.8/。
    • xmltodict: xml 转 dict,真心好用。官方网站为https://github.com/martinblech/xmltodict。
    • urllib3 和 requests: 当然其实requests就够了 Requests: HTTP for Humans。
    • flask: python web 微框架http://flask.pocoo.org/。
    • ipdb: 调试神器,同时推荐ipython!结合ipython使用。
    • redis: redis python接口。这个自然不必说了,web编程人员必备。
    • pymongo: mongodbpython接口。这个自然不必说了,web编程人员必备。
    • PIL: python图像处理,官方网站为http://www.pythonware.com/products/pil/。
    • mako: python模版引擎,官方网站为http://www.makotemplates.org/
    • numpy, scipy: 科学计算库,人工智能/机器学习/数据挖掘人员必备。
    • matplotlib: 画图的库,科研人员必备,写论文作图的好帮手!
    • scrapy: python最流行的爬虫框架!
    • django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服务器。
    • sh: 1.08 — sh v1.08 documentation 用来运行shell 模块的 极佳选择。

    上面这些标准库和第三方库都学会的话,可以去面试任何一家公司的职位了!

     

    喜欢的可以关注W·X订阅号

    展开全文
  • Python进行GUI开发的库其实很多,下面我简单介绍几个不错的库,感兴趣的朋友可以自己尝试一下,实验环境win10+python3.6+...这个就不用多说了,python自带的GUI开发标准库,对于开发小型简单的应用来说,完全可...

    转自:https://www.wukong.com/answer/6662261098151936260/

     

    Python进行GUI开发的库其实很多,下面我简单介绍几个不错的库,感兴趣的朋友可以自己尝试一下,实验环境win10+python3.6+pycharm5.0,主要内容如下:

    tkinter

    这个就不用多说了,python自带的GUI开发标准库,对于开发小型简单的应用来说,完全可以了,开源、跨平台,使用起来非常方便,下面我简单测试一下,主要代码如下:

    点击运行程序,效果如下,一个窗口一个Label标签:

    easygui

    这个是基于tkinter的一个窗口GUI库,可以快速创建窗口对话框,包括常见的登陆对话框、注册对话框等,下面我简单介绍一下这个库的安装和使用:

    1.首先,安装easygui,这个直接在cmd窗口输入安装命令“pip install easygui”就行,如下:

    2.安装完成后,我们就可以直接编写代码进行测试了,主要代码如下,非常简单:

    点击运行这个程序,效果如下:

    kivy

    这是一个跨平台的GUI应用程序开发库,可以用来开发安卓、苹果应用,一套程序,可以处处运行,下面我简单介绍一下这个库的安装和使用:

    1.首先,安装kivy,这个直接按官方教程安装就行,如下:

    2.安装完成后,就可以直接编写代码进行测试了,主要代码如下,非常简单:

    点击运行程序,效果如下,这里你可以将其打包为手机应用,安装到手机上:

    wxpython

    这也是一个免费、跨平台的Python GUI开发库,相比较前面的tkinter来说,功能更为强大,控件也更多,下面我简单介绍一下这个库的安装和使用:

    1.首先,安装wxpython,这个也直接在cmd窗口输入命令“pip install wxpython”就行,如下:

    2.安装完成后,我们就可以直接编写相关代码进行测试了,主要代码如下,非常简单,一个简单的文本编辑器:

    点击运行这个程序,效果如下:

    pyqt

    这个Qt的一个Python接口库,借助于Qt强大的用户界面,Python也可以快速开发出GUI程序,组件更多,也更方便,只要你有一定的Qt基础,很快就能掌握这个库的使用,下面我简单介绍一下这个库的安装和使用:

    1.首先,安装pyqt,这个直接在cmd窗口输入安装命令“pip install pyqt5”就行,如下,安装需要稍微等待一会儿:

    2.安装完成后,我们就可以直接编写代码进行测试了,如下,一个简单的计算器:

    点击运行这个程序,效果如下:

    至此,我们就介绍完了这5个Python GUI库。总的来说,这5个库使用起来都非常不错,如果你的应用界面比较简单,功能要求不高,可以选择tkinter和easygui,如果界面比较复杂,功能要求比较复杂,可以考虑使用wxpython或pyqt,当然,你也可以使用其他GUI库,像pygame等,根据实际项目需求而定,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

    展开全文
  • 在python开发(http://www.maiziedu.com/course/python-px/)中,我们一般通过get、post方式发送http请求,可是最近在使用python做接口测试,发现python中http请求方法...一、python自带库----urllib2 python自带
    在python开发(http://www.maiziedu.com/course/python-px/)中,我们一般通过get、post方式发送http请求,可是最近在使用python做接口测试,发现python中http请求方法有许多种,作者整理了一番,把python中http请求方法都总结了出来,分享给大家,具体内容如下所示:
    一、python自带库----urllib2
    python自带库urllib2使用的比较多,简单使用如下:
    import urllib2
    response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true')
    print response.read() 
    简单的get请求
    import urllib2
    import urllib
    post_data = urllib.urlencode({})
    response = urllib2.urlopen('http://localhost:8080/, post_data)
    print response.read()
    print response.getheaders() 
    这就是最简单的urllib2发送post例子。代码比较多
    二、python自带库--httplib
    httplib是一个相对底层的http请求模块,urlib就是基于httplib封装的。简单使用如下:
    import httplib
    conn = httplib.HTTPConnection("www.python.org")
    conn.request("GET", "/index.html")
    r1 = conn.getresponse()
    print r1.status, r1.reason
    data1 = r1.read()
    conn.request("GET", "/parrot.spam")
    r2 = conn.getresponse()
    data2 = r2.read()
    conn.close()
    简单的get请求
    我们再来看post请求
    import httplib, urllib
    params = urllib.urlencode({'@number': 12524, '@type': 'issue', '@action': 'show'})
    headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
    conn = httplib.HTTPConnection("bugs.python.org")
    conn.request("POST", "", params, headers)
    response = conn.getresponse()
    data = response.read()
    print data
    conn.close()
    是不是觉得太复杂了。每次写还得再翻文档,看看第三种吧
    三、第三方库--requests
    发请get请求超级简单:
    print requests.get('http://localhost:8080).text
    就一句话,再来看看post请求
    payload = {'key1': 'value1', 'key2': 'value2'}
    r = requests.post("http://httpbin.org/post", data=payload)
    print r.text
    也很简单。
    再看看如果要认证:
    url = 'http://localhost:8080'
    r = requests.post(url, data={}, auth=HTTPBasicAuth('admin', 'admin'))
    print r.status_code
    print r.headers
    print r.reason
    是不是比urllib2更简单多了吧,且requests自带json解析。这点非常棒
    python中的http请求 
    import urllib
    params = urllib.urlencode({key:value,key:value})
    resultHtml = urllib.urlopen('[API or 网址]',params)
    result = resultHtml.read()
    print result
    展开全文
  • 一个轻量级的跨平台图形用户界面(GUI)开发工具,是Python自带的官方标准,安装Python 之后直接导入就可以使用, 我们常见的python IDLE就是使用TKinter实现。 它最大的特点就是上手简单, 做个简单的小工具基本...
  • 一个轻量级的跨平台图形用户界面(GUI)开发工具,是Python自带的官方标准,安装Python 之后直接导入就可以使用, 我们常见的python IDLE就是使用TKinter实现。 它最大的特点就是上手简单, 做个简单的小工具...
  • pythonide】python什么IDE比较好用?最好比较小巧的用过1)VIM2)IDLE3)Eclipse+...我目前主要是在windows下用,想找一个代码提示的IDE,因为初学很多或者类成员都不熟,如果IDE代码提示就好办很多自带的IDLE就...
  • 好程序员Python培训分享四...但是Python有太多了,究竟哪些是让人相见恨晚呢?  1、Bottle  Bottle是一个Python Web框架,整个框架只有一个文件,几十K,虽是小型轻量网络开发框架,却自带了路径映射、模板、简
  • python爬虫——requests使用代理

    万次阅读 多人点赞 2020-01-14 11:27:40
    需要大家会些基础的知识: python ... 首先,让我们看看这篇文章中有哪些...先来看下文档,看看requests的介绍,用python自带的help命令 import requests help(requests) output: Help on package requests: NAME ...
  • 你知道python数据可视化工具有哪些吗? 下面来总结一下常用的python可视化以及教程链接,请复制链接到浏览器打开。(注意官网教程多为英文,建议英语不佳同学安装自带翻译浏览器查看) NO.1// ...
  • 查看自己Ubuntu16.04中的python都装了哪些版本 ...血泪教训,一定不要擅自删除Ubuntu自带的python版本,否则系统会崩溃,切记! 当下载了不同的代码,比如opencv的时候,可能会面临切换python版本的问...
  • 标准库是python解释器自带的库,是最基础的库。 掌握它是项目程序的开始。 https://www.zhihu.com/question/20501628 Python 常用的标准库以及第三方库有哪些? https://zhuanlan.zhihu.c...
  • 一个类有哪些方法,哪些属性,位于哪个包下,都列清清楚楚,很有结构性 而Python的就不一样了 比如我想找pickle模块功能,怎么用,就找不到。还有假定我不知道该用哪个模块时候,更加无从找起。。(JAVA...
  • 我们在搭建Python Web环境之前绝大数得人是用PHP来做Web服务器环境,但是现在有的项目中...Boost.Python自带的代码生成器是Pyste的Python嵌入c中时应该链接的库有哪些Python脚本与C++程序互相调用的实际操作Python标准
  • python爬虫

    2020-01-16 21:08:34
    在看这篇文章之前,需要大家掌握的知识技能: python基础 ...让我们看看这篇文章中有哪些知识点: get方法 post方法 header参数,模拟用户 ...先来看下帮助文档,看看requests的介绍,用python自带的help命令 imp...
  • python 爬虫】Python爬虫技术分享

    千次阅读 2017-07-03 17:14:08
    1、什么是“爬虫”?...但实际操作,老麻烦了~2、用Python写“爬虫”有哪些方便的库常用网络请求库: requests、urllib、urllib2、urllib和urllib2是Python自带模块,requests是第三方库常用解析库和爬虫框架: Be
  • python如何调用java类

    2021-01-19 23:53:26
    由于 python 本身为脚本语言,且经常存在调用第三方库的情况,有的时候用 java 调用 python 不如用 python 调用 java 方便。下面就整理一下在 python 调用 java 过程中需要哪些操作。(默认是 linux Ubuntu 上调...
  • python自带的标准中找到ftplib模块,可以帮助实现文件的上传。 场景功能的实现需要做到以下几点: 给定本地路径,上传范围是否包含子文件夹及其文件 限定或不限定 哪些文件类型的文件,文件名包含哪些字符串的...
  • Python之FtpLib模块应用

    千次阅读 2019-03-28 22:54:36
    python自带的标准中找到ftplib模块,可以帮助实现文件的上传。 场景功能的实现需要做到以下几点: 给定本地路径,上传范围是否包含子文件夹及其文件 限定或不限定 哪些文件类型的文件,文件名包含哪些...
  • python调用java完整教程

    万次阅读 2018-10-11 21:35:00
    由于 python 本身为脚本语言,且经常存在调用第三方库的情况,有的时候用 java 调用 python 不如用 python 调用 java 方便。下面就整理一下在 python 调用 java 过程中需要哪些操作。(默认是 linux Ubuntu 上调...
  • deepin_install python3.6

    千次阅读 2018-02-07 11:44:11
    1、系统自带的Python2,不建议把默认Python版本改为Python3,毕竟很多软件用的Python2,要是把默认的换成Python3会很多奇怪的问题。但是你可以手动安装Python3,然后用python3命令启动。打开终端,输入下面的安装...
  • python之发送邮件

    2019-02-19 15:51:00
    python有自带的库smtplib,可以发送邮件,但是我们学习更简单的第三方库yagmail,进行发送邮件。 首先,思考下,发送邮件需要哪些信息?可以帮助我们理解代码 1.发送者邮箱账号,授权码密码 2.邮箱服务器(smtp....
  • python_logging模块

    2018-09-05 22:35:00
    Python标准库自带日志模块,程序日志功能直接调用标准库的日志模块即可通过日志,开发者可以清楚地了解发生了哪些事件,包括出现了哪些错误。 logging.level(message) --->> 创建一条level级别日志 ...
  • 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如问题请及时联系我们以作处理 如何使用python去实现一个爬虫?...python 自带的标准 import ssl.
  • python中一切皆对象,这使得...python自带的inspect模块便提供了将对象的各个成员总结出来并具有良好可读性的功能。 1.挑战python自省反射的原住民 不使用模块inspect,仅使用内置函数,也能实现自省和反射的功能...
  • python自带的有OS,我们可以通过os模块进行帮助我们解决这些问题 OS模块 osPython标准,包含几百个函数,常用的有路径操作、进程管理、环境参数等 os.path os.path主要对文件路径进行操作,具体有哪些操作?...
  • 什么是“爬虫”? 简单来说,写一个从web上获取需要数据并按规定格式存储的程序就叫爬虫...用Python写“爬虫”有哪些方便的库 常用网络请求库:requests、urllib、urllib2、 urllib和urllib2是Python自带模块,requ...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

python自带的库有哪些

python 订阅