Python初学
Python是一种解释型,面向对象,动态数据类型的高级程序设计语言
为什么选择Python?
1. 语言发展
1972-1983
- c,过程,指针,编译
- c++,对象,内存,编译
1985-1995
- Perl,Larry Wall(拉里沃尔)->文科生
- Python,Guido(吉多)->理科生
- Lua,PHP,Ruby
1995
- Java,对象,回收,解释
- JavaScript,解释,动态类型
2. 语言使用情况
大学教育
- 麻省理工大学,加州伯克利用Python教编程入门的课程
- 美国前10的学校,有8家用来教学
- 美国前39的学校,有27家用来教学
公司
- Google:使用C++,Java,Python三大开发语言。
- FriendFeed
- DropBox,2008上线,99%的代码是Python
- 豆瓣:最初使用Python开发了三个也就上线了
- 知乎,腾讯(开发内部平台)
- 网易游戏,很多游戏公司后台都是使用Python开发
- 搜狐邮箱
3. 发展趋势
- Tiobe的趋势:7/8名左右
- PYPL的趋势:完全通过Google的Trand的排名的,是唯一一个一直在上涨的语言
- GitHub的开源项目:第二多,第一是JavaScript
- CSDN的程序员工资调查:Python高工资所占的比例最高,工资结构最好
4. 语言的优势
- 高效:易读易维护,面向对象,动态类型,丰富内置类型及操作,垃圾回收机制,跨平台
- 标准库:文本处理,数学运算,文件操作与数据库,网络通信,网络协议,操作系统,并发测试,维护等
- 丰富的第三方库:Web框架,网络爬虫,科学计算,计算机视觉,大数据,机器学习,游戏
5. 学习曲线
- C++和Java需要很久的沉淀
- Python则上手很快,可以考虑在Python深入以后再学C++和Java
怎样学Python?
1. 选择版本
- Python2:准备找工作适用,因为有很多的库可用(2.7版本)
- Python3:纯学语言推荐
2. 安装Python
windows平台下:
- 官网直接下载安装文件
- 安装Pythonxy
- 安装PortablePython(推荐这种方式,集成了很多第三方库,避免以后再安装)
OS X平台下:
- 系统自带Python
- 官网直接下载安装文件
- MacPorts安装(推荐这种,这种安装第三方库比较简单)
3. 安装工具(前两个必备)
- NotePad++ or Sublime
- CMD or Terminal
- Pycharm(VC++风格)
- Beyond Compare
- Git
学Python学什么?
通过一些简单的算法来了解Python
作业:
- 安装python2.7
- 运行二维展开
- 安装必要工具
- .py方式运行冒泡算法
后记
- 关于作业:
- 我安装的PortablePython 2.7.6.1,里面包含了应用:
- PyScripter v2.5.3
- PyCharm Community Edition 3.1.2 (Thanks to cebik)
- NumPy 1.8.1
- SciPy 0.13.3
- Matplotlib 1.3.1
- PyWin32 218
- Django 1.6.2
- PIL 1.1.7
- Py2Exe 0.6.9
- wxPython 3.0.0.0
- NetworkX 1.7
- Lxml 3.3.4
- PySerial 2.7
- PyODBC 3.0.7
- PyGame 1.9.1
- PyGTK 2.24.2
- PyQt 4.10.4
- IPython 1.2.1
- Pandas 0.11.0
- Dateutil 2.2
- PyParsing 2.0.1
- Six 1.6.1
- XLRD 0.9.2
- XLWT 0.7.5
- XLUtils 1.7.0
- OpenPyXL 1.8.5
- 运行了二位展开
print 2**1000
- 安装了subllime
- 使用windows系统自带的cmd
- 运行了冒泡算法
- 用cmd的方式打开了.py文件(需要安装Python,我安装的是python2.7.6,安装文件在portablePython 里有,环境变量还需要配置一下)
- 我安装的PortablePython 2.7.6.1,里面包含了应用:
def bubbleSort(nums):
for j in xrange(len(numbers),-1,-1):
for i in xrange(0,j-1,1):
if nums[i]>nums[i+1]:
nums[i],nums[i+1]=nums[i+1],nums[i]
numbers=[[9,23,12,32,12],['2','3','3','6'],['b','w','u']]
for num in numbers:
bubbleSort(num)
print num