• 从零开始学Python

    2015-08-05 11:15:22
    第十二章:通信,web 1.浅谈通信 毫无疑问要用到socket(套接字)由于此章节和java异曲同工,就不再繁复地赘述,简单地运用几个例子来说明。 ...一个小型服务器和一个小型客户机: ...host=socket.gethostname()...

    第十二章:通信,web

    1.浅谈通信

    毫无疑问要用到socket(套接字)由于此章节和java异曲同工,就不再繁复地赘述,简单地运用几个例子来说明。

    一个小型服务器和一个小型客户机:

    服务器:

    >>import socket

    >>s=socket.socket()

    >>host=socket.gethostname()

    >>port=1234

    >>s.bind((host,port))

    >>s.listen(5)

    >>while True:

    c,addr=s.receive()

    print(from:+addr)

    c.send(hello)

    c.close()

    客户端:

    >>import socket

    >>s=socket.socket()

    >>host=socket.gethostname()

    >>port=1234

    >>s.connect((host,port))

    >>print(s.recv(1024))

    urllib.request打开远程文件

    >>from urllib.request import urlopen

    >>s=urlopen(http://www.baidu.com)

    获取远程文件

    >>urlretrieve(http://www.baidu.com,文件路径+文件名)

    保存网址为文件 

    2.Python和万维网

           简答的屏幕抓取程序

           >>from urllib.request import urlopen

            >>import re

    >>p=re.compile(<h3><a .*?><a .*? href=(.*?)>(,*?)</a>)

    >>text=urlopen(http://baidu.com/).read()

    >>for url,name in p.findall(text)

    print(name,url)

            创建CGI网页

             第一步:准备网络服务器

          第二步:加入下列代码

     #!/usr/bin/env python

             简单的脚本:

     #!/usr/bin/env python

      print(Content-type:text/html)

                    print(hello)

    如果这个文件保存为.cgi格式,就可以允许了。

             用cgi调试

     #!/usr/bin/env python

                    import cgitb

    print(Content-type:text/html)

    print(1/0)

             用cgi获取值

     #!/usr/bin/env python

                    import cgi

    from=cgi.fieldStorage()

    name=from.getvalue(name,world)

    print(Content-type:text/plain)

    print(name)

            简单的表单:

     #!/usr/bin/env python

                    import cgi

    from=cgi.fieldStorage()

    name=from.getvalue(name,world)

    print(Content-type:text/plain)

    <html>

    <head>

    </head>

    <body>

    <from action=hello.cgi>

    <input type=text name=name>

    <input type=submit>

    </from>

    </body>

    </html>

    print(name)

     

    3.Python的扩展

            由于本人比较熟悉java,因此只扩展到java,其余的暂时不做说明。

    扩展到java可以用Jython,安装完成后可以将.class文件放到Jythonjava CLASSPATH中的某处或者当前目录中:

            $ CLASSPATH=Demo.class jython

    再将其作为模块导入

    >>import Demo

    >>test=Demo()

    >>test.greet()

    输出:hello world

    eclipse中点帮助-->安装软件,再填写软件名和网址,等待安装插件就可以了。安装成功之后在eclipse上配置python,新建PyDev项目和包就可以了。 

    4.程序打包

            简单的distutils脚本

    >>from distutils import setup

    >>setup(name=hello,version=1.0,author=zq)

    python setup.py build创建hello.py的副本,运行python setup.py install安装模块。

    打包:sdist命令

    先运行python setup.py sdist,再运行include 1.txt就在MANIFEST.in文件清单下包含了1.txt。可以用py2exe来创建.exe执行程序。

    5.日志记录

         在程序的开头导入logging模块 

            >>import logging

    >>logging.basicConfig(level=logging.INFO,filename=mylog.log)

    >>logging.info(start)

    >>logging(计算:)

    >>print(1/0)

    >>logging(OK~)

    程序会在异常的时候中断。         

    <!--EndFragment-->

    展开全文
  • 从零开始学 Python 之基础篇前言大家好,这里是「痴海」从零开始学习 Python 系列教程。此文首发于「痴海」公众号,欢迎大家去关注。学习一门语言最好的办法,就是教懂别人。在这公众号,我会从 Python 最基础的教程...

    从零开始学 Python 之基础篇

    前言

    大家好,这里是「痴海」从零开始学习 Python 系列教程。此文首发于「痴海」公众号,欢迎大家去关注。学习一门语言最好的办法,就是教懂别人。在这公众号,我会从 Python 最基础的教程写起,慢慢一步步进阶。写这教程同时也是我自己对于 Python 知识的复习巩固。喜欢的朋友可以点击关注,一到周五每天更新 Python 相关知识,周六周日则会写关于认识一些的文章。话不多说,开始今天的知识。

    了解 Python 前世今生

    本教程是以主流的 Python 3.0 + 版本为教程。
    学习任何一门语言之前,我们都要先去了解这门语言是什么,它有什么特点。知己知彼,方能学好编程。

    1.什么是 Python

    Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python 由 Guldo van Rossum 于 1989 年底发明,第一个公开发行版于 1991 年。很早就已经有了 Python 这门语言,但直到 2017 「人工智能」和「大数据」逐渐的火爆,人们才重新开始重视 Python。

    2017 GitHub 年度报告2017 GitHub 年度报告

    在 2017 GitHub 年度报告中,Python 更是代替 Java 的位置,居升为第二,成为在 GitHub 仅此 Javascript 最受欢迎的编程语言之一。

    2.Python 发展历史

    Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

    像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

    3.Python 特点

    Python 是一种解释型语言:这以为这开发过程中没有了编程这个环节。

    Python 是交互式语言:这意味着,你可以在一个 Python 提示符,直接互动执行写你的程序。

    Python 是面向对象语言:这意味着 Python 支持面向对象的风格或代码封装在对象的编程技术。

    Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 www 浏览器再到游戏。

    • 1.易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
    • 2.易于阅读:Python 代码定义的更清晰。
    • 3.易于维护:Python 的成功在于它的源代码是相当容易维护的。
    • 4.一个广泛的标准库:Python 的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows 和 Macintosh 兼容很好。
    • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断
    • 6.可移植:基于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。
    • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的 Python 程序中调用。
    • 8.数据库:Python 提供所有主要的商业数据库的接口。
    • 9.GUI 编程:Python 支持 GUI 可以创建和移植到许多系统调用。
    • 10.可嵌入:*你可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得"脚本化"的能力。

    Python 环境搭建

    经过以上的介绍,你对于 Python 这门已经有了一定的认识。接下来就要开始上手搭建 Python 相关环境。理论用于实践,通过搭建环境,开启你学习 Python 之旅。

    Python 可应用于多平台包括 Linux 和 Mac OS X。你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装 Python 以及 Python 的安装版本。

    Python 下载

    Python 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到:

    Python官网

    你可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。

    Python文档下载地址

    非常鼓励大家多去看看官网里的内容,了解最新的动态。

    Python 安装

    Python 已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。

    您需要下载适用于您使用平台的二进制代码,然后安装Python。

    如果您平台的二进制代码是不可用的,你需要使用 C 编译器手动编译源代码。

    编译的源代码,功能上有更多的选择性,为 python 安装提供了更多的灵活性。

    以下是各个平台安装包的下载地址:

    以下为不同平台上安装Python的方法:

    1. Unix & Linux 平台安装 Python

    以下为在 Unix & Linux 平台上安装 Python 的简单步骤:

    • 打开 WEB 浏览器访问 https://www.python.org/downloads/source/
    • 选择适用于 Unix/Linux 的源码压缩包。
    • 下载及解压压缩包。
    • 如果你需要自定义一些选项修改Modules/Setup
    • 执行 ./configure 脚本
    • make
    • make install

    执行以上操作后,Python 会安装在 /usr/local/bin 目录中,Python 库安装在 /usr/local/lib/pythonXX,XX 为你使用的 Python 的版本号。

    2. Window 平台安装 Python

    以下为在 Window 平台上安装 Python 的简单步骤:

    Python 安装Python 安装
    • 打开 WEB 浏览器访问 https://www.python.org/downloads/windows/
    • 在 python 的官网下载 pytho n版本,需要下载对应版本(在计算机-属性中查看自己是 32 位操作系统还是 64 位操作系统),我是 64 位的,就下载 64 位对应的安装包了(如上图:Windows x86-64 executable installer,此教程是以 Python 3.0 + 为版本)
    • 下载后,双击下载包,进入 Python 安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。

    3. MAC 平台安装 Python

    最近的 Macs 系统都自带有Python环境,你也可以在链接 https://www.python.org/downloads/mac-osx/ 上下载最新版安装。

    环境变量配置

    安装完 Python 之后,就要开始配置环境变量。配置了环境变量,程序才能运行。程序和可执行文件可以在许多目录,而这些路径很可能不在操作系统提供可执行文件的搜索路径中。path(路径) 存储在环境变量中,这是由操作系统维护的一个命名的字符串。这些变量包含可用的命令行解释器和其他程序的信息。

    Unix 或 Windows 中路径变量为 PATH( UNIX 区分大小写,Windows 不区分大小写)。

    在 Mac OS 中,安装程序过程中改变了 python 的安装路径。如果你需要在其他目录引用 Python,你必须在 path 中添加 Python 目录。

    1. Windows 环境变量配置

    在环境变量中添加 Python 目录:

    在命令提示框中(cmd):输入

    path=%path%; C:\Python
    

    按下“Enter”。 注意:C:\Python 是 Python 的安装目录。

    也可以通过以下方式设置:

    右键点击"计算机",然后点击"属性"

    • 然后点击"高级系统设置"
    • 选择"系统变量"窗口下面的「Path」,双击即可。
    • 然后在「Path」行,添加 python 安装路径即可(我的 D:\Python32 ),所以在后面,添加该路径即可。 ps:记住,路径直接用分号";"隔开。
    • 最后设置成功以后,在 cmd 命令行,输入命令"python",就可以有相关显示。
    环境变量配置环境变量配置

    2. Unix/Linux 环境变量配置

    csh shell: 输入

    setenv PATH "$PATH:/usr/local/bin/python" 
    

    按下"Enter"。

    bash shell (Linux): 输入

    export PATH="$PATH:/usr/local/bin/python" 
    

    按下"Enter"。

    sh 或者 ksh shell: 输入

    PATH="$PATH:/usr/local/bin/python" 
    

    按下"Enter"。

    注意: /usr/local/bin/python 是 Python 的安装目录。

    Python 环境变量

    几个重要的环境变量

    Python 环境变量Python 环境变量

    第一行 Python 代码

    如果以上的「Python 安装」、「Python 环境变量的配置」你都已经弄好,我们就可以开始写我们第一个 Python 代码。

    万物始于「Hello World」,周而复反,直至我们的头发秃光。

    print('Hello World')
    

    创建一个记事本,把上面代写进去,并把文件的后缀名改成 py。

    有三种方式可以运行上面的 Python 代码:

    1. 交互式解释器

    你可以通过命令行窗口进入 python 并在交互式解释器或者记事本中开始编写 Python 代码。然后在 Unix,DOS 或任何其他提供了命令行或者 shell 的系统进行 python 编码工作。

    $ python # Unix/Linux 或者 C:>python # Windows/DOS
    

    以下为 Python 命令行参数:

    Python 命令行参数Python 命令行参数

    使用 cmd 进入你自己 py 文件的目录下,使用代码「python first.py」运行你自己 python 第一个程序。运行成功就会输入:Hello World!。你离 python 大神又进了一步!

    python 第一行代码python 第一行代码

    2. 命令行脚本

    在你的应用程序中通过引入解释器可以在命令行中执行 Python 脚本,如下所示:

    $ python script.py # Unix/Linux 或者 C:>python script.py # Windows/DOS
    

    注意:在执行脚本时,请检查脚本是否有可执行权限。

    3. 集成开发环境(IDE:Integrated Development Environment): PyCharm

    PyCharm 界面PyCharm 界面

    如果你之前是有做过 Android 开发,这款编辑器你一定非常的熟悉。与「android studio」编辑器非常的类似。PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。

    PyCharm 功能 :

    • 调试
    • 语法高亮
    • Project 管理
    • 代码跳转
    • 智能提示
    • 自动完成
    • 单元测试
    • 版本控制
    • 等等。。。

    PyCharm 下载地址

    如果你有钱还请支持正版,但你现在经济不是很宽裕,可以在后台回复「PyCharm 破解」即可免费破解使用。

    安装好 PyCharm 编辑器以后,新建工程,创建 py 文件,输入代码

    print('Hellod World!')
    

    点击右键 Run 'first',或右上角的绿色三角号标志即可运行代码。

    点击右键点击右键右上角的绿色三角号标志右上角的绿色三角号标志

    写在最后

    至此「从零开始学习 Python:Python 基础篇」就已结束。给自己三分钟的时间,闭上眼来回想下,今天这篇你都学习到了什么。

    如果你按我说的去做,你会发现你只能回忆起一些内容,很难把全部的知识都记住。这是非常正常的情况,所以需要你温故而知新,时常回顾。在最后我把今天的知识点做出思维导图送给大家。欢迎大家去关注公众号「痴海」。本系列教程会首发于公众号。

    2018032520180325
    展开全文
  • 从零开始学python

    2019-08-10 17:13:41
    python数据类型 字符串 用2个单引号''或者2个双""括起来。如果字符串本身包含特殊字符,使用反斜杠\表示,单引号与双引号本身也是特殊字符。 print print输出默认带上换行,例如 print "hello, world!" 符串后...

    python数据类型

    • 字符串

    用2个单引号''或者2个双""括起来。如果字符串本身包含特殊字符,使用反斜杠\表示,单引号与双引号本身也是特殊字符。

    print

    print输出默认带上换行,例如

    print "hello, world!"

    符串后会自动加一个换行。如果不想加上换行,那么可以

    print "hello, world!",
    print "oh, beautiful world!",

    执行结果:

    hello, world! oh, beautiful world!

    添加了一个空格 

    FALSE表示

    1. None
    2. False(布尔类型)
    3. 所有的值为零的数(0(整型)、0.0(浮点型)、0L(长整型)、0.0+0.0j(复数))
    4. ""(空字符串)
    5. [](空列表)
    6. ()(空元组)
    7. {}(空字典)
    展开全文
  • ### 前言 一点Python的基础,算是对自己的开发知识经验上的一点丰富吧。可以不专,但至少要能看懂一些。

    前言

    一点Python的基础,算是对自己的开发知识经验上的一点丰富吧。可以不专,但至少要能看懂一些。

    Python下载

    下载地址:https://www.python.org/downloads/
    我选了最新版本的Win X86-64exectable installer安装版本的
    然后运行后直接安装就下载好了。

    环境变量配置

    这里写图片描述
    CMD输入

    path=%path%;C:\Python (目录)
    

    这样我们在cmd中就可以直接运行Python了

    测试

    这里写图片描述

    开发软件

    因为Java一直用的IDEA,在还不清楚各个软件的优劣的情况下,先选择了IDEA作为前期使用工具。

    IDEA集成python插件

    在Plugins中直接下载插件即可
    这里写图片描述

    新建python项目

    重启后新建项目找到Python并命名新建即可
    这里写图片描述

    这里写图片描述

    这里写图片描述

    #!/usr/bin/python
    或
    #!/usr/bin/env python
    

    开头声明表示用python的解释器来处理

    # -*- coding: UTF-8 -*- 
    或
    #coding=utf-8
    

    用utf-8编码

    展开全文
  • 从零开始学Python(2)

    2018-11-29 17:31:33
    Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些...

    Python 变量类型

    变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。
    基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
    因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。

    变量赋值

    Python 中的变量赋值不需要类型声明。
    每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
    每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
    等号(=)用来给变量赋值。
    等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    counter = 100 # 赋值整型变量
    miles = 1000.0 # 浮点型
    name = "John" # 字符串
     
    print (counter)
    print (miles)
    print (name)
    

    以上实例中,100,1000.0和"John"分别赋值给counter,miles,name变量。
    打印如下:

    100
    1000.0
    John
    

    多个变量赋值

    Python允许你同时为多个变量赋值。例如:

    a = b = c = 1
    

    以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
    您也可以为多个对象指定多个变量。例如

    a, b, c = 1, 2, "john"
    

    以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 “john” 分配给变量 c。

    标准数据类型

    在内存中存储的数据可以有多种类型。
    例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。
    Python 定义了一些标准类型,用于存储各种类型的数据。
    Python有五个标准的数据类型:
    Numbers(数字)
    String(字符串)
    List(列表)
    Tuple(元组)
    Dictionary(字典)

    Python数字

    数字数据类型用于存储数值。
    他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
    当你指定一个值时,Number对象就会被创建:

    var1 = 1
    var2 = 10
    

    您也可以使用del语句删除一些对象的引用。
    del语句的语法是:

    del var1[,var2[,var3[....,varN]]]]
    

    您可以通过使用del语句删除单个或多个对象的引用。例如:

    del var
    del var_a, var_b
    

    Python支持四种不同的数字类型:
    int(有符号整型)
    long(长整型[也可以代表八进制和十六进制])
    float(浮点型)
    complex(复数)

    实例
    一些数值类型的实例:
    在这里插入图片描述

    长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。
    Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

    注意:long 类型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。在 Python3.X 版本中 long 类型被移除,使用 int 替代。

    Python字符串

    字符串或串(String)是由数字、字母、下划线组成的一串字符。
    一般记为 :

    s="a1a2···an"(n>=0)
    

    它是编程语言中表示文本的数据类型。
    python的字串列表有2种取值顺序:
    从左到右索引默认0开始的,最大范围是字符串长度少1
    从右到左索引默认-1开始的,最大范围是字符串开头

    在这里插入图片描述

    如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
    [头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
    实例(Python 3.0+)
    比如:

    s = 'abcdef'
    print (s[1:5])
    
    

    s = 'abcdef'
    print (s[-5:-1])
    

    当使用以冒号分隔的字符串,python 返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。
    上面的结果包含了 s[1] 的值 b,而取到的最大范围不包括尾下标,就是 s[5] 的值 f。

    在这里插入图片描述

    加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:
    实例(Python 3.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    str = 'Hello World!'
     
    print (str)           # 输出完整字符串
    print (str[0])        # 输出字符串中的第一个字符
    print (str[2:5])      # 输出字符串中第三个至第五个之间的字符串
    print (str[2:])       # 输出从第三个字符开始的字符串
    print (str * 2)       # 输出字符串两次
    print (str + "TEST")  # 输出连接的字符串
    
    

    以上实例输出结果:

    Hello World!
    H
    llo
    llo World!
    Hello World!Hello World!
    Hello World!TEST
    

    Python列表

    List(列表) 是 Python 中使用最频繁的数据类型。
    列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
    列表用 [ ] 标识,是 python 最通用的复合数据类型。
    列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

    在这里插入图片描述

    加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
    tinylist = [123, 'john']
     
    print list               # 输出完整列表
    print list[0]            # 输出列表的第一个元素
    print list[1:3]          # 输出第二个至第三个元素 
    print list[2:]           # 输出从第三个开始至列表末尾的所有元素
    print tinylist * 2       # 输出列表两次
    print list + tinylist    # 打印组合的列表
    

    以上实例输出结果:

    ['runoob', 786, 2.23, 'john', 70.2]
    runoob
    [786, 2.23]
    [2.23, 'john', 70.2]
    [123, 'john', 123, 'john']
    ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
    

    Python元组

    元组是另一个数据类型,类似于List(列表)。
    元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
    tinytuple = (123, 'john')
     
    print tuple               # 输出完整元组
    print tuple[0]            # 输出元组的第一个元素
    print tuple[1:3]          # 输出第二个至第三个的元素 
    print tuple[2:]           # 输出从第三个开始至列表末尾的所有元素
    print tinytuple * 2       # 输出元组两次
    print tuple + tinytuple   # 打印组合的元组
    

    以上实例输出结果:

    ('runoob', 786, 2.23, 'john', 70.2)
    runoob
    (786, 2.23)
    (2.23, 'john', 70.2)
    (123, 'john', 123, 'john')
    ('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
    

    以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
    list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
    tuple[2] = 1000    # 元组中是非法应用
    list[2] = 1000     # 列表中是合法应用
    

    Python 字典

    字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
    两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
    字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    dict = {}
    dict['one'] = "This is one"
    dict[2] = "This is two"
     
    tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
     
     
    print dict['one']          # 输出键为'one' 的值
    print dict[2]              # 输出键为 2 的值
    print tinydict             # 输出完整的字典
    print tinydict.keys()      # 输出所有键
    print tinydict.values()    # 输出所有值
    

    输出结果为:

    This is one
    This is two
    {'dept': 'sales', 'code': 6734, 'name': 'john'}
    ['dept', 'code', 'name']
    ['sales', 6734, 'john']
    

    Python数据类型转换

    有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
    以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

    在这里插入图片描述

    Python 运算符

    什么是运算符?
    本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。
    Python语言支持以下类型的运算符:

    算术运算符
    比较(关系)运算符
    赋值运算符
    逻辑运算符
    位运算符
    成员运算符
    身份运算符
    运算符优先级
    

    接下来让我们一个个来学习Python的运算符。

    Python算术运算符

    以下假设变量: a=10,b=20:
    在这里插入图片描述

    以下实例演示了Python所有算术运算符的操作:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 21
    b = 10
    c = 0
     
    c = a + b
    print "1 - c 的值为:", c
     
    c = a - b
    print "2 - c 的值为:", c 
     
    c = a * b
    print "3 - c 的值为:", c 
     
    c = a / b
    print "4 - c 的值为:", c 
     
    c = a % b
    print "5 - c 的值为:", c
     
    # 修改变量 a 、b 、c
    a = 2
    b = 3
    c = a**b 
    print "6 - c 的值为:", c
     
    a = 10
    b = 5
    c = a//b 
    print "7 - c 的值为:", c
    

    以上实例输出结果:

    1 - c 的值为: 31
    2 - c 的值为: 11
    3 - c 的值为: 210
    4 - c 的值为: 2
    5 - c 的值为: 1
    6 - c 的值为: 8
    7 - c 的值为: 2
    

    注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。

    >>> 1/2
    0
    >>> 1.0/2
    0.5
    >>> 1/float(2)
    0.5
    

    Python比较运算符

    以下假设变量a为10,变量b为20:
    在这里插入图片描述

    以下实例演示了Python所有比较运算符的操作:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 21
    b = 10
    c = 0
     
    if  a == b :
       print "1 - a 等于 b"
    else:
       print "1 - a 不等于 b"
     
    if  a != b :
       print "2 - a 不等于 b"
    else:
       print "2 - a 等于 b"
     
    if  a <> b :
       print "3 - a 不等于 b"
    else:
       print "3 - a 等于 b"
     
    if  a < b :
       print "4 - a 小于 b" 
    else:
       print "4 - a 大于等于 b"
     
    if  a > b :
       print "5 - a 大于 b"
    else:
       print "5 - a 小于等于 b"
     
    # 修改变量 a 和 b 的值
    a = 5
    b = 20
    if  a <= b :
       print "6 - a 小于等于 b"
    else:
       print "6 - a 大于  b"
     
    if  b >= a :
       print "7 - b 大于等于 a"
    else:
       print "7 - b 小于 a"
    

    以上实例输出结果:

    1 - a 不等于 b
    2 - a 不等于 b
    3 - a 不等于 b
    4 - a 大于等于 b
    5 - a 大于 b
    6 - a 小于等于 b
    7 - b 大于等于 a
    

    Python赋值运算符

    以下假设变量a为10,变量b为20:
    在这里插入图片描述

    以下实例演示了Python所有赋值运算符的操作:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 21
    b = 10
    c = 0
     
    c = a + b
    print "1 - c 的值为:", c
     
    c += a
    print "2 - c 的值为:", c 
     
    c *= a
    print "3 - c 的值为:", c 
     
    c /= a 
    print "4 - c 的值为:", c 
     
    c = 2
    c %= a
    print "5 - c 的值为:", c
     
    c **= a
    print "6 - c 的值为:", c
     
    c //= a
    print "7 - c 的值为:", c
    

    以上实例输出结果:

    1 - c 的值为: 31
    2 - c 的值为: 52
    3 - c 的值为: 1092
    4 - c 的值为: 52
    5 - c 的值为: 2
    6 - c 的值为: 2097152
    7 - c 的值为: 99864
    

    Python位运算符

    按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
    下表中变量 a 为 60,b 为 13,二进制格式如下:

    a = 0011 1100
    
    b = 0000 1101
    
    -----------------
    
    a&b = 0000 1100
    
    a|b = 0011 1101
    
    a^b = 0011 0001
    
    ~a  = 1100 0011
    

    在这里插入图片描述

    以下实例演示了Python所有位运算符的操作:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 60            # 60 = 0011 1100 
    b = 13            # 13 = 0000 1101 
    c = 0
     
    c = a & b;        # 12 = 0000 1100
    print "1 - c 的值为:", c
     
    c = a | b;        # 61 = 0011 1101 
    print "2 - c 的值为:", c
     
    c = a ^ b;        # 49 = 0011 0001
    print "3 - c 的值为:", c
     
    c = ~a;           # -61 = 1100 0011
    print "4 - c 的值为:", c
     
    c = a << 2;       # 240 = 1111 0000
    print "5 - c 的值为:", c
     
    c = a >> 2;       # 15 = 0000 1111
    print "6 - c 的值为:", c
    

    以上实例输出结果:

    1 - c 的值为: 12
    2 - c 的值为: 61
    3 - c 的值为: 49
    4 - c 的值为: -61
    5 - c 的值为: 240
    6 - c 的值为: 15
    

    Python逻辑运算符

    Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
    在这里插入图片描述
    以上实例输出结果:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 10
    b = 20
     
    if  a and b :
       print "1 - 变量 a 和 b 都为 true"
    else:
       print "1 - 变量 a 和 b 有一个不为 true"
     
    if  a or b :
       print "2 - 变量 a 和 b 都为 true,或其中一个变量为 true"
    else:
       print "2 - 变量 a 和 b 都不为 true"
     
    # 修改变量 a 的值
    a = 0
    if  a and b :
       print "3 - 变量 a 和 b 都为 true"
    else:
       print "3 - 变量 a 和 b 有一个不为 true"
     
    if  a or b :
       print "4 - 变量 a 和 b 都为 true,或其中一个变量为 true"
    else:
       print "4 - 变量 a 和 b 都不为 true"
     
    if not( a and b ):
       print "5 - 变量 a 和 b 都为 false,或其中一个变量为 false"
    else:
       print "5 - 变量 a 和 b 都为 true"
    

    以上实例输出结果:

    1 - 变量 a 和 b 都为 true
    2 - 变量 a 和 b 都为 true,或其中一个变量为 true
    3 - 变量 a 和 b 有一个不为 true
    4 - 变量 a 和 b 都为 true,或其中一个变量为 true
    5 - 变量 a 和 b 都为 false,或其中一个变量为 false
    

    Python成员运算符

    除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

    在这里插入图片描述

    以下实例演示了Python所有成员运算符的操作:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 10
    b = 20
    list = [1, 2, 3, 4, 5 ];
     
    if ( a in list ):
       print "1 - 变量 a 在给定的列表中 list 中"
    else:
       print "1 - 变量 a 不在给定的列表中 list 中"
     
    if ( b not in list ):
       print "2 - 变量 b 不在给定的列表中 list 中"
    else:
       print "2 - 变量 b 在给定的列表中 list 中"
     
    # 修改变量 a 的值
    a = 2
    if ( a in list ):
       print "3 - 变量 a 在给定的列表中 list 中"
    else:
       print "3 - 变量 a 不在给定的列表中 list 中"
    

    以上实例输出结果:

    1 - 变量 a 不在给定的列表中 list 中
    2 - 变量 b 不在给定的列表中 list 中
    3 - 变量 a 在给定的列表中 list 中
    

    Python身份运算符

    身份运算符用于比较两个对象的存储单元
    在这里插入图片描述

    注: id() 函数用于获取对象内存地址。
    以下实例演示了Python所有身份运算符的操作:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 20
    b = 20
     
    if ( a is b ):
       print "1 - a 和 b 有相同的标识"
    else:
       print "1 - a 和 b 没有相同的标识"
     
    if ( a is not b ):
       print "2 - a 和 b 没有相同的标识"
    else:
       print "2 - a 和 b 有相同的标识"
     
    # 修改变量 b 的值
    b = 30
    if ( a is b ):
       print "3 - a 和 b 有相同的标识"
    else:
       print "3 - a 和 b 没有相同的标识"
     
    if ( a is not b ):
       print "4 - a 和 b 没有相同的标识"
    else:
       print "4 - a 和 b 有相同的标识"
    

    以上实例输出结果:

    1 - a 和 b 有相同的标识
    2 - a 和 b 有相同的标识
    3 - a 和 b 没有相同的标识
    4 - a 和 b 没有相同的标识
    

    is 与 == 区别:
    is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

    >>> a = [1, 2, 3]
    >>> b = a
    >>> b is a 
    True
    >>> b == a
    True
    >>> b = a[:]
    >>> b is a
    False
    >>> b == a
    True
    

    Python运算符优先级

    以下表格列出了从最高到最低优先级的所有运算符:

    在这里插入图片描述

    以下实例演示了Python所有运算符优先级的操作:
    实例(Python 2.0+)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    a = 20
    b = 10
    c = 15
    d = 5
    e = 0
     
    e = (a + b) * c / d       #( 30 * 15 ) / 5
    print "(a + b) * c / d 运算结果为:",  e
     
    e = ((a + b) * c) / d     # (30 * 15 ) / 5
    print "((a + b) * c) / d 运算结果为:",  e
     
    e = (a + b) * (c / d);    # (30) * (15/5)
    print "(a + b) * (c / d) 运算结果为:",  e
     
    e = a + (b * c) / d;      #  20 + (150/5)
    print "a + (b * c) / d 运算结果为:",  e
    

    以上实例输出结果:

    (a + b) * c / d 运算结果为: 90
    ((a + b) * c) / d 运算结果为: 90
    (a + b) * (c / d) 运算结果为: 90
    a + (b * c) / d 运算结果为: 50

    展开全文
  • Python 3.5从零开始学》专门针对Python新手量身定做,涵盖了Python 3 实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象...
  • 大家好哈,最近博主在学习Python,特别是网络数据采集,俗称爬虫。学习期间也碰到了一些问题,在解决问题的同时也大量参看了网上了一些资源,获得了一些经验。所以开一个博客希望能将学习过程中碰到的问题一并记录...
  • 老师及幕后教学团队将职场干货融入到在线课堂,根据学员的不同起步设计教学,尽量满足不同层次学员需求,从初级入门,到中级进阶,到高级技巧,应有尽有,全网唯一最全面具性价比的从零开始学Python到项目实战课程。...
  • 本书专门针对Python新手量身定做,涵盖了Python 3 实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络...
  • 从零开始学Python数据分析与挖掘 从零开始学Python数据分析与挖掘
  • 入门Python的一本好书:《Python3.5从零开始学》 之前在网上找了好久,包括CSDN其他博主的分享,发现都是假的。 于是就买了电子版  
  • Python3从零开始学习

    2014-06-06 08:48:13
    str=[].append('aaa') print(str,type(str))
  • 经过10多个月的努力,《从零开始学Python--数据分析与挖掘》的新书上市啦,在此感谢清华大学出版社对本书提出的宝贵建议,也感谢广大网友及粉丝对我的期待。本书一共包含16章的内容,涉及四大模块,分别是Python基础...
  • Python数据分析小分队系列课程开始10讲。 由《从零开始学Python网络爬虫》和《从零开始学Python数据分析》图书作者,简书知名博主,Python讲师罗攀主讲。...
  • 这个貌似不需要写太多废话,所以直接开始python的名字早已经如雷贯耳,最近突然来了兴致,自学过程中遇到很多问题,写个博客自己作为备忘,也为新学习的小伙伴节省点时间。 python初识 python的介绍,这里不...
  • 所以我就要从零开始学python,然后从零开始爬数据,然后从零开始存到数据库,然后从零开始处理数据。 哦对,我是mac 大概要实现的功能是这样的: 获取东方财富所有支持融资融券的融资余额及历史数据,存到数据库里,...
  • 从零开始学python3

    2020-03-01 20:22:41
    从零开始学python3 太原理工团队机器人20日打卡day3 ​ 经过前两天长时间战斗,终于把Linux的基础学习完成,而今日开始了python的学习,因为高中时期学过一部分python,所以今日学习总的来说还是十分简单的。需要...
  • python3.5从零开始学

    2018-08-12 05:04:22
    ACS2一般用来表示英文,所以表示其他国家的文字时候,Unicode应运而生。而传输过大,所以用UTP-8。...python序列中的通用操作:索引indexing,分片slicing,序列相加adding,乘法multiplying,成员资格in...
  • 更加的偏向一本基础工具书吧,自我感觉本书很注意的一点是:每章最后的案例都是按照数据分析的基本流程就行实例的,这个感觉在自己实际工作的,尤其...《从零开始学Python数据分析(视频教学版)》,作者:罗攀 ...
  • 简介: Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开 发行版发行于 1991 年。...Python 在设计上坚持了清晰划一的风格,这使得Python 成为一门易读、易维...
1 2 3 4 5 ... 20
收藏数 42,119
精华内容 16,847