python先生

起源及创始人

Python的创始人为吉多·范罗苏姆。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释编程,作为ABC语言的一种继承。之所以选中Python作为编程的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果,完美结合了C和其他一些语言。
就这样,Python在吉多手中诞生了。实际上,第一个实现是在Mac电脑上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
当前吉多仍然是Python的主要开发者,决定整个Python语言的发展方向。Python社群经常称呼他是终身仁慈独裁者(BDFL)。
发音
英国发音:/ˈpaɪθən/ (拍森)
美国发音:/ˈpaɪθɑːn/ (拍桑)
python之禅及翻译
1 | >>> import this |
应用领域
0
WEB开发
Python拥有很多免费数据函数库、免费web网页模板系统、以及与web服务器进行交互的库,可以实现web开发,搭建web框架,目前比较有名气的Python web框架为Django。从事该领域应从数据、组件、安全等多领域进行学习,从底层了解其工作原理并可驾驭任何业内主流的Web框架。
1
桌面软件
Python在图形界面开发上很强大,可以用tkinter/PyQT框架开发各种桌面软件!
2
网络编程
网络编程是Python学习的另一方向,网络编程在生活和开发中无处不在,哪里有通讯就有网络,它可以称为是一切开发的“基石”。对于所有编程开发人员必须要知其然并知其所以然,所以网络部分将从协议、封包、解包等底层进行深入剖析。
3
爬虫开发
在爬虫领域,Python几乎是霸主地位,将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。从事该领域应学习爬虫策略、高性能异步IO、分布式爬虫等,并针对Scrapy框架源码进行深入剖析,从而理解其原理并实现自定义爬虫框架。
4
云计算开发
Python是从事云计算工作需要掌握的一门编程语言,目前很火的云计算框架OpenStack就是由Python开发的,如果想要深入学习并进行二次开发,就需要具备Python的技能。
5
人工智能
MASA和Google早期大量使用Python,为Python积累了丰富的科学运算库,当AI时代来临后,Python从众多编程语言中脱颖而出,各种人工智能算法都基于Python编写,尤其PyTorch之后,Python作为AI时代头牌语言的位置基本确定。
6
自动化运维
Python是一门综合性的语言,能满足绝大部分自动化运维需求,前端和后端都可以做,从事该领域,应从设计层面、框架选择、灵活性、扩展性、故障处理、以及如何优化等层面进行学习。
7
金融分析
金融分析包含金融知识和Python相关模块的学习,学习内容囊括Numpy\Pandas\Scipy数据分析模块等,以及常见金融分析策略如“双均线”、“周规则交易”、“羊驼策略”、“Dual Thrust 交易策略”等。
8
科学运算
Python是一门很适合做科学计算的编程语言,97年开始,NASA就大量使用Python进行各种复杂的科学运算,随着NumPy、SciPy、Matplotlib、Enthought librarys等众多程序库的开发,使得Python越来越适合做科学计算、绘制高质量的2D和3D图像。
9
游戏开发
在网络游戏开发中,Python也有很多应用,相比于Lua or C++,Python比Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,Python非常适合编写1万行以上的项目,而且能够很好的把网游项目的规模控制在10万行代码以内。
常用编辑器
PyCharm
Vim
Sublime Text
Notepad++
优缺点
优点
简单、易学
python非常简单,非常适合人类阅读,python的代码就像英语文章一样,这种伪代码是它最大的优点之一,使你能够专注于解决问题;python极其容易上手,python摒弃了c语言中非常复杂的指针,简化了python的语法。
免费、开源
python的所有内容都是免费、开源的,可以任意发布软件的版本、阅读软件的源代码、对它做改动。
可移植性
由于python是开源的,目前已经被移植到了大多数平台,如果的程序避开了对系统的依赖性,那么你的程序可以在任意平台运行使用,例如:Windows、MacOS、Linux、Andorid、iOS等等。
缺点
速度慢
Python是解释型语言,所有运行速度会比C、C++慢,但是不影响使用。
开源性
由于python的开源性导致python代码无法加密。
强制缩进
如果你经常使用C语言或者Java语言来编写程序,那么python的强制缩进会让你很不适应,如果习惯看强制缩进,写出的代码排版非常美观。
使用Python编写的著名应用
- Youtube - 视频社交网站
- Reddit - 社交分享网站
- Dropbox - 文件分享服务
- 豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
- Django - 鼓励快速开发的Web应用框架
- Pylons - Web应用框架
- Zope - 应用服务器
- Plone - 内容管理系统
- Instagram - 是一款免费提供在线图片及视频分享的社交应用软件,使用Django作为后台
- TurboGears - 另一个Web应用快速开发框架
- Twisted - Python的网络应用程序框架
- Fabric - 用于管理成百上千台Linux主机的程序库
- Python Wikipedia Robot Framework - MediaWiki的机器人编程
- MoinMoinWiki - Python写成的Wiki程序
- Trac - 使用Python编写的BUG管理系统
- Mailman - 使用Python编写的邮件列表软件
- Mezzanine - 基于Django编写的内容管理系统
- Flask - Python微Web框架
- Webpy - Python微Web框架
- Bottle - Python微Web框架
- EVE - 网络游戏EVE大量使用Python进行开发
- Blender - 使用Python作为建模工具与GUI语言的开源3D绘图软件
- Inkscape - 一个开源的SVG矢量图形编辑器。
- 知乎 - 一个问答网站
- 果壳 - 一个泛科技主题网站
- Odoo-仍在持续发展壮大且最受欢迎的ERP软件
学习教程
python官网
官网教程
菜鸟教程
https://www.runoob.com/python3/python3-tutorial.html
廖雪峰教程
https://www.liaoxuefeng.com/wiki/1016959663602400
扫描二维码
获取更多精彩
不止于python
