01-初识python

介绍python以前,先来讲一下编译型语言和解释型语言,面向对象和面向过程的区别:
 

编译型语言和解释型语言

计算机高级语言按照程序的执行方式能够分为编译型语言和解释型语言。

编译型语言:是指代码写好之后,须要使用专门的编译器进行编译,一次性将代码转换成特定的系统平台(操做系统)能够识别并运行的机器语言(机器码)。python

优势:编译器通常会有预编译的过程对代码进行优化。在运行代码以前,对其编译只作一次,生成一个系统可直接运行的机器码文件,运行时不须要再次编译,因此编译型语言的程序执行效率高,能够脱离语言环境独立运行。linux

缺点:编译以后若是须要修改,就须要整个模块从新编译,编译的时候根据对应的运行环境(操做系统)生成机器码,不一样的操做系统之间移植就会有问题,须要根据运行的操做系统环境编译不一样的可执行文件。c++

好比c, c++, Go, Swift, Object-C, Pascal...算法


解释型语言:是指代码写好之后,须要使用该语言的解释器将代码转换成一种易于执行的中间代码(字节码),而后再将字节码转换成特定的系统平台可识别的机器码,能够这样理解:每次执行解释型语言的程序都须要进行一次编译,才能够放到特定的系统中去运行。编程

优势:有良好的平台兼容性,在任何环境中均可以运行,前提是安装了对应平台的解释器,具备灵活性,修改代码的时候直接修改源代码,而后作一下转换工做就能够,能够快速部署,不用停机维护。windows

缺点:每次运行的时候都要解释转换一遍,不能生成系统平台直接可运行的程序,性能上不如编译型语言。

好比JavaScript, Python, Ruby, PHP, Perl, Eriang...浏览器

 
举个例子:
A和B是两个国家的人,由于语言不通没法交流。若是想要彼此交流,听懂对方的语言,就须要翻译。编译型语言就是A学会了B的语言,交流的时候,直接将本身的想法用B的语言说出来,这样B就能直接听懂,反之易然;解释型语言呢,就是A本身找了一个懂得多国语言的翻译官,想要表达本身的意思,须要先跟这个翻译官说,而后这个翻译官在把A的意思,翻译给B听,因为中间多了一个翻译的过程,速度上要比编译型语言慢一些,可是好处也是有的,就是这个翻译官懂得多种语言,A要和其余国家的人交流,直接找他就行,可是编译型语言呢,你要想跟C交流,首先本身要学会C的语言才行,大概就是这个意思吧。
 

面向对象和面向过程

面向对象:以数据为重心,全部的处理代码都是围绕数据展开,数据即对象;就是一件事‘让谁来作’,这个‘谁’就是对象,他要怎么作是他本身的事,反正最后一群对象协力能把这件事作好就好了;好比,本身组装电脑
 
面向过程:以指令为中心,由指令处理数据,这些指令构成了过程;就是一件事该怎么作,由谁来作咱们无论,可是你必须按照咱们规定的步骤去作就好了;好比本身造电脑
 

Python简介

python创始人是Guido van Rossum(吉多.范罗苏姆),于1989年开发,1991年公开发行;函数

python是一种解释型、面向对象(也支持面向过程)、动态数据类型的高级程序设计脚本语言,语法简洁清晰,采用缩进来定义语句块,具有来及自动回收功能,可以自动管理内存空间使用,python虚拟机自己几乎适用于全部系统,使用诸如py2exe、PyPy、Pyinstaller之类的工具可将源代码转换成脱离python解释器执行的程序,这里咱们主要参考的是CPython,是基于C语言开发的一种自由编程软件。工具

python重要思想:一切皆对象
 

Python的分类

Cpython性能

    Python的官方版本,使用C语言实现,使用最为普遍,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),而后运行在Python虚拟机上。

Jyhton

    Python的Java实现,Jython会将Python代码动态编译成Java字节码,而后在JVM上运行。

IronPython

    Python的C#实现,IronPython将Python代码编译成C#字节码,而后在CLR上运行。(与Jython相似)

Shed Skin

    Python编译器,可以将python代码转换成优化的C++代码

PyPy(特殊)

    Python实现的Python解释器,将Python的字节码字节码再编译成机器码。

    Python语言的动态编译器,是Psyco的后继项目

    可运行在linux,MacOSX(32),Windows(32)平台中

其余

RubyPython、Brython ...

 

python能作什么

脚本

自动执行常见的管理任务,如在系统中新增用户,将文件上传到网站,在不使用浏览器的状况下下载网页等。

 

网站开发

做为快速建立动态网站的工具,Django,Bottle,Zope等众多Python项目深受开发人员的欢迎。

 

文本处理

Python在字符串和文本文件处理方面提供了强大支持,包括正则和Unicode

 

科学计算

Python科学计算库,提供了用于统计,数学计算和绘图的函数

 

Python的优缺点

优势

简单易学,入门容易。

高级语言,无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

可移植性,你的全部python程序无需修改就几乎能够在市场上全部的系统平台上运行。

可扩展性,若是你须要你的一段关键代码运行的更快或者但愿某些算法不公开,你能够把你的部分程序用c或c++编写,而后在你的python程序中使用它们。

可嵌入性,你能够把python嵌入你的c/c++程序,从而向你的程序用户提供脚本功能。

 
缺点
速度慢;代码不能加密;线程不能利用多cpu问题;
 

python的运行方式

1,交互式解释器

直接启用python自带的解释器,也就是一个命令行窗口,能够直接执行python代码,通常做为调试代码用,而且,执行完之后,难以再次运行

例如:

 

2,python程序文件

将python代码保存到一个文件中,并以.py结尾,能够方便屡次运行

例如:新建一个名字为test的.py文件,内容以下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import platform
print platform.uname()
#第一行为shebang,指定执行下面内容的解释器 #第二行指定编码格式,python2默认为ascii #第三行经过import来导入一个python的模块platform #第四行打印platform模块的uname方法的执行结果

模块:事先写好的能够被调用的函数集合的程序文件

脚本:用于调用模块而且运行的程序文件,即python整个程序构成的全部文件的顶层文件(入口)

 

windows系统运行方式

打开命令提示符[dos],输入python,进入python解释器,直接输入代码,回车便可运行,如:

 
也能够事先把代码写进一个文件中,而后在这里直接调用执行此文件便可,如:

python的程序文件

可分解成模块,语句,表达式和对象,它们的关系是:

程序由模块构成,模块包含语句,语句包含表达式,表达式创建并处理对象

例如:

1+1,是某件事,即表达式

print(1+1) 是作某件事,即语句

 

Python注释

Python中单行注释采用#开头,多行注释采用三个单引号(''' ... ''')或三个双引号(""" ... """)引发来;

注释也能够用在行的结尾,用来表示注释信息;

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#FileName:hello.py
#这是单行注释
'''
这是多行注释
这是多行注释
这是多行注释
'''
"""
这是多行注释
这是多行注释
这是多行注释
"""

.pyc文件

执行python代码时,若是导入了其余的.py文件,那么在其执行过程当中会自动生成一个同名的.pyc文件,该文件就是python解释器编译后产生的字节码文件,代码通过编译能够产生字节码,字节码经过反编译也能够获得代码。

 

行和缩进

python的代码块使用缩进来控制类、函数及其余逻辑判断的模块,这也是python不一样于其余语言的地方。

如:

if Ture:
    print ("True")  #前面以空格缩进:
elseprint ("False") #前面以空格缩进

注意:行首缩进的空格数量是可变的,但必须保证全部的代码块语句,缩进的空格数是一致的,建议在每一个缩进层次使用单个制表符或两个空格或四个空格,切记不能混用。

相关文章
相关标签/搜索