zoukankan      html  css  js  c++  java
  • 【Python】学习笔记

    Python是一种多用途的语言,可以定义为面向对象的脚本语言。与其他的面向对象的语言相比,Python的可读性很好,格式简单明了,代码移植性强,有强大的标准库支撑(Numpy,nltk……数学功能极其强大)并且可以用来集成各种编程语言书写的代码。所以越来越多的人选择了Python。

    Python安装

    windows下面可以去python的官网下载,安装后修改环境变量就可以使用了。

    Ubuntu可以用下面的命令:

    sudo apt-get install python

    自动安装的是Python2.7版本的,Python3和Python2区别略大,我两个都装了,可以用pip+virtualenv来进行python的版本区分。具体可以参见:

    Python的IDE是IDLE,现在最高好像只有Python2.7版本的。IDE作用不大,就是给个界面。如果习惯了使用IDE的童鞋可以安装试试。

    Python运行

    Python安装到机器上后,包含的是一些最小化的组件:一个解释器和支持的库。解释器是能够执行用其他计算机语言编写的程序的系统软件,属于一种翻译程序。Python解释器先读取程序,并按照其中的命令执行,得出结果。

    一个Python程序运行步骤如下:

    源代码(**.py)   =>   字节码(**.pyc)  =>   PVM

    首先是你写的源码,一般是以.py作为文件类型,然后根据在Python内部将这些源代码逐条翻译成字节码的指令。使用字节码可以节省运行的时间开销。你在你运行过的python文件的同级目录下可以看到这些.pyc的字节码文件。字节码之后被发送到Python虚拟机(Python Virtual Machine, PVM)上执行。

    P.S. Python的字节码是Python自己的定义,而非汇编指令之类的。

    下面是有关Python运行的一些总结

    1. 搜索路径

    在Python中搜索路径有点像C++的项目路径的感觉,Python中的sys.path便是搜索的总的路径集,你需要用到的文件都应该在这个路径里可以找到。

    -- 添加默认搜索路径:可以暂时加入路径也可以永久加入。

        暂时加入路径可以在每次代码上添加:

    import sys
    sys.path.append(’D:/WorkSpaces/Python/Test’)

        永久加入有两种方法,

        方法一:将这个路径添加到site-packages这个文件夹下面,在我的Python里是在lib下面的。

        在site-package这个文件夹里新建一个.pth的文件,文件里写你需要永久添加的路径。这种方法不好的地方在于如果有几个版本的Python就不可以通用了。

    # .pth file for test this method
    D:WorkSpacesPythonTest 

        方法二:在环境变量中添加PYTHONPATH,如果还没有这个变量可以新建一个,然后填上你需要加入的路径即可。

    --  包导入

        一个工程中往往一个文件夹下有多个子文件夹,如果要将所有的子文件夹都加入未免太麻烦了。在Python中提供了一种模拟Java中包的概念的方法。在Python中称为包导入。

        包导入语句的路径内的每个目录都必须有__init__.py这样一个文件,否则导入包会失败。__init__.py文件里未必需要内容可以直接为空,当然你也可以写一些东西。当Python首次导入某个目录时会自动执行该目录下的__init__.py文件中的所有程序代码,你可以使用该文件创建你所需要的数据文件,做数据库的连接等初始化的步骤。

        在对一个目录进行包导入后,你就可以用类似java中包的方法来使用包中的文件,如

    import dir1.dir2.Test.py

    2. 运行程序

    运行程序可以直接使用python的命令,当然你需要将Python的路径添加到:

    python Test.py

    Python语法粗概

    看的是Mark Lutz的Python学习手册,很多细节,粗粗的概括一下几个与传统的面向对象语言差别比较大的地方。

    1.  缩进: 在C++或者Java中,缩进、空格多几个都是无所谓的,只要自己看着舒服,缩几个都行。但是在Python中为了让代码一眼看上去的是怎么样就是怎么样,避免读代码时候的错误,缩进就代表着代码块的范围而不需要括号来进行划分,使得代码变得更加的简洁且一目了然。譬如下面注明的if例子:

    if(x)
        if(y)
             statement1;
    else
        statement2;

    在Java里这个else肯定是和内层的if(y)配套的,而在Python里适合外层的if(x)相配套的。这样是否更加的直观清晰?个人比较喜欢Python这个设计。

  • 相关阅读:
    构建之法 读书笔记01
    团队合作第一次会议有感
    浪潮之巅 读书笔记 03
    浪潮之巅 读书笔记 02
    团队介绍
    疫情查询app 开发
    世界疫情信息爬取 及开发查询爬取数据的app
    浪潮之巅 读书笔记 01
    支付宝沙箱配置
    定时器定时执行redis操作定时器执行几次自动停止的问题
  • 原文地址:https://www.cnblogs.com/xiaoka/p/3208465.html
Copyright © 2011-2022 走看看