Python之父Guido在最近一次采访的最后说了啥
Python之父Guido在最近一次采访的最后说了啥?
在前些天的一次采访中,被问到Python未来发展方向的时候原文在infoworld,咱们可爱的python老爹Guido是这样说的:
One thing I want to point out are the SciPy and NumPy movements. Those people are introducing Python as a replacement for MatLab. It's open source, it's better, they can change it. They are taking it to places where I had never expected Python would travel. They have things like the Jupyter Notebooks that show interactive Python in the browser. There is a lot of incredibly cool work that is happening in that area.
简单翻译成中文就是说:在这里我要重点提一下SciPy 和 NumPy,做这些库的朋友们正在用Python替换MatLab,把Python带向了一个我从未想过的领域。他们发明了Jupyter Notebooks 可以在浏览器上进行Python的交互式编程。
注意到没? Jupyter Notebooks !
jupyter简介
jupyter是啥啊?
这个要从ipython说起,ipython是个交互式的python的解释器,自带颜色,补全还有行号,科学界的很多大牛都用来进行数据分析和图形显示。
ipython还可以运行在浏览器上,就是下面这个样子:

名字也就高大上一点,叫ipythoon notebook,那个jupyter图标一开始就有的,现在升级改造了,不止于运行python,还有R,spark之类的高大上玩意儿。所以就直接用 jupyter来指代这一堆产品了。
官方有个try页面,可以玩一玩。
jupyter安装
官方推荐的安装是这个:
Download Anaconda. We recommend downloading Anaconda’s latest Python 3 version (currently Python 3.5).
咱们民间可以直接安装
1.如果已经有python环境:
直接pip install jupyter
2.如果没有:
就先安装个python环境,然后再装
运行
jupyter notebook
然后就自动打开浏览器中localhost的8888端口,就可以在线写代码啦!不止于python,还有R等...
用户界面和主要功能

- 写代码
- 写文档(cell类型就分成markdown和code,随便改,另存为md格式就是文档了)
- 科学运算和画图(numpy, scipy,pandas之类的以前都需要一个个安装啊,现在全齐了)
示例代码
简单计算器
4+6
10
写个字典
a = {'a':'alex', 'b':'sublime', 5:9999, 6:6666}
for k, v in a.items(): # items()是dict的方法,可以通过help(dict.items)查看
print k,v
a alex
b sublime
5 9999
6 6666
这货是个装饰器
def show_output(func):
def wrapped(*args, **kwargs):
output = func(*args, **kwargs)
print("the result is : ", output)
return wrapped
def is_even(num):
return num % 2 ==0
使用装饰器运行函数,并输出结果
f = show_output(is_even)
f(3)
the result is : False
Jupyter对Python初学者的作用
对于初学者,难免编程过程中会出现各种错误,jupyter就是个代码摄像机,写代码时候出错了,看到一堆错误提示,没关系,从新插入一个cell,再次写起来!直到正确为止!
下面举个例子!
第一个错误
# 假装我不会写helloworld
print hello world
File "<ipython-input-1-e9edef3fb57e>", line 2
print hello world
^
SyntaxError: invalid syntax
第二个错误
# 难道加个引号?
print 'hello world"
File "<ipython-input-2-efbc3c88a80d>", line 2
print 'hello world"
^
SyntaxError: EOL while scanning string literal
啥情况?引号也不行?!
好吧,原来要写一对啊!
终于
# 这次对了吧?你好!世界!
print 'hello world'
hello world
ok,写到这里,错误代码有了,错误信息有了,最终也有了正确代码,再次回顾缩写代码的时候,可以清晰的看到自己犯过的错误,加深印象,有利于更快的掌握Python的语法和常见库函数的作用。
当然,在学会了Python基础之后,你可以选择继续用Jupyter中的各种数学库继续深造,使用numpy, scipy等进行数据分析与可视化。这方面已经有很多参考可以学习。
如果想做自动化开发和web开发,那么推荐你用另一个神器:pycharm,这里就不过多介绍了。
人身苦短,我用Python,学习Python的路上,你并不孤独!
完事开头难,学习Python最重要的是:实践,实线,再实践!如果你已经打开你的Jupyter notebook开始练习了,恭喜你!坚持下去,大法可成!
参考资源
- http://jupyter.readthedocs.io/en/latest/install.html
- https://github.com/lijin-THU/notes-python
- https://github.com/ipython-books/minibook-2nd-code
Python之父Guido在最近一次采访的最后说了啥的更多相关文章
- Python之父重回决策层
在Guido van Rossum(吉多·范罗苏姆)卸任BDFL(“终身仁慈独裁者”)一职半年多之后,Python社区迎来了新的治理新方案:指导委员会模式,而经过投票Guido van Rossum也 ...
- Python之父重回决策层,社区未来如何发展?
春节假期结束了,大家陆续地重回到原来的生活轨道上.假期是一个很好的休息与调节的机会,同时,春节还有辞旧迎新的本意,它是新的轮回的开端. 在 Python 社区里,刚发生了一件大事,同样有开启新纪元的意 ...
- 自动编写Python程序的神器,Python 之父都发声力挺!
就在不久前,kite——那个能够自己编写python代码的AI,Python 之父 Guido van Rossum 使用之后,也发出了「really love」感叹,向大家墙裂推荐了这一高效工具 ...
- Python 之父 63 岁才退休,我 23 就中年危机。。
Java技术栈 www.javastack.cn 优秀的Java技术公众号 Python 之父 Guido van Rossum 在推特公布了自己从 Dropbox 公司离职的消息,并表示已经退休. ...
- Python 之父为什么嫌弃 lambda 匿名函数?
Python 支持 lambda 匿名函数,其扩展的 BNF 表示法是lambda_expr ::= "lambda" [parameter_list] ":" ...
- Python 之父爆料:明年至少令 Python 提速 1 倍!
大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助.当时并没有在意,此后也没有看到这方面的消息. 但是,就在 5 月 13 日"2021 年 ...
- Python 之父谈放弃 Python:我对核心成员们失望至极!
Python 之父讲述退位原因,以及 Python 的未来将何去何从. 在 Python 社区,Python 的发明者 Guido Van Rossum 被称为 “仁慈的终生独裁者”(BDFL,B ...
- Python之父新发文,将替换现有解析器
花下猫语: Guido van Rossum 是 Python 的创造者,虽然他现在放弃了"终身仁慈独裁者"的职位,但却成为了指导委员会的五位成员之一,其一举一动依然备受瞩目.近日 ...
- Python 之父撰文回忆:为什么要创造 pgen 解析器?
花下猫语: 近日,Python 之父在 Medium 上开通了博客,并发布了一篇关于 PEG 解析器的文章(参见我翻的 全文译文).据我所知,他有自己的博客,为什么还会跑去 Medium 上写文呢?好 ...
随机推荐
- mySql-数据库之存储过程学习总结
之前在工作中总是听别人提到存储过程,觉得是个很高深的东西,利用工作之余,看了下相关的知识,现将学习知识总结如下,希望可以为刚学习的人提供些许帮助. 开发环境:Navicat For Mysql. My ...
- 一个纯CSS DIV天气动画图标【转扒的】
<p> </p> <style><!-- /* SUNNY */ .sunny { -webkit-animation: sunny 15s linear i ...
- Spring中的DataBinding(一)
DataBinding在Spring中应用. 第一点:使用ModelAttribute指定带绑定的数据内容 很重要的属性:@ModelAttribute([value=""])可以 ...
- Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程
1. Nginx 介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/S ...
- ui的设计原则
部分网页设计原则 规划目录结构时应当遵循的几个原则: 1.不要将所有文件都存放在根目录下; 2.按栏目内容分别建立子目录; 3.在每个主目录下都建立独立的images目录; 4.目录的层次不要太深; ...
- C语言的本质(30)——C语言与汇编之ELF文件格式
ELF(Executable and Linking Format)文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,ELF是一种对象文件的格式,用于定义不同类型的对象文件(Obj ...
- Snippet Compiler——代码段编译工具
原文地址:http://www.cnblogs.com/conexpress/archive/2011/07/24/2115308.html 不知道大家在工作中是否遇到过下面的情况:在项目中实现了一段 ...
- EasyUI Combotree 只允许选择 叶子节点
$("#SDID").combotree({ url: '/Ajax/GetDeptTree.aspx?level=4&pid=-1', onSelect: functio ...
- linux动态库加载时搜索路径
摘自http://gotowqj.iteye.com/blog/1926613 对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似“error while loading shared librar ...
- Period(kmp)
Period Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...