【Python】学习笔记

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

 

Python安装python

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

Ubuntu能够用下面的命令:编程

sudo apt-get install python

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

Python的IDE是IDLE,如今最高好像只有Python2.7版本的。IDE做用不大,就是给个界面。若是习惯了使用IDE的童鞋能够安装试试。app

 

Python运行编程语言

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

一个Python程序运行步骤以下:this

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

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

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:\WorkSpaces\Python\Test 

    方法二:在环境变量中添加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这个设计。

相关文章
相关标签/搜索