Python自动化开发课堂笔记【Day01】

Python介绍

Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。有效地减少程序员的开发成本。

1. 简单易学,免费开源

Python语法简单容易上手,同时又不失高性能的特点。它是FLOSS(自由/开放)源码软件之一,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。由于众多编程爱好者的维护,所以你不是一个人在战斗。

2. 高层语言

使用Python编写程序时无需考虑类似于C/C++程序使用的内存一类的底层细节。

3. 可移植性

由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。

4. 解释性

一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

5. 面向对象

Python即支持面向过程的编程也支持面向对象的编程。在 面向过程 的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在 面向对象 的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

6. 可扩展性

如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

7. 可嵌入性

你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

8. 丰富的库

Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

Python和其他语言对比

 C/C++编译成本地机器码,可以有操作系统直接运行,运行效率较高,Java编译成字节码,由Java虚拟机读取运行,效率上可以有JIT来弥补。Python是脚本语言,基于C++,运行时也需要先由编译器(PVM)编译成为字节码,再通过解释器(PVM)读取字节码交由操作系统运行。效率上不及C++但是编程速度快,利于缩短开发周期。

Pyhton:快速开发应用程序

Java: 健壮的大型软件

C/C++: 需求效率的软件,操作系统及驱动。

常用的IDE:Python使用PyCharm,Java使用MyEclipse,C++使用VS

Python的种类

CPython:原始标准的实现方式

JPython:用于与Java语言集成的实现

IronPython:用于与.NET框架集成的实现

PyPy是python的性能优化工具之一,是由Python实现的Python解释器,对Python语言进行动态编译。相比于CPython一行一行的执行机器码,PyPy会先将字节码全部转换为机器码然后全部执行,在效率上大大提升。

Python的安装与执行

通常Python源文件编写完成后由(.py)后缀结束以便区分其他语言的源文件,通常有Python解释器编译为字节码文件(.pyc),之后通过解释器交由计算机执行。

Windows系统可以通过安装Python解释器来执行源文件,Linux系统通常默认会自带Python解释器。

Windows执行范例:

1 C:UsersajiaxAppDataLocalProgramsPythonPython35-32python.exe C:UsersajiaxPycharmProjectsPython17Day01HelloWorld.py

Linux执行范例:

1 vim HelloPython.py
2 chmod 755 HelloPython.py
3 ./HelloPython.py

 Python中的编码问题

ASCII码:最初编码只能用来表示英文字符及符号,使用1个byte,8bit可以有256种编码。

万国编码:支持所有国家文字编码,至少使用2个byte,16bit,没有最高byte使用限制,其中中文有3个byte表示。

UTF-8编码:对万国码的压缩,避免空间浪费,尽可能用最少的字节表示字符,但至少使用1个byte。

GBK/GBK2312:只能用于中英文字符表示,使用2个byte,其中GBK是对后者的补充,可以支持繁体字。

P.S. Python3解释器默认是UTF-8的编码,而Python2解释器默认ACSII码,可以使用 # -*- coding:utf-8 -*-写入源文件起始位置来避免在不同版本中出现解码错误。

 

原文地址:https://www.cnblogs.com/paodanke/p/6756989.html