什么是Python
Python是一种解释型的、 面向对象的带有动态语义的高级程序设计语言
Python的诞生
- 第1个Python编译器/解释器于1991年诞生
- Python名称来自Guido挚爱的电视剧Monty Python's Flying Circus
- Python介于C和Shell之间、功能全面、易学易用、可扩展
Python 的历史
- 胶水语言:很容易和其他著名的程序语言连接(C/C++),集成封装
- 脚本语言:高级脚本语言,比脚本语言只能处理简单任务强大
- 面向对象语言:完全支持继承、重载、派生、多继承
Python的特点
- 可移植 可升级 可扩展
- 健壮性 解释性 编译性
- 易学 易读 易维护
- 内存管理器
- 高级 面向对象
- 快速原型开发工具
Python的优缺点
优点:
简单易学,入门容易。
高级语言,无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性,你的所有python程序无需修改就几乎可以在市场上所有的系统平台上运行。
可扩展性,如果你需要你的一段关键代码运行的更快或者希望某些算法不公开,你可以把你的部分程序用c或c++编写,然后在你的python程序中使用它们。
可嵌入性,你可以把python嵌入你的c/c++程序,从而向你的程序用户提供脚本功能。
缺点:
代码不能加密:python是解释性语言,它的源码都是以明文形式存放的
多线程支持不好
因为python是解释性语言,在运行时需要解释器解释,所以相对C语言等直接和内核进行交互的语言运行较慢
Python的应用
- 数据分析
- 云计算:openstack
- WEB开发:优秀的WEB框架(Django、flask、tornado)
- 科学运算、人工智能:典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- 系统运维:slatstack(系统自动化配置和管理工具)
- Ansible(自动化运维工具)
- 图形开发:wxPython、PyQT、TKinter
使用Python的主流公司以应用
- Google公司 主要产品:GoogleGroups、Gmail、Google Maps、AlphaGo等 应用程序: GoogleApp Engine
- NASA :美国宇航局
- Dropbox:美国最大的在线云存储网站
- 豆瓣网
- BitTorrent:bt下载软件客户端
- gedit:Linux平台的文本编辑器
- GIMP:Linux平台的图像处理软件(Linux下的PS)
- 知乎(国外的Quora):社交问答网站,国内最大的问答社区
- AutodeskMaya:3D建模软件
- YouTube:世界上最大的视频网站
- Facebook:大量的基础库均通过Python实现的
- Redhat:世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的。
- 除了上面的之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
Python3和Python2的区别
- print函数
- Unicode字符集支持中文
- 除法运算
- 异常
- xrange
- 八进制字面量表示
- 不等于运算符
- 多个模块被改名(根据PEP8)
- 取消了exec语句,只剩下exec()函数。2.6和2.7版本兼容exec()函数
- 数据类型
- dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有 dict.has_key(),用 in替代它。
python的安装与IDE
Anaconda:Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda
来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
使用anaconda的优点:
- 不需要配置PYTHON环境变量;
- 集成很多packages,省去一一下载的麻烦;
- packages的安装很简单,anaconda一键解决;
- 可以配置python3.5版本的环境,方便切换,互不干扰,兼容性强!
pycharm:
详细解释和安装步骤在如下链接:http://www.cnblogs.com/crazytesla/p/7141247.html
参考资料:
1.几个常用的网站
Python IDE下载:
(1) 标准IDE: IDLE (内置,方便小巧)
https://www.python.org/
(2) 集成开发平台: Anaconda (支持多种操作系统,集成了主流的科学计算包)
清华大学镜像(推荐,下载Python 3版本):https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
官网: https://www.continuum.io/downloads
(3)pycharm汉化版
http://itbbs.pconline.com.cn/soft/53653396.html 切记:不要下载附加软件
英语好的直接去官网下载
2.Python参考教程和网站
(1) Magnus Lie Hetland, Beginning Python: from Novice to Professional, 2nd edition, Apress.(第二版中译版名为《Python基础教程》)
(2) SciPy科学计算生态圈:http://www.scipy.org/
(3) Wes McKinney, Python for Data Analysis. 东南大学出版社. (英文影印本,中译版名为《利用Python进行数据分析》)
链接:http://pan.baidu.com/s/1kUK2SyN 密码:gl9j