python3_python3- - CSDN
  • 总课时80+,提供源码和相关资料
  • Python3开发详解

    2019-12-18 15:09:51
    Python3 开发详解,课程从基础的环境搭建讲起,详细讲述了Python开发的方方面面,内容包括:编程基础、函数、数据结构、异常处理、字符串、数字、网络编程、多线程、数据库处理等。
  • Python3使用入门精解

    2019-04-15 17:51:46
    从计算机语言角度介绍Python3的各种数据类型,以及相关的数据结构 以实例展示各种python3 的指令用法,以及函数、类、模块等的使用
  • 本课程搜集了各大互联网公司的Python面试...所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则表达式、字符串、数据库、网络、Web等。算法包括了一些出镜率高的内容、如与链表、树、数组相关的算法。
  • 随着深度学习库tensorflow等对python3的完全支持,python3正在替代机器学习和大数据的python2地位,事实也已经如此,大部分机器学习和大数据项目正在使用python3。本课程通过对python3.x深入浅出的讲解,以实战上机...
  • 1. Python3 对 Unicode 字符的原生支持。 Python2 中使用 ASCII 码作为默认编码方式导致 string 有两种类型 str 和 unicode,Python3 只 支持 unicode 的 string。Python2 和 Python3 字节和字符对应关系为: 2. ...

    一、核心类差异
    1. Python3 对 Unicode 字符的原生支持。
    Python2 中使用 ASCII 码作为默认编码方式导致 string 有两种类型 str 和 unicode,Python3 只
    支持 unicode 的 string。Python2 和 Python3 字节和字符对应关系为:
    2. Python3 采用的是绝对路径的方式进行 import
    Python2 中相对路径的 import 会导致标准库导入变得困难(想象一下,同一目录下有 file.py,如
    何同时导入这个文件和标准库 file)。Python3 中这一点将被修改,如果还需要导入同一目录的文件必
    须使用绝对路径,否则只能使用相关导入的方式来进行导入。
    3. Python2 中存在老式类和新式类的区别,Python3 统一采用新式类。新式类声明要求继承 object,
    必须用新式类应用多重继承。
    4. Python3 使用更加严格的缩进。Python2 的缩进机制中,1 个 tab 和 8 个 space 是等价的,所
    以在缩进中可以同时允许 tab 和 space 在代码中共存。这种等价机制会导致部分 IDE 使用存在问题。
    Python3 中 1 个 tab 只能找另外一个 tab 替代,因此 tab 和 space 共存会导致报错:TabError:
    inconsistent use of tabs and spaces in indentation.


    二、废弃类差异
    1. print 语句被 Python3 废弃,统一使用 print 函数
    2. exec 语句被 python3 废弃,统一使用 exec 函数
    3. execfile 语句被 Python3 废弃,推荐使用 exec(open("./filename").read())
    4. 不相等操作符"<>"被 Python3 废弃,统一使用"!="
    5. long 整数类型被 Python3 废弃,统一使用 int
    6. xrange 函数被 Python3 废弃,统一使用 range,Python3 中 range 的机制也进行修改并提高
    了大数据集生成效率
    7. Python3 中这些方法再不再返回 list 对象:dictionary 关联的 keys()、values()、items(),zip(),
    map(),filter(),但是可以通过 list 强行转换:
    1. mydict={"a":1,"b":2,"c":3}
    2. mydict.keys() #<built-in method keys of dict object at 0x000000000040B4C8>
    3. list(mydict.keys()) #['a', 'c', 'b']
    8. 迭代器 iterator 的 next()函数被 Python3 废弃,统一使用 next(iterator)
    9. raw_input 函数被 Python3 废弃,统一使用 input 函数
    10. 字典变量的 has_key 函数被 Python 废弃,统一使用 in 关键词
    11. file 函数被 Python3 废弃,统一使用 open 来处理文件,可以通过 io.IOBase 检查文件类型
    12. apply 函数被 Python3 废弃
    13. 异常 StandardError 被 Python3 废弃,统一使用 Exception


    三 、修改类差异
    1. 浮点数除法操作符“/”和“//”的区别
    “ / ”:
    Python2:若为两个整形数进行运算,结果为整形,但若两个数中有一个为浮点数,则结果为
    浮点数;
    Python3:为真除法,运算结果不再根据参加运算的数的类型。
    “//”:
    Python2:返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。
    Python3:和 Python2 运算结果一样。
    2. 异常抛出和捕捉机制区别
    Python2
    1. raise IOError, "file error" #抛出异常
    2. except NameError, err: #捕捉异常
    Python3
    1. raise IOError("file error") #抛出异常
    2. except NameError as err: #捕捉异常
    3. for 循环中变量值区别
    Python2,for 循环会修改外部相同名称变量的值
    1. i = 1
    2. print ('comprehension: ', [i for i in range(5)])
    3. print ('after: i =', i ) #i=4
    Python3,for 循环不会修改外部相同名称变量的值
    1. i = 1
    2. print ('comprehension: ', [i for i in range(5)])
    3. print ('after: i =', i ) #i=1
    4. round 函数返回值区别
    Python2,round 函数返回 float 类型值
    1. isinstance(round(15.5),int) #True
    Python3,round 函数返回 int 类型值
    1. isinstance(round(15.5),float) #True
    5. 比较操作符区别
    Python2 中任意两个对象都可以比较
    1. 11 < 'test' #True
    Python3 中只有同一数据类型的对象可以比较
    1. 11 < 'test' # TypeError: unorderable types: int() < str()


    四、第三方工具包差异
    我们在 pip 官方下载源 pypi 搜索 Python2.7 和 Python3.5 的第三方工具包数可以发现,Python2.7
    版本对应的第三方工具类目数量是 28523,Python3.5 版本的数量是 12457,这两个版本在第三方工具
    包支持数量差距相当大。
    我们从数据分析的应用角度列举了常见实用的第三方工具包(如下表),并分析这些工具包在
    Python2.7 和 Python3.5 的支持情况


     

    五、工具安装问题
    windows 环境
    Python2 无法安装 mysqlclient。Python3 无法安装 MySQL-python、 flup、functools32、
    Gooey、Pywin32、 webencodings。
    matplotlib 在 python3 环境中安装报错:The following required packages can not be
    built:freetype, png。需要手动下载安装源码包安装解决。
    scipy 在 Python3 环境中安装报错,numpy.distutils.system_info.NotFoundError,需要自己手
    工下载对应的安装包,依赖 numpy,pandas 必须严格根据 python 版本、操作系统、64 位与否。运行
    matplotlib 后发现基础包 numpy+mkl 安装失败,需要自己下载,国内暂无下载源
    centos 环境下
    Python2 无法安装 mysql-python 和 mysqlclient 包,报错:EnvironmentError: mysql_config not
    found,解决方案是安装 mysql-devel 包解决。使用 matplotlib 报错:no module named _tkinter,
    安装 Tkinter、tk-devel、tc-devel 解决。
    pywin32 也无法在 centos 环境下安装。
    六、切换
    电脑共存python2和pyhthon3,把安装目录下的python.exe文件改python2.exe和python3.exe,这样在调用的之后直接输入对应版本的就可。

     

     

     

    版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/pangzhaowen/article/details/80299631

    展开全文
  • python 2和3版本的区别

    2018-10-09 17:13:20
    虽然已经有很多网站都在讨论python 2和3版本的区别 [[1]](#ref1) [[2]](#ref2) [[3]](#ref3) [[4]](#ref4),但是我觉得还是不够全面,不够原汁原味。所以,这里打算通过探索,了解一下python2和3的区别。

    前言

    虽然已经有很多网站都在讨论python 2和3版本的区别 [1] [2] [3] [4],但是我觉得还是不够全面,不够原汁原味。所以,这里打算通过探索,了解一下python2和3的区别。

    1 python 总共有多少版本

    根据 https://www.python.org/download/releases/ :

    Python 3.5.6 2018-08-02  Download Release Notes
    Python 3.4.9 2018-08-02  Download Release Notes
    Python 3.7.0 2018-06-27  Download Release Notes
    Python 3.6.6 2018-06-27  Download Release Notes
    Python 2.7.15 2018-05-01  Download Release Notes
    Python 3.6.5 2018-03-28  Download Release Notes
    Python 3.4.8 2018-02-05  Download Release Notes
    Python 3.5.5 2018-02-05  Download Release Notes
    Python 3.6.4 2017-12-19  Download Release Notes
    Python 3.6.3 2017-10-03  Download Release Notes
    Python 3.3.7 2017-09-19  Download Release Notes
    Python 2.7.14 2017-09-16  Download Release Notes
    Python 3.4.7 2017-08-09  Download Release Notes
    Python 3.5.4 2017-08-08  Download Release Notes
    Python 3.6.2 2017-07-17  Download Release Notes
    Python 3.6.1 2017-03-21  Download Release Notes
    Python 3.4.6 2017-01-17  Download Release Notes
    Python 3.5.3 2017-01-17  Download Release Notes
    Python 3.6.0 2016-12-23  Download Release Notes
    Python 2.7.13 2016-12-17  Download Release Notes
    Python 3.4.5 2016-06-27  Download Release Notes
    Python 3.5.2 2016-06-27  Download Release Notes
    Python 2.7.12 2016-06-25  Download Release Notes
    Python 3.4.4 2015-12-21  Download Release Notes
    Python 3.5.1 2015-12-07  Download Release Notes
    Python 2.7.11 2015-12-05  Download Release Notes
    Python 3.5.0 2015-09-13  Download Release Notes
    Python 2.7.10 2015-05-23  Download Release Notes
    Python 3.4.3 2015-02-25  Download Release Notes
    Python 2.7.9 2014-12-10  Download Release Notes
    Python 3.4.2 2014-10-13  Download Release Notes
    Python 3.3.6 2014-10-12  Download Release Notes
    Python 3.2.6 2014-10-12  Download Release Notes
    Python 2.7.8 2014-07-02  Download Release Notes
    Python 2.7.7 2014-06-01  Download Release Notes
    Python 3.4.1 2014-05-19  Download Release Notes
    Python 3.4.0 2014-03-17  Download Release Notes
    Python 3.3.5 2014-03-09  Download Release Notes
    Python 3.3.4 2014-02-09  Download Release Notes
    Python 3.3.3 2013-11-17  Download Release Notes
    Python 2.7.6 2013-11-10  Download Release Notes
    Python 2.6.9 2013-10-29  Download Release Notes
    Python 3.3.2 2013-05-15  Download Release Notes
    Python 3.2.5 2013-05-15  Download Release Notes
    Python 2.7.5 2013-05-12  Download Release Notes
    Python 3.2.4 2013-04-06  Download Release Notes
    Python 2.7.4 2013-04-06  Download Release Notes
    Python 3.3.1 2013-04-06  Download Release Notes
    Python 3.3.0 2012-09-29  Download Release Notes
    Python 3.2.3 2012-04-10  Download Release Notes
    Python 2.6.8 2012-04-10  Download Release Notes
    Python 2.7.3 2012-04-09  Download Release Notes
    Python 3.1.5 2012-04-09  Download Release Notes
    Python 3.2.2 2011-09-03  Download Release Notes
    Python 3.2.1 2011-07-09  Download Release Notes
    Python 2.7.2 2011-06-11  Download Release Notes
    Python 3.1.4 2011-06-11  Download Release Notes
    Python 2.6.7 2011-06-03  Download Release Notes
    Python 2.5.6 2011-05-26  Download Release Notes
    Python 3.2.0 2011-02-20  Download Release Notes
    Python 3.1.3 2010-11-27  Download Release Notes
    Python 2.7.1 2010-11-27  Download Release Notes
    Python 2.6.6 2010-08-24  Download Release Notes
    Python 2.7.0 2010-07-03  Download Release Notes
    Python 3.1.2 2010-03-20  Download Release Notes
    Python 2.6.5 2010-03-18  Download Release Notes
    Python 2.5.5 2010-01-31  Download Release Notes
    Python 2.6.4 2009-10-26  Download Release Notes
    Python 2.6.3 2009-10-02  Download Release Notes
    Python 3.1.1 2009-08-17  Download Release Notes
    Python 3.1.0 2009-06-26  Download Release Notes
    Python 2.6.2 2009-04-14  Download Release Notes
    Python 3.0.1 2009-02-13  Download Release Notes
    Python 2.5.4 2008-12-23  Download Release Notes
    Python 2.5.3 2008-12-19  Download Release Notes
    Python 2.4.6 2008-12-19  Download Release Notes
    Python 2.6.1 2008-12-04  Download Release Notes
    Python 3.0.0 2008-12-03  Download Release Notes
    Python 2.6.0 2008-10-02  Download Release Notes
    Python 2.4.5 2008-03-11  Download Release Notes
    Python 2.3.7 2008-03-11  Download Release Notes
    Python 2.5.2 2008-02-21  Download Release Notes
    Python 2.5.1 2007-04-19  Download Release Notes
    Python 2.3.6 2006-11-01  Download Release Notes
    Python 2.4.4 2006-10-18  Download Release Notes
    Python 2.5.0 2006-09-19  Download Release Notes
    Python 2.4.3 2006-04-15  Download Release Notes
    Python 2.4.2 2005-09-27  Download Release Notes
    Python 2.4.1 2005-03-30  Download Release Notes
    Python 2.3.5 2005-02-08  Download Release Notes
    Python 2.4.0 2004-11-30  Download Release Notes
    Python 2.3.4 2004-05-27  Download Release Notes
    Python 2.3.3 2003-12-19  Download Release Notes
    Python 2.3.2 2003-10-03  Download Release Notes
    Python 2.3.1 2003-09-23  Download Release Notes
    Python 2.3.0 2003-07-29  Download Release Notes
    Python 2.2.3 2003-05-30  Download Release Notes
    Python 2.2.2 2002-10-14  Download Release Notes
    Python 2.2.1 2002-04-10  Download Release Notes
    Python 2.1.3 2002-04-09  Download Release Notes
    Python 2.2.0 2001-12-21  Download Release Notes
    Python 2.0.1 2001-06-22  Download Release Notes
    

    可以看到各个版本是交叉时间开发的,上面是根据时间线来排序的,很详细。

    还有更旧的版本,根据 https://www.python.org/download/releases/

    Python 1.6.1 (September 2000)
    Python 1.5.2 (April 1999)
    Older source releases
    Python 1.5 binaries
    Python 1.4 binaries
    Python 1.3 binaries
    Python 1.2 binaries
    Python 1.1 binaries
    

    补充知识:Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

    2 python2.x即将退休(retire)

    根据 https://pythonclock.org/ , python 2.7版本在2020年1月1日之后就不会再被维护。

    What’s all this, then?


    Python 2.7 will not be maintained past 2020. Originally, there was no official date. Recently, that date has been updated to January 1, 2020. This clock has been updated accordingly. My original idea was to throw a Python 2 Celebration of Life party at PyCon 2020, to celebrate everything Python 2 did for us. That idea still stands. (If this sounds interesting to you, email pythonclockorg@gmail.com).


    Python 2, thank you for your years of faithful service.


    Python 3, your time is now.


    How do I get started?


    If the code you care about is still on Python 2, that’s totally understandable. Most of PyPI’s popular packages now work on Python 2 and 3, and more are being added every day. Additionally, a number of critical Python projects have pledged to stop supporting Python 2 soon. To ease the transition, the official porting guide has advice for running Python 2 code in Python 3.

    感觉开发python的人实在太强。很酷。

    而且,从这个网页的语气来看,以后python2版本肯定是被放弃维护的,建议将现在的python2 程序转换成 python 3,还给出了如何转换的指导(official porting guide):https://docs.python.org/3/howto/pyporting.html
    这个网页讲了很多知识,包括python2和3的区别,这里就先不细看了。

    python 2 v.s. python 3

    根据 https://learntocodewith.me/programming/python/python-2-vs-python-3/ ,这篇文章写得很好,值得一看,这里介绍一下里面的主要内容:

    1)Python 3 取胜:

    Now, in 2018, it’s more of a no-brainer: Python 3 is the clear winner for new learners or those wanting to update tudemheir skills. Here, we’ll cover why Python 3 is better, and why companies have been moving from Python 2 to 3 en masse.

    2)python2和3发展历史:

    Python 2.0 was first released in 2000. Its latest version, 2.7, was released in 2010.
    Python 3.0 was released in 2008. Its newest version, 3.6, was released in 2016, and version 3.7 is currently in development.
    Although Python 2.7 is still widely used, Python 3 adoption is growing quickly. In 2016, 71.9% of projects used Python 2.7, but by 2017, it had fallen to 63.7%. This signals that the programming community is turning to Python 3–albeit gradually–when developing real-world applications.
    Notably, on January 1, 2018, Python 2.7 will “retire” and no longer be maintained. (The clock is literally ticking!)

    这个时间线很有意思。

    3)python2和3的主要区别:

    1. PYTHON 2 IS LEGACY, PYTHON 3 IS THE FUTURE. 因为python2即将被放弃维护。所以python2即将成为过去式(legacy)是显而易见的。
    2. PYTHON 2 AND PYTHON 3 HAVE DIFFERENT (SOMETIMES INCOMPATIBLE) LIBRARIES
      二者支持的库不一样,而且转换起来也比较麻烦(complicated)
    3. THERE IS BETTER UNICODE SUPPORT IN PYTHON 3
      In Python 3, text strings are Unicode by default. In Python 2, strings are stored as ASCII by default–you have to add a “u” if you want to store strings as Unicode in Python 2.x.


      This is important because Unicode is more versatile than ASCII. Unicode strings can store foreign language letters, Roman letters and numerals, symbols, emojis, etc., offering you more choices.
    4. PYTHON 3 HAS IMPROVED INTEGER DIVISION:
      In Python 2, if you write a number without any digits after the decimal point, it rounds your calculation down to the nearest whole number.


      For example, if you’re trying to perform the calculation 5 divided by 2, and you type 5 / 2, the result will be 2 due to rounding. You would have to write it as 5.0 / 2.0 to get the exact answer of 2.5.


      However, in Python 3, the expression 5 / 2 will return the expected result of 2.5 without having to worry about adding those extra zeroes.


      This is one example of how Python 3 syntax can be more intuitive, making it easier for newcomers to learn Python programming.
    5. THE TWO VERSIONS HAVE DIFFERENT PRINT STATEMENT SYNTAXES
      This is only a syntactical difference–and some may consider it trivial–so it doesn’t affect the functionality of Python. That said, it is still a big and visible difference you should know about.


      Essentially, in Python 3, the print statement has been replaced with a print () function.

    4)为什么公司会选择从python2转到python3

    As mentioned earlier, most companies are still using Python 2 for legacy reasons, but more and more companies are using Python 3, or beginning to make the switch from 2 to 3.


    So, let’s look at Instagram and Facebook–two companies that have switched from Python 2 to 3 or are in the process of doing so–and why they chose to do so.

    重点介绍Instagram和Facebook。

    Instagram:

    Facebook:
    在这里插入图片描述

    5)该学python2还是3?
    作者推荐的是python3

    The simple answer? Learn the latest version (which at time of writing is Python 3.7.0).


    Some of the changes made in Python 3 have actually made it easier for beginners to understand, so it’s the best way to learn Python for the first time.

    6)什么时候会选择用python2?

    Here are some situations where you might need to know Python 2:


    If you want to become a DevOps engineer and work with configuration management tools like Fabric or Ansible, you might have to work with both Python 2 and 3 (because parts of these libraries don’t have full Python 3 support).
    If your company has legacy code written in Python 2, you’ll need to learn to work with that.
    If you have a project that depends on certain third-party software or libraries that can’t be ported to Python 3, you’ll have no choice but to use Python 2 for it.

    python2和3的详细区别

    这篇文章: https://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html 讲的非常详细,这里不细说了,具体可以看看这篇文章。

    具体有以下几个方面:

    • The future module
    • The print function
    • Integer division
    • Unicode
    • xrange
    • The contains method for range objects in Python 3
    • Note about the speed differences in Python 2 and 3
    • Raising exceptions
    • Handling exceptions
    • The next() function and .next() method
    • For-loop variables and the global namespace leak
    • Comparing unorderable types
    • Parsing user inputs via input()
    • Returning iterable objects instead of lists
    • Banker’s Rounding

    想了解更多细节,也可以参考:https://wiki.python.org/moin/Python2orPython3#What_are_the_differences.3F

    为什么python3比2好?

    具体参考[12] [13] [14]

    实在不想写了,太多了。

    具体我也没有太看明白,但是大多讨论的是unicode和print。还有的认为python 3 是一个新的开发语言。

    参考文献

    [1] Python2.x与3​​.x版本区别. http://www.runoob.com/python/python-2x-3x.html

    [2] python3和Python2的区别(被坑太久了). https://www.cnblogs.com/hanggegege/p/5840005.html

    [3] 官方推荐python3,为何还有人在用python2呢?差异总结. https://baijiahao.baidu.com/s?id=1591637336603862699&wfr=spider&for=pc

    [4] Python2 和 Python3 的主要区别. https://blog.csdn.net/t46414704152abc/article/details/79089451

    [5] Releases|Python. https://www.python.org/download/releases/

    [6] Looking for a specific release? https://www.python.org/downloads/

    [7] Python 2.7 will retire in… https://pythonclock.org/

    [8] Porting Python 2 Code to Python 3. https://docs.python.org/3/howto/pyporting.html

    [9] WHAT SHOULD I LEARN AS A BEGINNER: PYTHON 2 OR PYTHON 3? https://learntocodewith.me/programming/python/python-2-vs-python-3/

    [10] The key differences between Python 2.7.x and Python 3.x with examples. https://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html

    [11] Should I use Python 2 or Python 3 for my development activity? https://wiki.python.org/moin/Python2orPython3#What_are_the_differences.3F

    [12] EIL5: Why is Python 3 better than Python 2? https://www.reddit.com/r/Python/comments/3h19c6/eil5_why_is_python_3_better_than_python_2/

    [13] Should I use Python 2 or Python 3 for my development activity? https://wiki.python.org/moin/Python2orPython3

    [14] Why is Python 3 (or later) better than Python 2? https://stackoverflow.com/questions/3384361/why-is-python-3-or-later-better-than-python-2

    展开全文
  • 官方python3教程

    2020-07-30 23:33:28
    原生python3官方教程
  • python3 GUI

    2018-07-25 12:59:55
    python3 GUI 目录 用python3创建窗口并显示 修改窗口的名字 在窗口中加入标签 在窗口中加入按钮 使按钮有实际意义 添加可编辑文本框 用Tkinter实现一个简单的GUI程序,单击click按钮时会在终端打印出’hello ...

    python3 GUI

    目录

    用python3创建窗口并显示

    #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    
    import tkinter
    
    top=tkinter.Tk() 
    
    #进入消息循环体
    top.mainloop() 

    结果1:

    这里写图片描述

    修改窗口的名字

    #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    
    import tkinter
    
    top=tkinter.Tk(className='hello world') 
    
    #进入消息循环体
    top.mainloop()

    结果2:

    这里写图片描述

    在窗口中加入标签

    #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    
    import tkinter
    
    top=tkinter.Tk(className='hello world') 
    
    #加上标签
    label = tkinter.Label(top)  
    label['text'] = 'be on your own'  
    label.pack() 
    
    #进入消息循环体
    top.mainloop()

    结果3:

    这里写图片描述

    在窗口中加入按钮

    #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    
    import tkinter
    
    top=tkinter.Tk(className='hello world') 
    
    #加上标签
    label = tkinter.Label(top)  
    label['text'] = 'be on your own'  
    label.pack() 
    
    #加上按钮
    button = tkinter.Button(top)
    button['text'] = 'Ok'  
    button.pack()
    
    #进入消息循环体
    top.mainloop() 

    结果4:

    这里写图片描述

    使按钮有实际意义

    #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    
    import tkinter
    
    def on_click():  
        label['text'] = 'no way out'
    
    top=tkinter.Tk(className='hello world') 
    
    #加上标签
    label = tkinter.Label(top)  
    label['text'] = 'be on your own'  
    label.pack() 
    
    #加上按钮
    button = tkinter.Button(top)
    button['text'] = 'Ok'
    
    #添加按钮操作 
    button['command'] = on_click 
    button.pack()
    
    #进入消息循环体
    top.mainloop()

    结果5:

    这里写图片描述

    添加可编辑文本框

    #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    
    import tkinter
    
    def on_click():  
        label['text'] = 'no way out'
    
    top=tkinter.Tk(className='hello world') 
    
    #加上标签
    label = tkinter.Label(top)  
    label['text'] = 'be on your own'  
    label.pack() 
    
    #加上按钮
    button = tkinter.Button(top)
    button['text'] = 'Ok'
    #添加按钮操作 
    button['command'] = on_click 
    button.pack()
    
    #添加可编辑文本框
    text = tkinter.StringVar()  
    text.set('change to what?')  
    entry = tkinter.Entry(top) 
    entry['textvariable'] = text  
    entry.pack() 
    
    #进入消息循环体
    top.mainloop()

    结果6:

    这里写图片描述

    用Tkinter实现一个简单的GUI程序,单击click按钮时会在终端打印出’hello world’,方法一

    # #!/usr/bin/python3
    # #-*-coding: UTF-8 -*-
    
    import tkinter
    
    def on_click():
        print('hello world')
    
    top=tkinter.Tk(className='hello world') 
    #定义窗体的大小,是400X200像素 
    top.geometry('400x200')
    #加上按钮
    button = tkinter.Button(top)
    button['text'] = 'click'
    #添加按钮操作 
    button['command'] = on_click 
    button.pack()
    
    #进入消息循环体
    top.mainloop()
    

    结果七:

    这里写图片描述

    用Tkinter实现一个简单的GUI程序,单击click按钮时会在终端打印出’hello world’,方法二

    #!/usr/bin/python3
    #-*-coding: UTF-8 -*-
    from tkinter import *   #引入Tkinter工具包  
    def hello():  
        print('hello world!')  
    
    win = Tk()  #定义一个窗体  
    win.title('Hello World')    #定义窗体标题  
    win.geometry('400x200')     #定义窗体的大小,是400X200像素  
    
    btn = Button(win, text='Click me', command=hello)  
    #注意这个地方,不要写成hello(),如果是hello()的话,  
    #会在mainloop中调用hello函数,  
    # 而不是单击button按钮时出发事件  
    btn.pack(expand=YES, fill=BOTH) #将按钮pack,充满整个窗体(只有pack的组件实例才能显示)  
    
    mainloop() #进入主循环,程序运行 

    结果八:

    这里写图片描述

    添加2个按钮并改变按钮字体颜色

    #!/usr/bin/python3
    #-*-coding: UTF-8 -*-
    
    import tkinter
    
    class App:  
        def __init__(self, master):  
            #构造函数里传入一个父组件(master),创建一个Frame组件并显示  
            frame = tkinter.Frame(master)  
            frame.pack()  
            #创建两个button,并作为frame的一部分  
            self.button = tkinter.Button(frame, text="QUIT", fg="red", command=frame.quit)  
            self.button.pack(side=tkinter.LEFT) #此处side为LEFT表示将其放置 到frame剩余空间的最左方  
            self.hi_there = tkinter.Button(frame, text="Hello", command=self.say_hi)  
            self.hi_there.pack(side=tkinter.LEFT)  
    
        def say_hi(self):  
            print ("hi there, this is a class example!"  )
    
    win = tkinter.Tk()  
    app = App(win)  
    win.mainloop() 
    

    结果九:

    这里写图片描述

    创建顶级菜单及下拉菜单

    #!/usr/bin/python3
    #-*- encoding=UTF-8 -*-   
    import tkinter as tk
    root = tk.Tk()  
    
    def hello():  
        print('hello')  
    
    def about():  
        print('我是开发者')  
    
    menubar = tk.Menu(root)  
    
    #创建下拉菜单File,然后将其加入到顶级的菜单栏中  
    filemenu = tk.Menu(menubar,tearoff=0)  
    filemenu.add_command(label="Open", command=hello)  
    filemenu.add_command(label="Save", command=hello)  
    filemenu.add_separator()  
    filemenu.add_command(label="Exit", command=root.quit)  
    menubar.add_cascade(label="File", menu=filemenu)  
    
    #创建另一个下拉菜单Edit  
    editmenu = tk.Menu(menubar, tearoff=0)  
    editmenu.add_command(label="Cut", command=hello)  
    editmenu.add_command(label="Copy", command=hello)  
    editmenu.add_command(label="Paste", command=hello)  
    menubar.add_cascade(label="Edit",menu=editmenu)  
    #创建下拉菜单Help  
    helpmenu = tk.Menu(menubar, tearoff=0)  
    helpmenu.add_command(label="About", command=about)  
    menubar.add_cascade(label="Help", menu=helpmenu)  
    
    #显示菜单  
    root.config(menu=menubar)  
    
    tk.mainloop()  

    结果十:

    这里写图片描述

    按钮相应显示在窗口而非终端

    #!/usr/bin/python3
    #-*- encoding=UTF-8 -*-   
    import tkinter as tk
    root = tk.Tk()  
    
    def hello():  
        print('hello')  
    
    # def about():  
    #     print('我是开发者')  
    def about():
        w = tk.Label(root,text="开发者感谢名单\n\nfuyunbiyi\n\nfyby尚未出现的女朋友\n\nhttp://www.programup.com网站")
        w.pack(side=tk.TOP)  
    
    menubar = tk.Menu(root)  
    
    #创建下拉菜单File,然后将其加入到顶级的菜单栏中  
    filemenu = tk.Menu(menubar,tearoff=0)  
    filemenu.add_command(label="Open", command=hello)  
    filemenu.add_command(label="Save", command=hello)  
    filemenu.add_separator()  
    filemenu.add_command(label="Exit", command=root.quit)  
    menubar.add_cascade(label="File", menu=filemenu)  
    
    #创建另一个下拉菜单Edit  
    editmenu = tk.Menu(menubar, tearoff=0)  
    editmenu.add_command(label="Cut", command=hello)  
    editmenu.add_command(label="Copy", command=hello)  
    editmenu.add_command(label="Paste", command=hello)  
    menubar.add_cascade(label="Edit",menu=editmenu)  
    #创建下拉菜单Help  
    helpmenu = tk.Menu(menubar, tearoff=0)  
    helpmenu.add_command(label="About", command=about)  
    menubar.add_cascade(label="Help", menu=helpmenu)  
    
    #显示菜单  
    root.config(menu=menubar)  
    
    tk.mainloop()  
    

    结果十一:

    这里写图片描述

    改变标签背景色

    #!/usr/bin/python3
    #-*- encoding=UTF-8 -*-   
    import tkinter as tk
    root = tk.Tk() 
    
    #创建三个 Label 分别添加到root窗体中 
    #Label是一种用来显示文字或者图片的组件
    tk.Label(root,text = 'pack1',bg = 'red').pack() 
    tk.Label(root, text = 'pack2', bg = 'blue').pack() 
    tk.Label(root, text = 'pack3', bg = 'green').pack() 
    
    root.mainloop()

    结果十二:

    这里写图片描述

    pack常用属性

    属性名 属性简析 取值 取值说明
    fill 设置组件是否向水平或垂直方向填充 X、Y、BOTH 和NONE fill = X(水平方向填充)fill = Y(垂直方向填充)fill = BOTH(水平和垂直)NONE 不填充
    expand 设置组件是否展开,当值为YES时,side选项无效。组件显示在父容器中心位置;若fill选项为BOTH,则填充父组件的剩余空间。默认为不展开 YES 、NO(1、0) expand=YES expand=NO
    side 设置组件的对齐方式 LEFT、TOP、RIGHT、BOTTOM 值为左、上、右、下
    ipadx、ipady 设置x方向(或者y方向)内部间隙(子组件之间的间隔) 可设置数值,默认是0 非负整数,单位为像素
    padx、pady 设置x方向(或者y方向)外部间隙(与之并列的组件之间的间隔) 可设置数值,默认是0 非负整数,单位为像素
    anchor 锚选项,当可用空间大于所需求的尺寸时,决定组件被放置于容器的何处 N、E、S、W、NW、NE、SW、SE、CENTER(默认值为CENTER) 表示八个方向以及中心

    页面布局1

    from tkinter import *    #注意模块导入方式,否则代码会有差别
    
    class App:
        def __init__(self, master):
            #使用Frame增加一层容器
            fm1 = Frame(master)
            #Button是一种按钮组件,与Label类似,只是多出了响应点击的功能
            Button(fm1, text='Top').pack(side=TOP, anchor=W, fill=X, expand=YES)
            Button(fm1, text='Center').pack(side=TOP, anchor=W, fill=X, expand=YES)
            Button(fm1, text='Bottom').pack(side=TOP, anchor=W, fill=X, expand=YES)
            fm1.pack(side=LEFT, fill=BOTH, expand=YES)
    
            fm2 = Frame(master)
            Button(fm2, text='Left').pack(side=LEFT)
            Button(fm2, text='This is the Center button').pack(side=LEFT)
            Button(fm2, text='Right').pack(side=LEFT)        
            fm2.pack(side=LEFT, padx=10)
    
    
    root = Tk()
    root.title("Pack - Example")
    display = App(root)
    root.mainloop()

    结果十三:

    这里写图片描述

    页面布局2

    import tkinter as tk
    
    root = tk.Tk()
    
    label1 = tk.Label(root, text = "Height:")
    label1.grid(row = 0, column = 0)
    label2 = tk.Label(root, text = "Width:")
    label2.grid(row = 1, column = 0)
    
    entry1 = tk.Entry(root)
    entry1.grid(row = 0, column = 1)
    entry2 = tk.Entry(root)
    entry2.grid(row = 1, column = 1)
    
    checkbutton = tk.Checkbutton(root, text = "Preserve aspect")
    checkbutton.grid(row = 2, column = 0, rowspan = 1, columnspan = 2, sticky=tk.W)#sticky设置控件的对其方位,这里设置为靠西(左西右东)
    
    img = tk.PhotoImage(file = "11.png")
    imageview = tk.Label(root, image= img)
    imageview.grid(row = 0, column = 2, rowspan = 2, columnspan = 2)
    
    button1 = tk.Button(root, text = "Zoom in")
    button1.grid(row = 2, column = 2)
    button1 = tk.Button(root, text = "Zoom out")
    button1.grid(row = 2, column = 3)
    
    root.mainloop()
    

    结果十四:

    这里写图片描述

    参考一:https://www.cnblogs.com/monsteryang/p/6558904.html
    参考二:https://blog.csdn.net/yingshukun/article/details/53983812
    参考三:https://blog.csdn.net/C_Creator/article/details/52383334

    展开全文
  • Python3.7.3安装(Win10)

    2019-08-16 00:07:10
    到2019年初,Python3已经更新到了Python3.7.3,Python有两个大版本Python2和Python3,Python3是现在和未来的主流。 本文介绍Python3.7.3的安装步骤. 一、下载Python3.7.3 1.百度搜索Python,找到Python官网,点击...

      Python3.7.3安装(Win10)

            到2019年初,Python3已经更新到了Python3.7.3,Python有两个大版本Python2和Python3,Python3是现在和未来的主流。

            本文介绍Python3.7.3的安装步骤.

    一、下载Python3.7.3

    1.百度搜索Python,找到Python官网,点击进入https://www.python.org/

    2.点击Python官网的Downloads,然后在下拉菜单中点Windows,进入版本选择页面

    3.进入版本选择页面,可以在最上面看到有Python3的最新版和Python2的最新版,在这里点击Python3.7.3进入下载页面(如果需要下载其他版本可以向下滚动页面,选择自己需要的版本)

    4.进入下载页面后,向下滚动鼠标,找到"Files",这里列出了Python3.7.3版本的不同操作系统的安装包或相关文件,我们是在Windows10里面安装,选择对应版本的安装包下载,点击下载,等待一会就可以下载完成了

     

    二、安装Python3.7.3

    1.将下载完成的Python3.7.3安装包剪切到电脑桌面(不放桌面也可以,只是这样更方便),双击打开,然后将下方的两个选项框都打钩,再点击Customize installation进入下一步

    2.这个界面默认所有选项都是打钩的,保持默认即可,点击Next进入下一步

    3.将Install for all users选项打钩,其他的选项保持默认,此时下方的默认安装路径为C:\Program Files\Python37,这里可以点击Browse,根据自己的需求选择安装目录,但是目录名中最好不要包含中文.

    如果C盘有很多空间,可以不更改,或者有固态硬盘的,可以选择将Python3.7.3装在固态盘中.

    确认好安装位置后,点击Install进行安装   

    4.现在Python3.7.3开始安装,可以看到安装的进度条在读条,什么也不用做,稍等一会就安装完成了

    5.进度条完成,会显示下面的菜单,表示已经安装成功了,现在点击Close即可,Python3.7.3已经安装成功了

    6.进入C:\Program Files\Python37目录,可以看到python.exe文件,Python3.7.3已经成功安装在这里了

     

    三、配置环境变量

           在安装完成Python3.7.3后,已经自动帮我们配好了环境变量(因为上面我们勾选了添加环境变量的选项,非常省事),我们直接在命令行里面使用python命令,就会进入Python3.7.3的交互界面.如果python命令之前是进入其他版本的Python,则现在已经被Python3.7.3覆盖了

           为了使用时可以和其他版本的Python进行区分,如与安装的Python2.7进行区分,电脑里还可能同时安装了其他版本的Python3,例如还安装有Python3.6,也要方便区分.我们到Python3.7.3的安装目录下,复制粘贴python.exe,并修改名字为python37.exe,这样在命令行中输入python37就可以进入Python3.7.3命令行模式

     

    四、验证安装结果

    1.按Win+R进入运行界面,在里面输入cmd回车,进入Windows的命令行,在命令行输入python37可以进入Python3.7.3的命令行模式,(输入a = 1,然后输入a,控制台输出1)测试成功,说明Python3.7.3安装成功

    2.也可以直接双击C:\Program Files\Python37的python.exe进入验证Python3.7.3是否安装完成

    现在,Python3.7.3已经安装完成.

     

    展开全文
  • 我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了,欢迎大家订阅~ 任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑...
  • python3.7 的新特性

    2018-05-31 10:33:43
    转载Python 3.7增添了众多新的类,可用于数据处理、针对脚本编译和垃圾收集的优化以及更快的异步I/O。Python这种语言旨在使复杂任务变得简单,最新版本Python 3.7已正式进入测试版发布阶段。Python 3.7的最终版定于...
  • 文章目录1、Python简介2、Python安装步骤3Python环境变量配置4、整数和浮点数 1、Python简介 Python是一款通用型的计算机程序设计语言,Python对编程人员来说是一款非常有利的工具,可以让您快速编写代码,而且...
  • Python3 * 和 ** 运算符

    2018-06-05 11:07:40
    Python 中,* 和 ** 具有语法多义性,具体来说是有三类用法。1. 算数运算* 代表乘法** 代表乘方&gt;&gt;&gt; 2 * 5 10 &gt;&gt;&gt; 2 ** 5 322. 函数参数*args 和 **kwargs 主要用于...
  • 文章目录Python 3.7.3安装安装程序下载启动安装程序定制安装设置安装目录安装完毕验证安装成功检查Windows环境变量确认Python版本探索Python的安装目录安装目录安装目录下其他的子目录多版本Python共存创建超链接...
  • Python3中print函数的换行 最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来,好了,咱移步下文—— Python2.X中的...
  • Python3教程——Python3 用什么IDE开发工具       这也许是学习一门语言时大家都会问的一个问题,其实我个人认为无所谓哪个最好,关键在于哪个用着顺手,方便。还有很多人乐于去做排名,去看排名,哪个最好...
  • 在上一篇文章《手把手教你启用Win10的Linux子系统(超详细)》我们已经学了如何在Win10环境下装Linux子系统了,那么这一篇文章我们将学习如何在该Linux系统下安装Python3。 首先是按Win+R键调出cmd命令窗口,然后...
  • python3.5 安装python3-tk

    2017-07-05 19:23:17
    在python3.5下安装好matplotlib后,准备显示一张图片测试一下,但是控制台报错说需要安装python3-tk,我天真的以为直接: sudo apt-get install python3-tk就可以了呢。但是不行,说是找不到对应的资源。我就开始...
  • Python3中已经有很大一部分语句与Python2不互通了,运行暂停的方法也有所不同。 1、input();  这种方法不用包含模块,因此这也是最常用的一种暂停手段。  Python2中的raw_input()和input()语句在Python3中...
1 2 3 4 5 ... 20
收藏数 3,130,671
精华内容 1,252,268
关键字:

python3