Python
Python.Wiki
关于Python的笔记都在这里了!
1. 介绍
简介
Python的官方介绍是:
python-chinese@list.python.cn Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质, 使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。
2. Python 中的运算符
运算符 | 名称 | 说明 | 例子 |
---|---|---|---|
+ | 加 | 两个对象相加 | 3 + 5得到8、'a' + 'b'得到'ab' |
- | 减 | 得到负数或是一个数减去另一个数 | -5.2得到一个负数、50 - 24得到26 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 | 2 * 3得到6、'la' * 3得到'lalala' |
** | 幂 | 返回x的y次幂 | 3 ** 4得到81(即3 * 3 * 3 * 3) |
/ | 除 | x除以y | 4/3得到1(整数的除法得到整数结果)4.0/3或4/3.0得到1.3333333333333333 |
// | 取整除 | 返回商的整数部分 | 4 // 3.0得到1.0 |
% | 取模 | 返回除法的余数 | 8%3得到2、-25.5%2.25得到1.5 |
<< | 左移 | 把一个数的比特向左移一定数目 | 2 << 2得到8、2按比特表示为10 |
>> | 右移 | 把一个数的比特向右移一定数目 | 11 >> 1得到5、11按比特表示为1011,向右移动1比特后得到101,即十进制的5 |
3. 基本使用
注释
>>> # Single Line Comments >>> """ ... More ... Comments >>> """ '/nMore/nComments/n'
字符串
Python的字符串其实可以理解为C的字符数组,但是这里是反过来理解,即字符是一个字节的字符串所以在Python里处理获得字符仅需要按照字符串的索引获得:
- 正向
>>> word='Hello' 'Hello' >>> word[0] 'H' >>> word[4] 'o'
- 反向
>>> word='Hello' 'Hello' >>> word[0] 'H' >>> word[4] 'o'
- 截取一段
>>> word[1:3] 'el' >>> word[:3] 'hel' >>> word[3:] 'lo' >>> word[-10:] 'hello' >>> word[:-10] ''
- 通过 """ 方式亦可表示长文本字符串
>>> hello = """ ... hello, ... frank ... """ >>> hello '/nhello,/nfrank/n'
列表
Python里有几种复合数据类型,其中最灵活的是列表,不需要类型唯一
>>> a = ['spam', 'eggs', 100, 1234] >>> a ['spam', 'eggs', 100, 1234]
这种列表的操作方式完全与字符串一样,可以通过 a[0], a[-1], a[1:3] 等等来获得各个索引位置的元素同时, 各个位置的元素是可变的,可以取片断,连接,删除部分等等,太强大了。
>>> a[2] = 'pig' + a[2] >>> a[2] 'pigeggs' >>> a[:2] + ['bacon', 2*2] ['spam', 'pigeggs', 'bacon', 4] >>> a[:0] = a # 在开头插入自身 >>> a ['spam', 'pigeggs', 'bacon', 4, 'spam', 'pigeggs', 'bacon', 4] >>> a[0:3] = [] # 删掉前面4项 >>> a ['spam', 'pigeggs', 'bacon', 4] >>> a[1:1] = ['a', 'b'] ['spam', 'a', 'b', 'pigeggs', 'bacon', 4]
也同样支持嵌套列表,即类似[[1, 2], 3, 4]的情况,同时还可以用一系列列表方法:
>>> a[1] = ['a', 'b'] >>> a[1].append(2) >>> a[1] ['a', 'b', 2]
一个Fibonacci序列的例子:
>>> a, b = 0, 1 ... while b < 10: ... print b ... a, b = b, a+b ... 1 1 2 3 5 8
Python还提供一个类似C语言printf的输出:
print 'The value of 1/7 is approximately %5.3f., %3d' % (0.142857, 21)
流程控制
if语句
>>> if x < 0: ... x = 0 ... elif x == 0: ... print 'Zero' ... else: ... print 'More'
for语句
>>> for x in a: ... print x, len(x) ... >>>
range() 函数,用于生成包含数字序列列表:
>>> range(10) [0,1,2,3,4,5,6,7,8,9] >>> range(5,10) [5,6,7,8,9] >>> range(0, 10, 3) [0,3,6,9]
函数定义
>>> def fib(n): ... a, b = 0, 1 ... while b < n: ... print b, ... a, b = b, a+b ... ... fib(2000)
函数参数,参数支持默认值
>>> def ask(complaint = 'hello?'): ... return complaint ...
数据结构
列表
常用工具
insert(i, x) 在指定位置插入一项。 append(x) 等于a.insert(len(a), x) index(x) 返回下标,找不到出错 remove(x) 删除值为x的元素,找不到出错 sort() 对列表元素在原位排序,这个方法直接改变列表,而不是返回值 reverse() 反转列表 count(x) 返回x在列表里出现的次数
函数式工具
filter(fn, list) map(fn, list) reduce(fn, list)
del语句
用于删除列表中的某个节点
>>> del a[0]
元组
元组类似于静态语言的数组,但是是一次定义,无法修改的 其实际操作跟普通数组一致,无法使用列表的一切特殊特性 最常使用元组的情况:
>>> print '%s, %s' % ('hello', 'world')
字典
字典是与JSON格式一致的key:value结构,每一对键值以逗号分隔开 不同于JSON,字典最后一对键值可以有逗号
>>> { ... 'name': 'wenhe', ... 'age': '24', ... }
4. 相关
- 简明 Python 教程
- Python-wikipedia
- 灵蛇网 Python 论坛
-
python-chinese@list.python.cn Python 中文邮件列表
5. Tips
一些奇技淫巧
Copyright © 2010-2011 All rights reserved,Drive by Vimwiki,Theme by 疯子™(honker.ying@gmail.com)