编程语言



编程语言

0 0


python-presentation

Python presentation in reveal.js

On Github hyt-hz / python-presentation

编程语言

Created by 黄弈廷

语言排名

TIOBE (2015-07)

排名 语言 1 Java 2 C 3 C++ 4 C# 5 Python 6 Objective-C 7 PHP 8 VB .NET 9 JavaScript

RedMonk (2015-06)

排名 语言 1 JavaScript 2 Java 3 PHP 4 Python 5 C# 6 C++ 7 Ruby 8 CSS 9 C

Python的特点

通用语言

简洁,优雅

高可读性,高开发效率

完善的生态系统

Guido van Rossum

Timeline

1989:开始开发 1991:公布源码 1994:1.0发布 2000:2.0发布 2008:3.0发布

谁在用Python

Goolge

NASA

Instagram

Dropbox

Reddit

豆瓣

...More

各行各业

科学计算:Scipy, Numpy, Matplotlib

人工智能,机器学习:Scikit-learn

大型应用软件的脚本语言:3Ds Max,Maya,Blender,GIMP

树莓派 Raspberry PI

翻墙:goagent

IT

操作系统内置: 大多数的Linux发行版本,FreeBSD,OS X

云计算: OpenStack

自动化测试 TA: Robot Framework

持续集成 CI:buildbot

自动化部署与配置管理: AnsibleSaltStack

web开发: Django

PAAS开发: GAEHerokuSAE

Python语言

通用性高级语言

脚本语言

动态类型

多范式支持:面向过程,面性对象,函数

自动内存管理/GC

强大的内置库

丰富的数据结构:dict,list,priority queue

多线程,多进程

文件系统操作

字符文本处理:unicode,正则表达式,xml,json

网络协议:http,smtp,telnet,ftp

压缩加密算法:zlib,gzip,md5,sha1

更多:GUI,日志,unit test框架,调试工具

生态系统

完善的包管理系统:setuptools,pip,virtualenv

统一的第三方中心库PyPI

丰富的第三方资源:63397个包

Python 2 VS Python 3

Python 2:将继续维护,但是不会有新的feature加入

Python 3:不向后兼容,更多功能,更优的性能

新项目应该选哪个版本呢?

示例1:计算器

1 + 2
5 * 55
(5 + 10) / 2.2

import math

math.pow(5,10)
                    

示例2:http文件服务器

$ python -m "SimpleHTTPServer" 8090
                    

示例3:抓取网页

import urllib2

response = urllib2.urlopen('http://127.0.0.1:8090/index.html')
html = reponse.read()

print html
                    

示例4:文本处理

# 总行数
line_count = len(html.splitlines())

# 含有“Python”字符串的行数
python_line_count = 0
for line in html.splitlines():
    if 'Python' in line:
        python_line_count += 1

print python_line_count

# 替换“Python”为“<strong>PYTHON</strong>”
html2 = html.replace('Python', '<strong>PYTHON</strong>')
                    

示例4:文件操作

f = open('/root/hyt/python-presentation/index2.html', 'w')
f.write(html2)
f.close()
                    

学习资源

Q&A

编程语言 Created by 黄弈廷