Modified:
trunk/doc/python/python.mm
Log:
sync with local modification
已修改: trunk/doc/python/python.mm
===================================================================
--- trunk/doc/python/python.mm 2008-04-23 23:01:43 UTC (rev 72)
+++ trunk/doc/python/python.mm 2008-04-23 23:27:41 UTC (rev 73)
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<map version="0.8.0">
-<!-- This .mm file is CVS/SVN friendly, also has better Chinese character support. Contribute by http://www.WorldHello.net, orignal FreeMind can be found at http://freemind.sourceforge.net -->
+<map version="0.9.0_Beta_8">
+<!-- This file is saved using a hacked version of FreeMind. visit: http://www.worldhello.net, http://ossxp.com -->
+<!-- Orignal FreeMind, can download from http://freemind.sourceforge.net -->
+<!-- This .mm file is CVS/SVN friendly, some atts are saved in .mmx file.(by Worldhello.net) -->
<node ID="Freemind_Link_5063362"
TEXT="Python 学习笔记">
+<node FOLDED="true" ID="Freemind_Link_1676261912" POSITION="right"
+ TEXT="参考">
+<node ID="Freemind_Link_384758686" LINK="http://diveintopython.org/"
+ TEXT="diveintopython.org"/>
+</node>
<node FOLDED="true" ID="Freemind_Link_14359071" POSITION="right"
TEXT=" Python 的语法特点
(Something strange ……)">
<node ID="Freemind_Link_1326128661"
@@ -52,16 +59,29 @@
TEXT="如何获得帮助?"/>
<node ID="Freemind_Link_1475585246"
TEXT="1. 进入 python 命令行"/>
+<node ID="Freemind_Link_1440292726"
+ TEXT="2. 包含要查询的模组。如: import sys"/>
+<node ID="Freemind_Link_1878584703"
+ TEXT="3. 显示该模组包含的属性。命令: dir(sys)"/>
<node ID="Freemind_Link_340870475"
- TEXT="2. help(str) :获取 str 类的帮助"/>
-<node FOLDED="true" ID="Freemind_Link_257996095"
- TEXT="3. help('print') : 查询 html 帮助文档">
-<node ID="Freemind_Link_255915251"
- TEXT="环境变量 PYTHONDOCS=/usr/share/doc/python-2.4.1/html/"/>
-<node ID="Freemind_Link_1740592870"
- TEXT="env \
PYTHONDOCS=/usr/share/doc/python-2.4.1/html/ \
python"/>
+ TEXT="4. 获取该模组的帮助。如: help(sys)"/>
</node>
+<node FOLDED="true" ID="Freemind_Link_1471460438" POSITION="right"
+ TEXT="源文件的字符集设置">
+<node ID="Freemind_Link_605232114"
+ TEXT="为支持中文,需要在源码的第一行或第二行(一般是第二行)添加特殊格式的注释,声明源文件的字符集。默认为 7-bit ASCII"/>
+<node FOLDED="true" ID="Freemind_Link_63794267"
+ TEXT="格式为: # -*- coding: <encoding-name> -*-">
+<node ID="Freemind_Link_1082990071"
+ TEXT="参见: http://www.python.org/dev/peps/pep-0263/"/>
+<node ID="Freemind_Link_753434116"
+ TEXT="如:设置 gbk 编码:

#!/usr/bin/python
# -*- coding: gbk -*-
"/>
+<node ID="Freemind_Link_1475190418"
+ TEXT="如: 设置 utf-8 编码

#!/usr/bin/python
# -*- coding: utf-8 -*-"/>
</node>
+<node ID="Freemind_Link_466786807"
+ TEXT="注: emacs 能够也能识别该语法。而 VIM 通过 # vim:fileencoding=<encoding-name> 来识别"/>
+</node>
<node FOLDED="true" ID="Freemind_Link_1960349888" POSITION="right"
TEXT="常量和变量">
<node FOLDED="true" ID="Freemind_Link_501043280"
@@ -144,7 +164,7 @@
<node FOLDED="true" ID="Freemind_Link_1685393530"
TEXT="三引号">
<node ID="Freemind_Link_1868237005"
- TEXT="三引号:''' 或者 """ 是 python 的发明。三引号可以包含跨行文字,其中的引号不必转义。"/>
+ TEXT="三引号:''' 或者 """ 是 python 的发明。三引号可以包含跨行文字,其中的引号不必转义。(即内容可以包含的换行符和引号)"/>
<node FOLDED="true" ID="Freemind_Link_880381431"
TEXT="如">
<node ID="Freemind_Link_917870371"
@@ -170,11 +190,42 @@
<node ID="Freemind_Link_1546360476"
TEXT="例如: u"This is a Unicode string.""/>
</node>
+<node FOLDED="true" ID="Freemind_Link_1396339757"
+ TEXT="u, r 可以一起使用,u在r前">
+<node FOLDED="true" ID="Freemind_Link_612402216"
+ TEXT="例如 ur"\u0062\n" 包含三个字符">
+<node ID="Freemind_Link_425092761"
+ TEXT="\u0062"/>
+<node ID="Freemind_Link_120860978"
+ TEXT="\\"/>
+<node ID="Freemind_Link_206673594"
+ TEXT="n"/>
+</node>
+</node>
<node FOLDED="true" ID="Freemind_Link_1320252991"
TEXT="字符串连接:两个字符串并排,则表示两个字符串连接在一起">
<node ID="Freemind_Link_1490219006"
TEXT="'What\'s ' "your name?" 自动转换为 "What's your name?" ."/>
+<node ID="Freemind_Link_935941926"
+ TEXT="作用一:减少 \ 作为续行符的使用。"/>
+<node FOLDED="true" ID="Freemind_Link_587526031"
+ TEXT="作用二:可以为每段文字添加注释。如:">
+<node ID="Freemind_Link_810102773"
+ TEXT="re.compile("[A-Za-z_]" # letter or underscore
 "[A-Za-z0-9_]*" # letter, digit or underscore
 )"/>
</node>
+<node FOLDED="true" ID="Freemind_Link_522710781"
+ TEXT="用括号包含多行字串">
+<node ID="Freemind_Link_678514138"
+ TEXT=">>> test= ("case 1: something;" # test case 1
... "case 2: something;" #test case 2
... "case 3: something." #test case 3
... )
>>> test
'case 1: something;case 2: something;case 3: something.'

"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1357940396"
+ TEXT="类似于 sprintf 的字符串格式化">
+<node ID="Freemind_Link_1658963897"
+ TEXT="header1 = "Dear %s," % name"/>
+<node ID="Freemind_Link_760684249"
+ TEXT="header2 = "Dear %(title)s %(name)s," % vars()"/>
+</node>
<node FOLDED="true" ID="Freemind_Link_1656319230"
TEXT="字符串操作">
<node FOLDED="true" ID="Freemind_Link_42868540"
@@ -216,6 +267,19 @@
</node>
</node>
</node>
+<node FOLDED="true" ID="Freemind_Link_605120719"
+ TEXT="数字">
+<node FOLDED="true" ID="Freemind_Link_536889162"
+ TEXT="整形和长整形">
+<node ID="Freemind_Link_67068972"
+ TEXT="longinteger 	::= 	integer ("l" | "L")
integer 	::= 	decimalinteger | octinteger | hexinteger
decimalinteger 	::= 	nonzerodigit digit* | "0"
octinteger 	::= 	"0" octdigit+
hexinteger 	::= 	"0" ("x" | "X") hexdigit+
nonzerodigit 	::= 	"1"..."9"
octdigit 	::= 	"0"..."7"
hexdigit 	::= 	digit | "a"..."f" | "A"..."F""/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_756744108"
+ TEXT="浮点数">
+<node ID="Freemind_Link_656040110"
+ TEXT=""/>
+</node>
+</node>
<node FOLDED="true" ID="Freemind_Link_853247141"
TEXT="类型转换">
<node ID="Freemind_Link_1552925507"
@@ -228,12 +292,298 @@
TEXT="float("3.14159")"/>
<node ID="Freemind_Link_632169018"
TEXT="str(3.14149)"/>
+<node ID="Freemind_Link_1412767913"
+ TEXT="ord('A') : 返回 字母'A' 的 ASCII 值"/>
</node>
<node ID="Freemind_Link_914635131"
TEXT="复杂类型,如 list, tuple, dict 参见后面章节">
<arrowlink DESTINATION="Freemind_Link_1001023586" ENDARROW="Default" ENDINCLINATION="569;20;" ID="Freemind_Arrow_Link_20463432" STARTARROW="None" STARTINCLINATION="568;0;"/>
</node>
+<node FOLDED="true" ID="Freemind_Link_1225594099"
+ TEXT="局部变量与全局变量">
+<node ID="Freemind_Link_635919846"
+ TEXT="函数中可以直接引用全局变量的值,无须定义。但如果修改,影响只限于函数内部。"/>
+<node ID="Freemind_Link_1819989092"
+ TEXT="函数中没有用 global 声明的变量是局部变量,不影响全局变量的取值"/>
+<node FOLDED="true" ID="Freemind_Link_1035114588"
+ TEXT="global 声明全局变量">
+<node ID="Freemind_Link_895575044"
+ TEXT="#!/usr/bin/python

def func1():
 print "func1: local x is", x

def func2():
 x = 2
 print 'func2: local x is', x

def func3():
 global x
 print "func3: before change, x is", x
 x = 2
 print 'func3: changed x to', x

x = 1

print 'Global x is', x
func1()
print 'Global x is', x
func2()
print 'Global x is', x
func3()
print 'Global x is', x
"/>
</node>
+<node FOLDED="true" ID="Freemind_Link_1493152098"
+ TEXT="locals() 和 globals() 是两个特殊函数,返回局部变量和全局变量">
+<node ID="Freemind_Link_131256040"
+ TEXT="locals() 返回局部变量的 copy,不能修改">
+<icon BUILTIN="help"/>
+</node>
+<node ID="Freemind_Link_559848498"
+ TEXT="globals() 返回全局变量的 namespace, 可以通过其修改全局变量本身"/>
+</node>
+<node ID="Freemind_Link_432095969"
+ TEXT="vars() 等同于 locales(),可以用 vars()['key'] = 'value' 动态添加局部变量"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1001023586" POSITION="right"
+ TEXT="复杂类型">
+<node ID="Freemind_Link_1204636251"
+ TEXT="string/unicode(字符串)">
+<arrowlink DESTINATION="Freemind_Link_1556810064" ENDARROW="Default" ENDINCLINATION="1202;0;" ID="Freemind_Arrow_Link_982679901" STARTARROW="None" STARTINCLINATION="1202;0;"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1296385109"
+ TEXT="list (列表)">
+<node FOLDED="true" ID="Freemind_Link_1583327550"
+ TEXT="方括号建立的列表">
+<node
+ TEXT="[10, 20, 30, 40]"/>
+<node
+ TEXT="["spam", "bungee", "swallow"]"/>
+<node
+ TEXT="["hello", 2.0, 5, [10, 20]]"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1792961010"
+ TEXT="range 函数建立的列表">
+<node FOLDED="true" ID="Freemind_Link_24270249"
+ TEXT=">>> range(1,5)
[1, 2, 3, 4]">
+<node ID="Freemind_Link_41394544"
+ TEXT="从1 到 5,包括1,但不包括5。(隐含步长为1)"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1499902432"
+ TEXT=">>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]">
+<node ID="Freemind_Link_388625296"
+ TEXT="从 0 到 10,包括 0,但不包括 10。(隐含步长为1)"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1310006747"
+ TEXT=">>> range(1, 10, 2)
[1, 3, 5, 7, 9]">
+<node ID="Freemind_Link_1939634560"
+ TEXT="步长为2"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_63913274"
+ TEXT="访问列表中的元素">
+<node ID="Freemind_Link_384323944"
+ TEXT="类似数组下标"/>
+<node
+ TEXT="print numbers[0]"/>
+<node
+ TEXT="numbers[1] = 5"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_966151305"
+ TEXT="print 语句显示列表">
+<node ID="Freemind_Link_501291536"
+ TEXT="vocabulary = ["ameliorate", "castigate", "defenestrate"]
numbers = [17, 123]
empty = []
print vocabulary, numbers, empty
['ameliorate', 'castigate', 'defenestrate'] [17, 123] []"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1893117093"
+ TEXT="列表操作">
+<node FOLDED="true" ID="Freemind_Link_1279897229"
+ TEXT="列表长度">
+<node ID="Freemind_Link_889633405"
+ TEXT="len() 函数"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_956761636"
+ TEXT="+ (相加)">
+<node ID="Freemind_Link_136141168"
+ TEXT=">>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = a + b
>>> print c
[1, 2, 3, 4, 5, 6]"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_462250105"
+ TEXT="* (重复)">
+<node ID="Freemind_Link_502363907"
+ TEXT=">>> [0] * 4
[0, 0, 0, 0]
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_349687345"
+ TEXT="List slices">
+<node ID="Freemind_Link_32630403"
+ TEXT="参见 String slices">
+<arrowlink DESTINATION="Freemind_Link_42868540" ENDARROW="Default" ENDINCLINATION="1413;0;" ID="Freemind_Arrow_Link_1528866728" STARTARROW="None" STARTINCLINATION="1413;0;"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1126198878"
+ TEXT="列表是变量,可以更改">
+<node ID="Freemind_Link_22886970"
+ TEXT="不像字符串 str, List 是可以更改的"/>
+<node ID="Freemind_Link_219318666"
+ TEXT=">>> fruit = ["banana", "apple", "quince"]
>>> fruit[0] = "pear"
>>> fruit[-1] = "orange"
>>> print fruit
['pear', 'apple', 'orange']"/>
+<node ID="Freemind_Link_450947306"
+ TEXT=">>> list = ['a', 'b', 'c', 'd', 'e', 'f']
>>> list[1:3] = ['x', 'y']
>>> print list
['a', 'x', 'y', 'd', 'e', 'f']"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1306401486"
+ TEXT="列表中增加元素">
+<node ID="Freemind_Link_1186982872"
+ TEXT=">>> list = ['a', 'd', 'f']
>>> list[1:1] = ['b', 'c']
>>> print list
['a', 'b', 'c', 'd', 'f']
>>> list[4:4] = ['e']
>>> print list
['a', 'b', 'c', 'd', 'e', 'f']"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1305131912"
+ TEXT="删除列表中元素">
+<node FOLDED="true" ID="Freemind_Link_216398146"
+ TEXT="通过清空而删除">
+<node ID="Freemind_Link_1187524898"
+ TEXT=">>> list = ['a', 'b', 'c', 'd', 'e', 'f']
>>> list[1:3] = []
>>> print list
['a', 'd', 'e', 'f']"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1003001875"
+ TEXT="使用 del 关键字">
+<node ID="Freemind_Link_805953430"
+ TEXT=">>> a = ['one', 'two', 'three']
>>> del a[1]
>>> a
['one', 'three']"/>
+<node ID="Freemind_Link_5464909"
+ TEXT=">>> list = ['a', 'b', 'c', 'd', 'e', 'f']
>>> del list[1:5]
>>> print list
['a', 'f']"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1814012406"
+ TEXT="查看列表的id">
+<node ID="Freemind_Link_239306544"
+ TEXT=">>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> print id(a), id(b)
418650444 418675820
>>> b = a
>>> print id(a), id(b)
418650444 418650444
>>> b = a[:]
>>> print id(a), id(b)
418650444 418675692"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1396269033"
+ TEXT="引用和Copy/Clone">
+<node ID="Freemind_Link_1604582092"
+ TEXT="b = a,则两个变量指向同一个对象,两个变量的值一起变动">
+<arrowlink DESTINATION="Freemind_Link_239306544" ENDARROW="Default" ENDINCLINATION="175;0;" ID="Freemind_Arrow_Link_627046992" STARTARROW="None" STARTINCLINATION="175;0;"/>
+</node>
+<node ID="Freemind_Link_179748630"
+ TEXT="b = a[:],则建立克隆,b 和 a 指向不同对象,互不相干">
+<arrowlink DESTINATION="Freemind_Link_239306544" ENDARROW="Default" ENDINCLINATION="173;0;" ID="Freemind_Arrow_Link_1246118873" STARTARROW="None" STARTINCLINATION="173;0;"/>
+</node>
+<node ID="Freemind_Link_1634832746"
+ TEXT="list 作为函数的参数,是引用调用,即函数对 list 所做的修改会影响 list 对象本身">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1795601085"
+ TEXT="列表嵌套和矩阵">
+<node FOLDED="true" ID="Freemind_Link_740323607"
+ TEXT="嵌套">
+<node ID="Freemind_Link_525930143"
+ TEXT=">>> list = ["hello", 2.0, 5, [10, 20]]
>>> list[3][1]
20"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1078190733"
+ TEXT="矩阵">
+<node ID="Freemind_Link_1065974369"
+ TEXT=">>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> matrix[1]
[4, 5, 6]
>>> matrix[1][1]
5"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1216168788"
+ TEXT="字符串和列表">
+<node FOLDED="true" ID="Freemind_Link_524201632"
+ TEXT="string.split 方法">
+<node ID="Freemind_Link_316747077"
+ TEXT=">>> import string
>>> song = "The rain in Spain..."
>>> string.split(song)
['The', 'rain', 'in', 'Spain...']"/>
+<node ID="Freemind_Link_711145241"
+ TEXT=">>> string.split(song, 'ai')
['The r', 'n in Sp', 'n...']"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1886704563"
+ TEXT="string.join 方法">
+<node ID="Freemind_Link_1990677488"
+ TEXT=">>> list = ['The', 'rain', 'in', 'Spain...']
>>> string.join(list)
'The rain in Spain...'
"/>
+<node ID="Freemind_Link_1282919966"
+ TEXT=">>> string.join(list, '_')
'The_rain_in_Spain...'"/>
+<node ID="Freemind_Link_712016162"
+ TEXT=">>> list = ['The', 'rain', 'in', 'Spain...']
>>> '|'.join(list)
'The|rain|in|Spain...'
"/>
+</node>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1587932357"
+ TEXT="Tuples">
+<node FOLDED="true" ID="Freemind_Link_195371697"
+ TEXT="圆括号建立 Tuple">
+<node FOLDED="true" ID="Freemind_Link_1747406413"
+ TEXT="在最外面用圆括号括起来">
+<node ID="Freemind_Link_867739234"
+ TEXT=">>> type((1,2,3))
<type 'tuple'>"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1825214363"
+ TEXT="必需是逗号分隔的多个值">
+<node ID="Freemind_Link_1703810150"
+ TEXT=">>> type((1))
<type 'int'>"/>
+<node ID="Freemind_Link_922539349"
+ TEXT=">>> type((1,))
<type 'tuple'>"/>
+<node ID="Freemind_Link_453025333"
+ TEXT=">>> type(('WorldHello'))
<type 'str'>"/>
+<node ID="Freemind_Link_433984030"
+ TEXT=">>> type(('WorldHello',))
<type 'tuple'>"/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_828661787"
+ TEXT="Tuple vs list">
+<node ID="Freemind_Link_1376321032"
+ TEXT="Tuple 和 list 的区别就是: Tuple 是不可更改的,而 list 是可以更改的"/>
+<node FOLDED="true" ID="Freemind_Link_570828533"
+ TEXT="一个元素也可以构成 list,但 tuple 必需为多个元素">
+<node ID="Freemind_Link_959801769"
+ TEXT=">>> type([1])
<type 'list'>"/>
+<node ID="Freemind_Link_674322060"
+ TEXT=">>> type((1))
<type 'int'>"/>
+</node>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_39327180"
+ TEXT="Dictionaries (哈希表)">
+<node FOLDED="true" ID="Freemind_Link_278202182"
+ TEXT="花括号建立 哈希表">
+<node ID="Freemind_Link_1081839252"
+ TEXT="Perl 管这种类型叫做 哈希表 或者关联数组。即下标可以是字符串的数组"/>
+<node ID="Freemind_Link_603033014"
+ TEXT=">>> eng2sp = {}
>>> eng2sp['one'] = 'uno'
>>> eng2sp['two'] = 'dos'
>>> print eng2sp
{'one': 'uno', 'two': 'dos'}"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1710683289"
+ TEXT="访问哈希表中元素:下标为字符串">
+<node ID="Freemind_Link_1970163437"
+ TEXT=">>> print eng2sp
{'one': 'uno', 'three': 'tres', 'two': 'dos'}
>>> print eng2sp['two']
'dos'"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_449232503"
+ TEXT="哈希表操作">
+<node FOLDED="true" ID="Freemind_Link_340388765"
+ TEXT="keys() 方法,返回 keys 组成的列表">
+<node ID="Freemind_Link_697687692"
+ TEXT=">>> eng2sp.keys()
['one', 'three', 'two']"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1264192324"
+ TEXT="values() 方法,返回由 values 组成的列表">
+<node ID="Freemind_Link_1119393686"
+ TEXT=">>> eng2sp.values()
['uno', 'tres', 'dos']"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1265692897"
+ TEXT="items() 方法,返回由 key-value tuple 组成的列表">
+<node ID="Freemind_Link_505345599"
+ TEXT=">>> eng2sp.items()
[('one','uno'), ('three', 'tres'), ('two', 'dos')]"/>
+<node ID="Freemind_Link_489577525"
+ TEXT="from MoinMoin.util.chartypes import _chartypes
for key, val in _chartypes.items():
 if not vars().has_key(key):
 vars()[key] = val"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1203353972"
+ TEXT="haskey() 方法,返回布尔值">
+<node ID="Freemind_Link_1026628099"
+ TEXT=">>> eng2sp.has_key('one')
True
>>> eng2sp.has_key('deux')
False"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1643935887"
+ TEXT="get() 方法">
+<node FOLDED="true" ID="Freemind_Link_790438190"
+ TEXT="返回哈希表某个 key 对应的 value">
+<node ID="Freemind_Link_1302653264"
+ TEXT="如 eng2sp.get('one')"/>
+<node ID="Freemind_Link_988318105"
+ TEXT="等同于 eng2sp['one']"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_941960050"
+ TEXT="get() 可以带缺省值,即如果没有定义该 key,返回缺省值">
+<node ID="Freemind_Link_429559394"
+ TEXT="如 eng2sp.get('none', 0),如果没有定义 none, 返回 0,而不是空"/>
+</node>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_768156914"
+ TEXT="引用和 copy/clone">
+<node FOLDED="true" ID="Freemind_Link_501868669"
+ TEXT="哈希表的克隆:copy() 方法">
+<node ID="Freemind_Link_1369347561"
+ TEXT=">>> opposites = {'up': 'down', 'right': 'wrong', 'true': 'false'}
>>> copy = opposites.copy()"/>
+</node>
+</node>
+</node>
+<node ID="Freemind_Link_1533713627"
+ TEXT="Iterators"/>
+<node FOLDED="true" ID="Freemind_Link_1769682321"
+ TEXT="type 函数返回变量类型">
+<node ID="Freemind_Link_1536036296"
+ TEXT="isinstance(varname, type({}))"/>
+</node>
+</node>
<node FOLDED="true" ID="Freemind_Link_1365349575" POSITION="right"
TEXT="语句">
<node ID="Freemind_Link_60119158"
@@ -241,10 +591,17 @@
<node ID="Freemind_Link_1247710324"
TEXT="如果多个语句写在一行,则需要 分号 分隔;"/>
<node FOLDED="true" ID="Freemind_Link_33689050"
- TEXT="一个语句可以用 \ 跨越多行">
+ TEXT="用 “\” 显示连接行">
<node ID="Freemind_Link_828490025"
TEXT="如:
i=10
print \
i"/>
</node>
+<node FOLDED="true" ID="Freemind_Link_595347029"
+ TEXT="默认连接行">
+<node ID="Freemind_Link_1810581253"
+ TEXT="方括号,圆括号,花括号中的内容可以多行排列,不用 \ 续行,默认续行"/>
+<node ID="Freemind_Link_261022264"
+ TEXT="例如:
month_names = ['Januari', 'Februari', 'Maart', # These are the
 'April', 'Mei', 'Juni', # Dutch names
 'Juli', 'Augustus', 'September', # for the months
 'Oktober', 'November', 'December'] # of the year"/>
+</node>
<node FOLDED="true" ID="Freemind_Link_6385624"
TEXT="缩进">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
@@ -254,6 +611,8 @@
TEXT="相同缩进的语句成为一个逻辑代码块"/>
<node ID="Freemind_Link_1535759566"
TEXT="错误的缩进,将导致运行出错!"/>
+<node ID="Freemind_Link_1371677406"
+ TEXT="缩进的单位是空格。Tab 转换为1-8个空格,转换原则是空格总数是 8 的倍数。"/>
</node>
<node FOLDED="true" ID="Freemind_Link_831185267"
TEXT="空语句 pass">
@@ -265,11 +624,13 @@
TEXT="操作符和表达式">
<node FOLDED="true" ID="Freemind_Link_1927711213"
TEXT="** 代表幂">
+<icon BUILTIN="idea"/>
<node
TEXT="3 ** 4 gives 81 (i.e. 3 * 3 * 3 * 3)"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1739713472"
TEXT="// 代表 floor">
+<icon BUILTIN="idea"/>
<node
TEXT="4 // 3.0 gives 1.0"/>
</node>
@@ -282,18 +643,18 @@
TEXT="<< 左移位"/>
<node ID="Freemind_Link_83080874"
TEXT=">> 右移位"/>
-<node FOLDED="true" ID="Freemind_Link_426512977"
- TEXT="<, >, <=, >=, ==, != 和 C 类似">
+<node ID="Freemind_Link_426512977"
+ TEXT="<, >, <=, >=, ==, != 和 C 类似"/>
<node FOLDED="true" ID="Freemind_Link_958177671"
TEXT="比较可以级联。如:">
+<icon BUILTIN="idea"/>
<node ID="Freemind_Link_870455838"
TEXT="if 0 < x < 10:
 print "x is a positive single digit."">
<arrowlink DESTINATION="Freemind_Link_731363591" ENDARROW="Default" ENDINCLINATION="201;0;" ID="Freemind_Arrow_Link_1403612382" STARTARROW="None" STARTINCLINATION="201;0;"/>
</node>
</node>
-</node>
<node FOLDED="true" ID="Freemind_Link_1694180142"
- TEXT="&, |, ^ 和 C 中相同">
+ TEXT="~, &, |, ^ 和 c 语言相同">
<node
TEXT="5 & 3 gives 1."/>
<node
@@ -313,16 +674,23 @@
</node>
<node FOLDED="true" ID="Freemind_Link_892976439"
TEXT="is 和 is not,用于 比较 两个 object 是否为同一个对象">
-<node FOLDED="true" ID="Freemind_Link_553882075"
- TEXT="实际上两个对象的 ID 相同,才代表同一个对象。">
+<icon BUILTIN="idea"/>
+<node ID="Freemind_Link_553882075"
+ TEXT="实际上两个对象的 ID 相同,才代表同一个对象。"/>
<node ID="Freemind_Link_1028723383"
TEXT="is: id(obj1) == id(obj2)"/>
<node ID="Freemind_Link_1987476898"
TEXT="is not: id(obj1) != id(obj2)"/>
</node>
+<node FOLDED="true" ID="Freemind_Link_986476276"
+ TEXT="in, not in 用于测试成员变量">
+<icon BUILTIN="idea"/>
+<node ID="Freemind_Link_1428270092"
+ TEXT="'a' in ['a', 'b', 'c'] # True"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1776152631"
- TEXT="交换赋值">
+ TEXT="交换赋值 a,b = b,a">
+<icon BUILTIN="idea"/>
<node FOLDED="true" ID="Freemind_Link_1793879479"
TEXT="为交换变量 a, b 的值,其它语言可能需要一个中间变量">
<node ID="Freemind_Link_622120638"
@@ -376,6 +744,13 @@
<node ID="Freemind_Link_573155847"
TEXT="break 语句跳出循环,且不执行 else 语句"/>
</node>
+<node FOLDED="true" ID="Freemind_Link_760129679"
+ TEXT="后置 for 语句">
+<node ID="Freemind_Link_1709285067"
+ TEXT="[ name for name in wikiaction.__dict__ ]"/>
+<node ID="Freemind_Link_507474462"
+ TEXT="actions = [name[3:] for name in wikiaction.__dict__ if name.startswith('do_')]"/>
+</node>
<node FOLDED="true" ID="Freemind_Link_901828705"
TEXT="示例">
<node FOLDED="true" ID="Freemind_Link_1544519838"
@@ -435,14 +810,6 @@
TEXT="#!/usr/bin/python

def sum(*args):
	'''Return the sum the number of args.'''
	total = 0
	for i in range(0, len(args)):
		total += args[i]
	return total

print sum(10, 20, 30, 40, 50)
"/>
</node>
</node>
-<node FOLDED="true" ID="Freemind_Link_1225594099"
- TEXT="局部变量与全局变量">
-<node FOLDED="true" ID="Freemind_Link_1035114588"
- TEXT="global 声明全局变量">
-<node ID="Freemind_Link_895575044"
- TEXT="def func():
 global x
 print 'x is', x
 x = 2
 print 'Changed x to', x"/>
-</node>
-</node>
<node FOLDED="true" ID="Freemind_Link_322720763"
TEXT="函数返回值">
<node ID="Freemind_Link_1256400413"
@@ -489,6 +856,228 @@
</node>
</node>
</node>
+<node FOLDED="true" ID="Freemind_Link_1644687456" POSITION="right"
+ TEXT="内置函数和对象">
+<node ID="Freemind_Link_608439435"
+ TEXT="帮助: import __builtin__; help (__builtin__)"/>
+<node FOLDED="true" ID="Freemind_Link_815931800"
+ TEXT="函数">
+<node FOLDED="true" ID="Freemind_Link_1010797027"
+ TEXT="数学/逻辑/算法">
+<node ID="Freemind_Link_844090006"
+ TEXT="abs(number) : 绝对值"/>
+<node ID="Freemind_Link_1403961589"
+ TEXT="cmp(x,y) : 比较x y 的值。返回 1,0,-1"/>
+<node ID="Freemind_Link_1417115589"
+ TEXT="divmod(x, y) -> (div, mod) : 显示除数和余数"/>
+<node ID="Freemind_Link_532218549"
+ TEXT="pow(x, y[, z]) -> number "/>
+<node ID="Freemind_Link_1808518987"
+ TEXT="round(number[, ndigits]) -> floating point number : 四舍五入,保留 n 位小数"/>
+<node ID="Freemind_Link_578115438"
+ TEXT="sum(sequence, start=0) -> value : 取 sequence 的和"/>
+<node ID="Freemind_Link_489975198"
+ TEXT="hex(number) -> string : 返回十六进制"/>
+<node ID="Freemind_Link_1423212475"
+ TEXT="oct(number) -> string : 八进制"/>
+<node ID="Freemind_Link_1342489019"
+ TEXT="len(object) -> integer"/>
+<node ID="Freemind_Link_257893748"
+ TEXT="max(sequence) -> value "/>
+<node ID="Freemind_Link_1403294775"
+ TEXT="min(sequence) -> value "/>
+<node FOLDED="true" ID="Freemind_Link_1299597519"
+ TEXT="range([start,] stop[, step]) -> list of integers">
+<node ID="Freemind_Link_875579997"
+ TEXT=">>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_807785839"
+ TEXT="filter(function or None, sequence) -> list, tuple, or string ">
+<node ID="Freemind_Link_117571335"
+ TEXT="function 作用于 sequence 的每一个元素,返回 true 的元素。返回类型同 sequence 类型。"/>
+<node ID="Freemind_Link_1805342917"
+ TEXT="如果 function 为 None,返回本身为 true 的元素"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_176392019"
+ TEXT="map(function, sequence[, sequence, ...]) -> list ">
+<node ID="Freemind_Link_305211959"
+ TEXT="将函数作用于 sequence 每个元素,生成 list"/>
+<node ID="Freemind_Link_139007413"
+ TEXT=">>> map(lambda x : x*2, [1,2,3,4,5])
[2, 4, 6, 8, 10]
"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_621454365"
+ TEXT="reduce(function, sequence[, initial]) -> value">
+<node ID="Freemind_Link_460319754"
+ TEXT="从左至右,将函数作用在 sequence 上,最终由 sequence 产生一个唯一值。"/>
+<node ID="Freemind_Link_1299319407"
+ TEXT=">>> reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
15
相当于 ((((1+2)+3)+4)+5)"/>
+</node>
+<node ID="Freemind_Link_1476462878"
+ TEXT="sorted(iterable, cmp=None, key=None, reverse=False) : 排序"/>
+<node FOLDED="true" ID="Freemind_Link_651273622"
+ TEXT="zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] ">
+<node ID="Freemind_Link_1395703689"
+ TEXT=">>> zip('1234','789')
[('1', '7'), ('2', '8'), ('3', '9')]
"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_587947093"
+ TEXT="coerce(x, y) -> (x1, y1)">
+<node ID="Freemind_Link_1667576360"
+ TEXT="Return a tuple consisting of the two numeric arguments converted to a common type, using the same rules as used by arithmetic operations. If coercion is not possible, raise TypeError."/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1099093588"
+ TEXT="字符串">
+<node ID="Freemind_Link_1035800657"
+ TEXT="chr(i) : 0<=i<256, 返回 ascii 码为 i 的字符"/>
+<node ID="Freemind_Link_1671440023"
+ TEXT="unichr(i) -> Unicode character : 返回 unicode 。 0 <= i <= 0x10ffff"/>
+<node ID="Freemind_Link_1814350040"
+ TEXT="ord(c) : 返回字符 c 的 ascii 码"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_584617607"
+ TEXT="对象相关">
+<node FOLDED="true" ID="Freemind_Link_1675953670"
+ TEXT="delattr(object,name) : 在对象 object 中删除属性 name">
+<node ID="Freemind_Link_1067983932"
+ TEXT="delattr(x, 'y') 相当于 del x.y"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_796851325"
+ TEXT="getattr(object, name[, default]) -> value">
+<node ID="Freemind_Link_340017370"
+ TEXT="getattr(x, 'y') 相当于 x.y"/>
+<node ID="Freemind_Link_75126563"
+ TEXT="缺省值,是当对象不包含时的取值"/>
+</node>
+<node ID="Freemind_Link_1319742900"
+ TEXT="hasattr(object, name) -> bool"/>
+<node ID="Freemind_Link_396739839"
+ TEXT="id(object) -> integer : 返回对象 ID,相当于内存中地址"/>
+<node ID="Freemind_Link_851352814"
+ TEXT="hash(object) -> integer : 两个对象具有相同的值,就有相当的 hash。但反之未必。"/>
+<node ID="Freemind_Link_73191417"
+ TEXT="setattr(object, name, value) : 相当于赋值 x.y = v"/>
+<node ID="Freemind_Link_771015132"
+ TEXT="isinstance(object, class-or-type-or-tuple) -> bool"/>
+<node ID="Freemind_Link_1607994498"
+ TEXT="issubclass(C, B) -> bool "/>
+<node ID="Freemind_Link_321037734"
+ TEXT="globals() -> dictionary"/>
+<node ID="Freemind_Link_1869206614"
+ TEXT="locals() -> dictionary"/>
+<node FOLDED="true" ID="Freemind_Link_551264097"
+ TEXT="vars([object]) -> dictionary">
+<node ID="Freemind_Link_156700221"
+ TEXT="没有参数相当于 locals()"/>
+<node ID="Freemind_Link_1128174315"
+ TEXT="以对象为参数,相当于 object.__dict__"/>
+</node>
+<node ID="Freemind_Link_1331380059"
+ TEXT="dir([object]) : 显示对象属性列表"/>
+<node ID="Freemind_Link_1767397604"
+ TEXT="repr(object) -> string : 对象 object 的正式名称"/>
+<node ID="Freemind_Link_105224559"
+ TEXT="reload(module) -> module : 重新加载 module"/>
+<node FOLDED="true" ID="Freemind_Link_160026950"
+ TEXT="iter">
+<node FOLDED="true" ID="Freemind_Link_1351984748"
+ TEXT="iter(collection) -> iterator">
+<node ID="Freemind_Link_42808916"
+ TEXT="Get an iterator from an object. In the first form, the argument must
 supply its own iterator, or be a sequence."/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1707136942"
+ TEXT="iter(callable, sentinel) -> iterator">
+<node ID="Freemind_Link_844025746"
+ TEXT="In the second form, the callable is called until it returns the sentinel. "/>
+</node>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1758299833"
+ TEXT="输入输出">
+<node ID="Freemind_Link_1503593057"
+ TEXT="input([prompt]) -> value : 输入。相当于 eval(raw_input(prompt))。"/>
+<node ID="Freemind_Link_904707967"
+ TEXT="raw_input([prompt]) -> string : 输入内容不做处理,作为字符串"/>
+</node>
+<node FOLDED="true" ID="Freemind_Link_31853012"
+ TEXT="其他">
+<node FOLDED="true" ID="Freemind_Link_236254953"
+ TEXT="__import__(name, globals, locals, fromlist) -> module : 动态加载模块">
+<node ID="Freemind_Link_637695214"
+ TEXT="import module 中的 module 不能是变量。如果要使用变量动态加载模块,使用下面的方法。"/>
+<node ID="Freemind_Link_57613519"
+ TEXT="def importName(modulename, name):
 """ Import name dynamically from module

 Used to do dynamic import of modules and names that you know their
 names only in runtime.

 Any error raised here must be handled by the caller.
 
 @param modulename: full qualified mudule name, e.g. x.y.z
 @param name: name to import from modulename
 @rtype: any object
 @return: name from module
 """
 module = __import__(modulename, globals(), {}, [name])
 return getattr(module, name)"/>
+</node>
+<node ID="Freemind_Link_223911742"
+ TEXT="callable(object) : 是否可调用,如函数。对象也可以调用。"/>
+<node ID="Freemind_Link_1887428785"
+ TEXT="compile(source, filename, mode[, flags[, dont_inherit]]) -> code object "/>
+<node FOLDED="true" ID="Freemind_Link_1238246051"
+ TEXT="eval(source[, globals[, locals]]) -> value">
+<node ID="Freemind_Link_1001865670"
+ TEXT="执行代码,source 可以是字符串表达的代码,或者 compile 返回的 code object"/>
+</node>
+<node ID="Freemind_Link_160640916"
+ TEXT="execfile(filename[, globals[, locals]]) "/>
+<node ID="Freemind_Link_1102349147"
+ TEXT="intern(string) -> string "/>
+</node>
+</node>
+<node FOLDED="true" ID="Freemind_Link_1934446701"
+ TEXT="对象">
+<node FOLDED="true"
+ TEXT="basestring">
+<node
+ TEXT="str"/>
+<node
+ TEXT="unicode"/>
+</node>
+<node
+ TEXT="buffer"/>
+<node
+ TEXT="classmethod"/>
+<node
+ TEXT="complex"/>
+<node
+ TEXT="dict"/>
+<node
+ TEXT="enumerate"/>
+<node
+ TEXT="file"/>
+<node
+ TEXT="file"/>
+<node
+ TEXT="float"/>
+<node
+ TEXT="frozenset"/>
+<node FOLDED="true"
+ TEXT="int">
+<node
+ TEXT="bool"/>
+</node>
+<node
+ TEXT="list"/>
+<node
+ TEXT="long"/>
+<node
+ TEXT="property"/>
+<node
+ TEXT="reversed"/>
+<node
+ TEXT="set"/>
+<node
+ TEXT="slice"/>
+<node
+ TEXT="staticmethod"/>
+<node
+ TEXT="super"/>
+<node
+ TEXT="tuple"/>
+<node
+ TEXT="type"/>
+<node
+ TEXT="xrange"/>
+</node>
+</node>
<node FOLDED="true" ID="Freemind_Link_18705921" POSITION="right"
TEXT="输入和输出">
<node FOLDED="true" ID="Freemind_Link_1127908765"
@@ -595,258 +1184,14 @@
TEXT="#!/usr/bin/python
# Filename: pickling.py

import cPickle

shoplistfile = 'shoplist.data' # The name of the file we will use

shoplist = ['apple', 'mango', 'carrot']

# Write to the storage
f = file(shoplistfile, 'w')
cPickle.dump(shoplist, f) # dump the data to the file
f.close()

del shoplist # Remove shoplist

# Read back from storage
f = file(shoplistfile)
storedlist = cPickle.load(f)
print storedlist
"/>
</node>
</node>
+<node FOLDED="true" ID="Freemind_Link_477403093"
+ TEXT="管道(pipe)">
+<node ID="Freemind_Link_1470597183"
+ TEXT="os.popen('ls /etc').read()"/>
+<node ID="Freemind_Link_933757208"
+ TEXT="os.popen('ls /etc').readlines()"/>
</node>
-<node FOLDED="true" ID="Freemind_Link_1001023586" POSITION="right"
- TEXT="复杂类型">
-<node ID="Freemind_Link_1204636251"
- TEXT="string (字符串)">
-<arrowlink DESTINATION="Freemind_Link_1556810064" ENDARROW="Default" ENDINCLINATION="1202;0;" ID="Freemind_Arrow_Link_982679901" STARTARROW="None" STARTINCLINATION="1202;0;"/>
</node>
-<node FOLDED="true" ID="Freemind_Link_1296385109"
- TEXT="list (列表)">
-<node FOLDED="true" ID="Freemind_Link_1583327550"
- TEXT="方括号建立的列表">
-<node
- TEXT="[10, 20, 30, 40]"/>
-<node
- TEXT="["spam", "bungee", "swallow"]"/>
-<node
- TEXT="["hello", 2.0, 5, [10, 20]]"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1792961010"
- TEXT="range 函数建立的列表">
-<node FOLDED="true" ID="Freemind_Link_24270249"
- TEXT=">>> range(1,5)
[1, 2, 3, 4]">
-<node ID="Freemind_Link_41394544"
- TEXT="从1 到 5,包括1,但不包括5。(隐含步长为1)"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1499902432"
- TEXT=">>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]">
-<node ID="Freemind_Link_388625296"
- TEXT="从 0 到 10,包括 0,但不包括 10。(隐含步长为1)"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1310006747"
- TEXT=">>> range(1, 10, 2)
[1, 3, 5, 7, 9]">
-<node ID="Freemind_Link_1939634560"
- TEXT="步长为2"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_63913274"
- TEXT="访问列表中的元素">
-<node FOLDED="true" ID="Freemind_Link_384323944"
- TEXT="类似数组下标">
-<node
- TEXT="print numbers[0]"/>
-<node
- TEXT="numbers[1] = 5"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_966151305"
- TEXT="print 语句显示列表">
-<node ID="Freemind_Link_501291536"
- TEXT="vocabulary = ["ameliorate", "castigate", "defenestrate"]
numbers = [17, 123]
empty = []
print vocabulary, numbers, empty
['ameliorate', 'castigate', 'defenestrate'] [17, 123] []"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1893117093"
- TEXT="列表操作">
-<node FOLDED="true" ID="Freemind_Link_1279897229"
- TEXT="列表长度">
-<node ID="Freemind_Link_889633405"
- TEXT="len() 函数"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_956761636"
- TEXT="+ (相加)">
-<node ID="Freemind_Link_136141168"
- TEXT=">>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = a + b
>>> print c
[1, 2, 3, 4, 5, 6]"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_462250105"
- TEXT="* (重复)">
-<node ID="Freemind_Link_502363907"
- TEXT=">>> [0] * 4
[0, 0, 0, 0]
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_349687345"
- TEXT="List slices">
-<node ID="Freemind_Link_32630403"
- TEXT="参见 String slices">
-<arrowlink DESTINATION="Freemind_Link_42868540" ENDARROW="Default" ENDINCLINATION="1413;0;" ID="Freemind_Arrow_Link_1528866728" STARTARROW="None" STARTINCLINATION="1413;0;"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1126198878"
- TEXT="列表是变量,可以更改">
-<node ID="Freemind_Link_22886970"
- TEXT="不像字符串 str, List 是可以更改的"/>
-<node ID="Freemind_Link_219318666"
- TEXT=">>> fruit = ["banana", "apple", "quince"]
>>> fruit[0] = "pear"
>>> fruit[-1] = "orange"
>>> print fruit
['pear', 'apple', 'orange']"/>
-<node ID="Freemind_Link_450947306"
- TEXT=">>> list = ['a', 'b', 'c', 'd', 'e', 'f']
>>> list[1:3] = ['x', 'y']
>>> print list
['a', 'x', 'y', 'd', 'e', 'f']"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1306401486"
- TEXT="列表中增加元素">
-<node ID="Freemind_Link_1186982872"
- TEXT=">>> list = ['a', 'd', 'f']
>>> list[1:1] = ['b', 'c']
>>> print list
['a', 'b', 'c', 'd', 'f']
>>> list[4:4] = ['e']
>>> print list
['a', 'b', 'c', 'd', 'e', 'f']"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1305131912"
- TEXT="删除列表中元素">
-<node FOLDED="true" ID="Freemind_Link_216398146"
- TEXT="通过清空而删除">
-<node ID="Freemind_Link_1187524898"
- TEXT=">>> list = ['a', 'b', 'c', 'd', 'e', 'f']
>>> list[1:3] = []
>>> print list
['a', 'd', 'e', 'f']"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1003001875"
- TEXT="使用 del 关键字">
-<node ID="Freemind_Link_805953430"
- TEXT=">>> a = ['one', 'two', 'three']
>>> del a[1]
>>> a
['one', 'three']"/>
-<node ID="Freemind_Link_5464909"
- TEXT=">>> list = ['a', 'b', 'c', 'd', 'e', 'f']
>>> del list[1:5]
>>> print list
['a', 'f']"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1814012406"
- TEXT="查看列表的id">
-<node ID="Freemind_Link_239306544"
- TEXT=">>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> print id(a), id(b)
418650444 418675820
>>> b = a
>>> print id(a), id(b)
418650444 418650444
>>> b = a[:]
>>> print id(a), id(b)
418650444 418675692"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1396269033"
- TEXT="引用和Copy/Clone">
-<node ID="Freemind_Link_1604582092"
- TEXT="b = a,则两个变量指向同一个对象,两个变量的值一起变动">
-<arrowlink DESTINATION="Freemind_Link_239306544" ENDARROW="Default" ENDINCLINATION="175;0;" ID="Freemind_Arrow_Link_838083635" STARTARROW="None" STARTINCLINATION="175;0;"/>
-</node>
-<node ID="Freemind_Link_179748630"
- TEXT="b = a[:],则建立克隆,b 和 a 指向不同对象,互不相干">
-<arrowlink DESTINATION="Freemind_Link_239306544" ENDARROW="Default" ENDINCLINATION="173;0;" ID="Freemind_Arrow_Link_645560922" STARTARROW="None" STARTINCLINATION="173;0;"/>
-</node>
-<node ID="Freemind_Link_1634832746"
- TEXT="list 作为函数的参数,是引用调用,即函数对 list 所做的修改会影响 list 对象本身">
-<font BOLD="true" NAME="SansSerif" SIZE="12"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1795601085"
- TEXT="列表嵌套和矩阵">
-<node FOLDED="true" ID="Freemind_Link_740323607"
- TEXT="嵌套">
-<node ID="Freemind_Link_525930143"
- TEXT=">>> list = ["hello", 2.0, 5, [10, 20]]
>>> list[3][1]
20"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1078190733"
- TEXT="矩阵">
-<node ID="Freemind_Link_1065974369"
- TEXT=">>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> matrix[1]
[4, 5, 6]
>>> matrix[1][1]
5"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1216168788"
- TEXT="字符串和列表">
-<node FOLDED="true" ID="Freemind_Link_524201632"
- TEXT="string.split 方法">
-<node ID="Freemind_Link_316747077"
- TEXT=">>> import string
>>> song = "The rain in Spain..."
>>> string.split(song)
['The', 'rain', 'in', 'Spain...']"/>
-<node ID="Freemind_Link_711145241"
- TEXT=">>> string.split(song, 'ai')
['The r', 'n in Sp', 'n...']"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1886704563"
- TEXT="string.join 方法">
-<node ID="Freemind_Link_1990677488"
- TEXT=">>> list = ['The', 'rain', 'in', 'Spain...']
>>> string.join(list)
'The rain in Spain...'
"/>
-<node ID="Freemind_Link_1282919966"
- TEXT=">>> string.join(list, '_')
'The_rain_in_Spain...'"/>
-</node>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1587932357"
- TEXT="Tuples">
-<node FOLDED="true" ID="Freemind_Link_195371697"
- TEXT="圆括号建立 Tuple">
-<node FOLDED="true" ID="Freemind_Link_1747406413"
- TEXT="在最外面用圆括号括起来">
-<node ID="Freemind_Link_867739234"
- TEXT=">>> type((1,2,3))
<type 'tuple'>"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1825214363"
- TEXT="必需是逗号分隔的多个值">
-<node ID="Freemind_Link_1703810150"
- TEXT=">>> type((1))
<type 'int'>"/>
-<node ID="Freemind_Link_922539349"
- TEXT=">>> type((1,))
<type 'tuple'>"/>
-<node ID="Freemind_Link_453025333"
- TEXT=">>> type(('WorldHello'))
<type 'str'>"/>
-<node ID="Freemind_Link_433984030"
- TEXT=">>> type(('WorldHello',))
<type 'tuple'>"/>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_828661787"
- TEXT="Tuple vs list">
-<node ID="Freemind_Link_1376321032"
- TEXT="Tuple 和 list 的区别就是: Tuple 是不可更改的,而 list 是可以更改的"/>
-<node FOLDED="true" ID="Freemind_Link_570828533"
- TEXT="一个元素也可以构成 list,但 tuple 必需为多个元素">
-<node ID="Freemind_Link_959801769"
- TEXT=">>> type([1])
<type 'list'>"/>
-<node ID="Freemind_Link_674322060"
- TEXT=">>> type((1))
<type 'int'>"/>
-</node>
-</node>
-</node>
-<node FOLDED="true" ID="Freemind_Link_39327180"
- TEXT="Dictionaries (哈希表)">
-<node FOLDED="true" ID="Freemind_Link_278202182"
- TEXT="花括号建立 哈希表">
-<node ID="Freemind_Link_1081839252"
- TEXT="Perl 管这种类型叫做 哈希表 或者关联数组。即下标可以是字符串的数组"/>
-<node ID="Freemind_Link_603033014"
- TEXT=">>> eng2sp = {}
>>> eng2sp['one'] = 'uno'
>>> eng2sp['two'] = 'dos'
>>> print eng2sp
{'one': 'uno', 'two': 'dos'}"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_1710683289"
- TEXT="访问哈希表中元素:下标为字符串">
-<node ID="Freemind_Link_1970163437"
- TEXT=">>> print eng2sp
{'one': 'uno', 'three': 'tres', 'two': 'dos'}
>>> print eng2sp['two']
'dos'"/>
-</node>
-<node FOLDED="true" ID="Freemind_Link_449232503"
- TEXT="哈希表操作">
-<node FOLDED="true" ID="Freemind_Link_340388765"
- TEXT="keys() 方法,返回 keys 组成的列表">
-<node ID="Freemind_Link_697687692"
- TEXT=">>> eng2sp.keys()
['one', 'three', 'two']"/>
-</node>
... ...
... ...
840 more lines...
... ...
... ...
_______________________________________________
Svn mailing list
S...@list.worldhello.net
http://www.worldhello.net/mailman/listinfo/svn