一、Python简介

1、Python 的发展

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

1.1、解释器

计算机不能直接理解机器语言以外的语言,所以必须要把程序员所写的程序语言翻译为机器语言,计算机才能执行程序。将其他语言翻译为机器语言的工具,被称为编译器
编译器翻译的方式有两种:一种是编译,一种是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称为解释器

编译器与解释器执行过程图

  • 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台差些。如C、C++
  • 解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行。

1.2、Python的设计目标

  • 一门简单直观的语言并与主要竞争者一样强大
  • 开源、以便任何人都可以为它做贡献
  • 代码像纯英文那样容易理解
  • 适用于短期开发的日常任务

1.3、Python的设计哲学

  • 优雅
  • 明确
  • 简单
    Python开发者的哲学是:用一种方法,最好是只有一种方法来做一件事情

2、语言特点

优点:

  • 简单易学
  • 易读、易维护
  • 用途广泛
  • 速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
  • **免费、开源 **
  • 高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节.
  • 可移植性
  • 解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
  • 面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
  • 可扩展性、可扩充性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
  • 可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
  • 规范的代码
  • 丰富的库
  • 高级动态编程

缺点:

  • 单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在* shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
  • 给初学者带来困惑:独特的语法,这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。
  • 运行速度慢:这里是指与C和C++相比。

3、开发环境

  • 解释器:python/python3
  • 交互式:ipython
  • 集成开发环境:
    • IDLE: Python内置IDE (随python安装包提供)
    • PyCharm:详见百度百科PyCharm,由著名的JetBrains公司开发,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工 具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
      • PyCharm 是Python的一款非常优秀的集成开发环境
      • PyCharm 除了具有一般IDE所必备功能外,还可以在Windows、Linux、MacO下使用
      • PyCharm 适合开发大型项目
    • PyPE:一个开源的跨平台的PythonIDE。
    • Sublime
    • Notepad++
    • Jython:(原名JPython;Java语言实现的Python,现已正式发布)。Jython可以直接调用Java的各种函数库。

4、开发工具

Tkinter:Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。
PIL:python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
Psyco:一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
PyGame:用于多媒体开发和游戏软件开发的模块。可以直接使用pip install pygame下载

5、Python 版本

目前市场上主流Python版本分别为:Python 2.x和Python 3.x

  • Python 2.x是过去的版本,解释器名称为:python
  • Python 2.x默认是不支持中文的,Python 3.x支持中文
  • Python 3.x是现在和未来 主流的版本
  • 为了照顾现有的程序,官方提供了一个过渡版本–Python 2.6
    • 基本使用了 Python 2.x 的语法和库
    • 同时考虑了向 Python 3.0的迁移,允许部分使用 Python 3.0 的语法和函数
    • 2010年中推出的 Python 2.7 被确定为最后一个Python 2.x 版本

6、第一个Python程序

6.1、IDEA新建一个Python项目


注意:

  • 命名文件名时建议只使用 小写字母、数字和下划线
  • 文件名不能以数字开始

6.2、打印Hello Python

print("Hello Python")
控制台输出:

7、行和缩进

学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

以下实例缩进为四个空格:
实例:

点击查看代码
if True:
    print("true")
else:
    print("False")

8、多行语句

Python语句中一般以新行作为语句的结束符。
但我们可以使用斜杠()将一行的语句分为多行显示,如下所示:

点击查看代码
total = item_one + \
        item_two + \
        item_three

语句中包含[],{}或()括号就不需要使用多行连接符,如下实例:

点击查看代码
days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

同一行显示多条语句
Python 可以在同一行中使用多条语句,语句之间使用分号(;)分割,如下实例:

点击查看代码
print("Hello Python");print(9 + 2);print(9 - 2)