Python 介绍

一. Python 历史

二. Python优缺点

三. Python 应用场景

四. Python3 和 Python2 的区别

五. Python2 的中文编码问题

六. Python 的运行方式

七. Python 包管理工具:pip

 

 

一. Python 历史

  1. Python的意思是蟒蛇,源于作者喜欢的一部电视剧
  2. Python的作者是Guido van Rossum(龟叔)
  3. Python是龟叔在1989年圣诞节期间,为了打发无聊的圣诞节而用C编写的一个编程语言
  4. Python正式诞生于1991年
  5. Python的解释器如今有多个语言实现,我们常用的是CPython(官方版本的C语言实现),其他还有Jython(可以运行在Java平台)、IronPython(可以运行在.NET和Mono平台)、PyPy(Python实现的,支持JIT即时编译)
  6. Python目前有两个版本,Python2和Python3
  7. Life is shot, you need Python.(人生苦短,我用Python)

 

二. Python优缺点

优点

  1. 简单。Python是一种代表简单主义思想的语言,有着极其简单的语法。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
  2. 开源、免费。Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。

  3. 高层语言。当你用Python语言编写程序的时候,你无需考虑诸如何管理你的程序所使用的内存一类的底层细节。

  4. 可移植性。由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!

  5. 解释性。一个用编译性语言比如C或C++写的程序,需要从源文件(即C或C++语言)转换到一个你的计算机所使用的语言(二进制代码,即0和1),这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
  6. 面向对象。Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

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

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

    规范的代码。Python采用强制缩进的方式使得代码具有极佳的可读性。

缺点

  1. 运行速度,有速度要求的话,用C++改写关键部分吧。

  2. 国内市场较小(国内以python来做主要开发的,目前只有一些web2.0公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。

  3. 中文资料匮乏(好的python中文资料屈指可数)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。

  4. 构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。

 

三. Python 应用场景

Web应用开发

Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django、TurboGears、web2py、Zope等,可以让程序员轻松地开发和管理复杂的Web程序。

操作系统管理、服务器运维的自动化脚本

在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。

科学计算

NumPy、SciPy、Matplotlib 等库可以让 Python 程序员编写科学计算程序。

桌面软件

PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。

服务器软件(网络软件)

Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

游戏

很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。

构思实现,产品早期原型和迭代

YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。

 

四. Python3 和 Python2 的区别

  1. print() 函数
  2. 整除。3/2=1.5(Python3);3/2=1(Python2)
  3. 支持Unicode(utf-8)字符串
  4. xrange()函数被集成在range()函数中
  5. 取消.next()函数
  6. 通过input()函数解析用户输入,把用户的输入存储为一个str对象
  7. 返回可迭代对象,而不是列表
  8. ……

 

五. Python2 的中文编码问题

在程序的开头中写入如下代码,这就是中文注释:

1 #coding=utf-8

 在python的语法规范中推荐使用的方式如下:

1 # -*- coding:utf-8 -*-

 

六. Python 的运行方式

方式一:python + py文件名

方式二:在代码第一行写入执行时的python解释器路径,编辑完后需要对此py文件添加'x'权限,使用 ./py文件名 来执行。

 

七. Python 包管理工具:pip

pip是python包管理工具,pip和pip3版本不同,都位于Scripts\目录下,其区别如下:

  1. 如果系统中只安装了Python2,那么就只能使用pip;
  2. 如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的;
  3. 如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用;
  4. 重要:在虚拟环境中,若只存在一个python版本,可以认为在用系统中pip和pip3命令都是相同的。

常用方法如下:

  • pip list:查看本机已经安装的包及其版本。
  • pip install [package_name]:安装[package_name]这个包(默认最新版本)。
  • pip install [package_name]==版本号:安装指定版本号的[package_name]。
  • pip install -r [path+file_name]:批量安装指定文件[path+file_name]中所列举的包。
  • pip uninstall [package_name]:卸载[package_name]这个包。
  • pip show [package_name]:查看[package_name]这个包的详细信息。
  • pip install --upgrade [package_name]:升级[package_name]这个包。
  • pip freeze > [path+file_name]:将已安装的包名称写入指定文件[path+file_name]中。

 

posted @ 2020-02-13 20:04  Juno3550  阅读(280)  评论(0编辑  收藏  举报