2、入门第0篇章:python学习优劣
为啥是python
因为我其他语言学不会啊,现在工作了没精力学。(都是扯淡)
其实我想说的是,python的优点和缺点一样明显。下面我们来讲下为啥要学python,像极了每个语言学习的过程。。。讲历史,说优劣,打Hello World!
1、python历史
Guido von Rossum,荷兰人,Python作者,python正是他圣诞节无聊的时候写的!(牛人总是那么寂寞)
image.png听说是源于:1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。Guido作为一个语言设计爱好者,已经有过设计语言的(不很成功)的尝试。这一次,也不过是一次纯粹的hacking行为。---(摘抄的,当作故事看看就好)
2、python 特点
1).是一种解释性的语言
2).是一种交互式的语言
3).是一种面向对象的语言
4).是一种跨平台的语言
3、python优势
原因:很简单
(1)Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂
(2)非常强大的第三方库
(3)高级语言
(4)可移植性--开源本质,Python已经被移植在许多平台上
(5)可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们
(6)可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能
4、python缺点
(1)速度慢
(2)代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的
(3)线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。
5、python应用领域
云计算: 云计算最火的语言, 典型应用OpenStack
WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
系统运维: 运维人员必备语言
金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
图形GUI: PyQT, WxPython,TkInter
6、使用python的公司
谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
CIA: 美国中情局网站就是用Python开发的
NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
YouTube:世界上最大的视频网站YouTube就是用Python开发的
Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
Facebook:大量的基础库均通过Python实现的
Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
豆瓣: 公司几乎所有的业务均是通过Python开发的
知乎: 国内最大的问答社区,通过Python开发(国外Quora)
春雨医生:国内知名的在线医疗网站是用Python开发的
除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
历史和优缺点大概这样讲完了,我们开始和世界打招呼了!
print("Hello World!")
怎么样,超简单是不是!(一开始我也这么认为,不过为啥我就是不好好学习呢!!)