Python 学习笔记
14 May 2014May 14, 2014
由于项目的需求, 需要使用Django 技术栈。 Django 是基于Python 语言开发 的流行的Web 框架。 没办法,得学习Python。 由于时间关系, 不能花太多的时间去看大部头的书和文档, 需要快速上手。 在Slideshare 上找到一个不错的入门PPT。
Learn 90% of Python in 90 Minutes by Matt Harrison
标题看着很吓人, 也很励志, 90分钟搞定, 很适合我的需求。 start quickly and move fast.
确实大概花了100分钟的时间就看完了。 这个Slides 主要讲Python语言的语法。 多数语言的语法都相似,所有只要你很好的掌握了一门编程语言,学习其他的语言是相当简单容易的。 我之前有几年的C和Java 编程经验, 看起Python的语法,简单很多。
几乎所有基于C的编程语言语法大同小异, 介绍的ToC都会差不多。
主要包括几个方面:
- 命名
- 数据类型
- 方法定义
- 类定义
- 类继承
- 集合: List, Set, Dictionary, Map 等
- 迭代
- 操作符
- 文件操作
- debug
下面的MindMap 就总结了Python语言的这些方面:
不过有一些方面没有讲到:
- Exception处理
- 类库
- 生态
Python 类库
Python for the web. python 是为web 而设计, 使用python 很大程度上为了于web 交互。 从而不可避免的要有一些web 相关的 库。
json
json 由于AJAX的兴起,大受欢迎, 以至于今天多数的web API 都以JSON 格式提供。 使用python 操作json 也成了日常工作中必不可少的技能。 Django 1.7 内置了新的json 类库, 但是1.7之前, 还是需要使用python 的json 类库.
如果熟悉json 格式的话,学习这个类库会很简单。 Python内部使用dictionary来存储json 数据, 没有class JSONObject 这样的类。
In [10]: type(x)
Out[10]: dict
In [11]: x={'__complex__':True, 'real':1, 'imag':2}
In [12]: type(x)
Out[12]: dict
In [13]: json.dumps(x)
Out[13]: '{"real": 1, "imag": 2, "__complex__": true}'
In [14]: str = json.dumps(x)
In [15]: type(str)
Out[15]: str
In [16]: j = json.loads(str)
In [17]: type(j)
Out[17]: dict
In [18]: j
Out[18]: {u'__complex__': True, u'imag': 2, u'real': 1}
json 类库主要有四个函数:
- json.dumps() 将python 的dictionary dump 成字符串输出
- json.loads() 将字符串转化成 dictionary
- json.JSONEncoder.encode()
- json.JSONDecoder.decode()
Pretty print json
curl https://github.com/timeline.json |python -mjson.tool
Parse HTML: LXML
Django 使用django.utils.simplejson
类库