前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python先生

python先生

作者头像
不止于python
发布2022-05-31 19:54:34
3980
发布2022-05-31 19:54:34
举报
文章被收录于专栏:不止于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之禅及翻译

代码语言:javascript
复制
>>> import this
# 导入this

The Zen of Python, by Tim Peters
提姆·彼得斯(Tim Peters)撰写的《 Python之禅》

Beautiful is better than ugly.
# 优美胜于丑陋

Explicit is better than implicit.
# 显式胜于隐式

Simple is better than complex.
# 简单胜于复杂

Complex is better than complicated.
# 复杂胜于难懂

Flat is better than nested.
# 扁平胜于嵌套

Sparse is better than dense.
# 稀疏胜于紧空

Readability counts.
# 可读性应当被重视

Special cases aren't special enough to break the rules, Although practicality beats 
# 尽管实用性会打败纯粹性,特例也不能凌驾于规则之上purity.

Errors should never pass silently, Unless explicitly silenced.
# 不要忽略任何错误,除非你确认要这么做

In the face of ambiguity, refuse the temptation to guess.
# 面对不明确的定义,拒绝猜则的诱惑

There should be one-- and preferably only one --obvious way to do it.
# 找到一种最好唯一的一种方法去解決问题。

Although that way may not be obvious at first unless you're Dutch.
# 虽然一开始这种方法并不是显而易见,因为你不是 Python 之父

Now is better than never.
# 做好过不做

Although never is often better than *right* now.
# 但没有思考的做还不如不做

If the implementation is hard to explain, it's a bad idea.
# 如果实现很难说明,那它是个坏想法

If the implementation is easy to explain, it may be a good idea.
# 如果实现容易解释,那它有可能是个好想法

Namespaces are one honking great idea -- let's do more of those!
# 命名空间是个绝妙的想法,请多加利用。

应用领域

0WEB开发

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.python.org/

官网教程

https://docs.python.org/3/

菜鸟教程

https://www.runoob.com/python3/python3-tutorial.html

廖雪峰教程

https://www.liaoxuefeng.com/wiki/1016959663602400

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 不止于python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档