python学习笔记(二)

来源:互联网 发布:怎么解除淘宝微淘屏蔽 编辑:程序博客网 时间:2024/06/12 20:33

声明:本文整理于虫师的博客,记载一些知识点。

字符串基本操作

1.find
find 方法可以在一个较长的字符串中查找子字符串。它返回子串所在位置的最左端索引。如果没有找到则返回-1.

>>> 'with a moo-moo here. and a moo-moo ther'.find('moo')7>>> title = "Monty Pyhon's Flying Circus">>> title.find('Monty')0>>> title.find('Python')-1

2.join
join 方法是非常重要的字符串方法,它是split方法的逆方法,用来在队列中添加元素:

>>> seq = ['1','2','3','4','5']>>> sep = '+'>>> sep.join(seq)'1+2+3+4+5'>>> dirs = '','usr','bin','env'>>> '/'.join(dirs)'/usr/bin/env'>>> print 'C:' + '\\'.join(dirs)C:\usr\bin\env

3.lower
lower 方法返回字符串的小写字母版。

如果想要编写“不区分大小写”的代码的话,那么这个方法就派上用场了—–代码会忽略大小写状态。

>>> 'Trondheim Hammer Dance'.lower()'trondheim hammer dance'

4.replace
replace 方法返回某字符串的所有匹配项均被替换之后得到字符串。

>>> 'This is a test'.replace('is','eez')'Theez eez a test'

5.split
这是一个非常重要的方法,它是join的逆方法,用来将字符串分割成序列。

>>> '1+2+3+4+5'.split('+')['1', '2', '3', '4', '5']>>> '/usr/bin/env'.split('/')['', 'usr', 'bin', 'env']>>> 'using the default'.split()['using', 'the', 'default']

6.strip
strip 方法返回去除两侧(不包含内部)空格的字符串:

>>> '      internal white space is kept    '.strip()'internal white space is kept'

字典

字典的使用

现实中的字段及在python中的字段都进行了构建,从而可以轻松查到某个特定的词语(键),从而找到它的意义(值)。

某些情况下,字典比列表更加适用:
1.表征游戏棋盘的状态,每个键都是由坐标值组成的元组;
2.存储文件修改次数,用文件名作为键;
3.数字电话/地址本

创建和使用字典

>>> phonebook = {'zhangsai':'2313','lisi':'9102','wangwu':'3158'}

字典由多个键及与其对应的值构成,在上例中,名字是键,电话号码是值。

dict函数
可以用dict 函数,通过其他映射(比如其他字典)或(键,值)这样的序列对建立字典。

>>> items = [('name','gumby'),('age',42)]>>> d = dict(items)>>> d{'age': 42, 'name': 'gumby'}>>> d['name']'gumby'

dict函数也可以通过关键字参数来创建字典,如下例所示:

>>> d = dict(name ='gumby', age=42)>>> d{'age': 42, 'name': 'gumby'}

popitem函数
获取或删除字典中任意的键-值对

>>> scoundrel ={'name':'robin','girlfriend':'marion'}>>> key,value = scoundrel.popitem()>>> key'name'>>> value'robin'

字典示例:

#简单数据库#使用人名作为键的字典,每个人用另一个字典表示,其键‘phone’和‘addr’分别表示他们的电话号和地址,people ={    'zhangsan':{        'phone':'2341',        'addr':'foo drive 23'    },    'lisi':{        'phone':'9102',        'addr':'bar street 42'        },   'wangwu':{        'phone':'3158',        'addr':'baz avenue 90'        }    }#针对电话号码和地址使用的描述性标签,会在打印输出的时候用到labels = {    'phone':'phone number',    'addr':'address'    }name = raw_input('Name:')#查找电话号码还是地址? 使用正确的键:request = raw_input('phone number(p) or address (a)?')#使用正确的键:if request == 'p':key = 'phone'if request == 'a':key = 'addr'#如果名字是字典中的有效键才打印信息:if name in people: print "%s's %s is %s." %(name, labels[key], people[name][key])------------------------#输入内容>>> Name:zhangsanphone number(p) or address (a)?p#打印结果zhangsan's phone number is 2341.

断言

如果需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert 语句可以在程序中设置检查点。

>>> age = 10>>> assert 0 < age < 100>>> age = -1>>> assert 0 < age < 100 , 'the age must be realistic'Traceback (most recent call last):  File "<pyshell#8>", line 1, in <module>    assert 0 < age < 100 , 'the age must be realistic'AssertionError: the age must be realistic
0 0
原创粉丝点击