Beginning Python Chapter3
来源:互联网 发布:xilica xd4080软件 编辑:程序博客网 时间:2024/06/11 08:04
- 所有标准的序列操作(索引,分片,乘法,判断成员资格,求长度,取最值)对字符串同样适用,但是,字符串是不可变的,因此通过分片对字符串进行复制是不合法的。
格式化字符串的%部分称为转换说明符,他们标记需要插入值的位置,格式类型如下
转换类型 含义 d,i 带符号的十进制数 o 不带符号的八进制数 u 不带符号的十进制数 x 不带符号的十六进制数(小写) X 不带符号的十六进制数(大些) e 科学计数法标识的浮点数(小写) E 科学计数法标识的浮点数(大写) c 单个字符 r 使用repr转换的任意字符串对象 s 使用str转换的任意字符串对象print '%d+%d = %d' % (1, 1, 2)
字符串方法
函数名 函数说明 find 查找字符串,存在返回字符串索引,不存在返回-1'123455'.find('123')
join 拼接字符串,split的逆方法['1','2','3'].join('+')
lower 返回字符串的小写形式'ABCD'.lower()
replace 替换字符串'abcde'.replace('a', '1')
split 分割字符串,如果不提供任何参数,将默认分割标记为空格 strip 去掉字符串两侧的空格字典是python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的Key中,键可以是数字,字符串,甚至是元组。一个key可以对应多个值,此时可以将多个值存入一个序列中。python的字典是
{key:value, key:value}
形式,字典的键类型可以是任意类型,当键不存在时,使用索引直接赋值,会将这个key添加到字典中,当使用关键字 in 验证字典时,验证的是key是否在字典中。
dic = {'name' : 'king', 'age' : 12}print 'my name is %(name)s, age is %(age)s' % dicmy name is king, age is 12注意 %(name)s后面的s不能去掉,否则报错
字典的方法:
{}.fromkey(['a','b','c'])
, {}.fromkey('abc')
效果一样,结果都是 {'a':None, 'b':None, 'c':None}
, 如果不希望默认值为None
,可以指定默认值,{}.fromkey('abc','unknow'), {'a' : 'unknow', 'b' : 'unkonw', 'c' : 'unknow'},
使用fromkey指定默认值时,默认值只能设置一个,不能设置多个 get 得到一个指定键的值,当在字典中这个键值不存在时返回None,不会抛出异常。get也可以指定默认值{a:'a'}.get('b':'NoKey')
结果为NoKey has_key 判断字典中是否存在key效果和in相同,在Python3.0中不在包含这个函数 item, iteritems items方法将所有的字典项以列表方式返回,列表的每一项都来自于(键,值) key, iterkeys 返回字典中所有的key pop 获取指定键的值,并同时将这个键从字典中删 popitem 随机删除一个key和value的值,并将对应的值返回 setdefault 设置key对应的值,当键不存在时,setdefault返回默认并且相应的更新字典,如果键存在,那么就返回与其对应的值,单不改变字典,默认值是可选的,如果不设定默认使用None update 利用一个字典去更新另一个字典, a.update(b), 使用b的键值信息更新a, 改变的是a的键值信息 value, itervalue 返回字典中值得集合 dic = {'name' : 'king', 'age' : 12}dica = {'name' : 'sky', 'sex':'boy'}dic.update(dica)print dicprint dicafor item in dic.key(): print item + ' ' + str(dic[item])print dic.get('name')dic.pop('name')print dic{'age':12, 'name':'king', 'name':'sky', 'sex':'boy'}{'name':'sky', 'sex':'boy'}age 12name kingname skysex boysky{'age':12, 'name':'king', 'sex':'boy'}
- 当把其他模块的某些函数导入到当前文件中时,可以给指定的函数起一个别名,这和mysql的别名机制很相似,
import math as mymath
- python允许同时对多个变量赋不同的值,这个在交换两个变量值时候非常方便
a, b, c = 1, 2, 3
print a, b, c
a, b = b, a
print a, b, c
1 2 3
2 1 3
a, b, c, *d = [1,2,3,4,5,6]
print a,b,c,d
1 2 3 [4,5,6]
python3.0的解包特性,并未实际编码测试过,答案不确定正确。 - python支持链式赋值,即x = y = z = 1
- python中的布尔值,标准值False和None,所有类型的数字0(包括浮点型,长整形和其他类型),空序列,以及空的字典都可以作为False,但是尽管[]和”“都是假值,但是他们本身并不相等,也就是说[] != “”,对于其他类型的假值对象也是如此。
- 循环遍历数组
for key, value in {'name' : 'king', 'age', 12}.items(): print key, value
- zip函数可以将多个列表进行压缩合并成一个列表,方便进行并行迭代
name = ['king', 'sky']age = [12, 13]print zip(name, age)[('king', 12), ('sky', 13)]name = ['king', 'sky', 'array']age = [12, 13]print zip(name, age)[('king', 12), ('sky', 13)]name = ['king', 'sky']age = [12, 13, 14]print zip(name, age)[('king', 12), ('sky', 13)]相当于按照位置对应出的结果,并不是获得的笛卡儿积,当长度不想等时,最小的序列用完时候就停止了。
- 列推倒式是一个轻量级的循环,是利用其他列表创建新列表的一种方法,
[0, 2, 4, 6, 8]
- exec和eval: 简单的说是将字符串当作python语句来执行
eval('1 + 2') 输出结果3
0 0
- Beginning Python - Chapter3 : Strings
- Beginning Python Chapter3
- Beginning Python
- python 核心编程Chapter3 Exercise
- Chapter3.1 Python函数(1)
- chapter3
- chapter3
- Beginning Python - Chapter4 : Dictionaries
- Beginning Python - Chapter6 : Abstraction
- Beginning Python - Chapter7 : Exceptions
- Beginning Python Chapter 21
- Beginning Python Chapter 22
- Beginning Python Chapter 25
- Beginning Python Chapter 26
- Beginning Python Chapter 27
- Beginning Python Chapter 28
- Beginning Python Chapter1
- Beginning Python Chapter2
- 第十二周 项目二-操作用邻接表存储的图
- 递归的折半查找算法
- 关于Thread is already start
- spatialhadoop2.1源码阅读(三) 自定义InputFormat(SpatialInputFormat & ShapeInputFormat)
- 在CentOS中使用 yum 安装MongoDB及服务器端配置
- Beginning Python Chapter3
- 关于CMPP2.0网上的几个例子(华为开发包SMProxy)
- 第13周项目3-Dijkstra算法的验证
- 局域网搭建git服务器
- (第十周项目1)二叉树算法库
- 利用 SPL 快速实现 Observer 设计模式
- 第十周项目5 求二叉树叶子节点的个数
- okhttpclient 文件断点上传
- Myeclipse自动生成的get set方法 加上文本注释