str, repr和反引号(`)是将python值转换为字符串的3中方法。str让字符串更易于阅读,repr(``)是把结果字符串转换为合理的python表达式,反引号在python3.0已经废弃。
input与raw_input,input会假设用户输入的是合法的python表达式,如果输入字符串,需要加上“”(双引号),但raw_input会把所有的输入当作原始数据,然后将其放入字符串中。python3中已经将两个函数整合成一个input了,万岁,不用再区分这么个东东了,俺也大部分使用的是python3。
‘’‘(三个单引号)可以表示长字符串,字符串可以换行。
原始字符串是以r开头的字符串,原始字符串不会把反斜杠当作特殊字符,在原始字符串中输入的每个字符都会与书写的方式保持一致。不能在原始字符串结尾输入反斜杠(除非使用转义,但是会当成两个反斜杠!!)。所以一种在最后接反斜杠的方法是:r"C:Programs\foo" '\\'.
round(number[,ndigits]):根据给定的精度对数字进行四舍五入。
空列表:[]
None:内建值,可以用来初始化长度为n的列表,相当于占位,如[None]*n
列表是可变的,字符串和元组是不可变的。
列表方法:
两个列表x, y, x=y:会使x,y指向同一个列表,同时变化,如果要复制列表需要:x = y [ : ]
list():将字符串转换为列表, ' '.join(somelist): 可以将somelist转换为字符串,但前提是somelist要是包含字符的列表!!
append:在列表后追加新值,如果是一个列表,会将列表当成整个对象插入,而不是列表的值一个一个插入,如果是在列表后追加另一个列表需要使用extend
count(val): 返回列表中含有几个val
extend(list): 像列表的连接操作,使list连接在现有列表的后面, 可以一次性追加多个值
index(val): 返回val在列表中的位置
sort: 列表原位置排序,不返回值; sorted,是函数,不是列表的方法,使用sorted(x),列表作为参数,返回排序后的列表,sort可以将一个自定义的比较函数作为参数cmp,自定义比较规则,还有另外两个可选的参数,key,reverse, key与cmp类似,需提供一个在排序过程中使用的函数。该函数并不是直接用来确定对象的大小,而是为每个元素创建一个键,然后所有元素根据键来排序,如key=len,根据元素的长度来进行排序。reverse是简单的布尔值(true, false),用来指定列表是否要反向排序,reverse=True表示反响排序。
remove(val):删除第一个等于val的值; reversed,也是函数,列表作为参数,返回一个迭代器,可以使用list将返回的对象转换成列表。list(reversed(x))
pop():删除最后一个元素,且返回元素值
元组:使用逗号(,)分割一些值就可以创建元祖。元组通过圆括号括气来。tuple(x):列表转换成元组。
字符串:可不改变
字符串格式化 s % (x, y) , %右边的实际参数使用元组提供或字典。如果右操作数是元组的话,每个元素都会被单独格式化,每个值都需要一个转换说明符,且一定用括号括起来, 如‘ %s plus %s equals %s’ % (1, 1, 2)
转换标志:-:左对齐,+:加上正负号;“”(空白字符):表示整数之前保留空格, 0:表示转换值若位不够用0填充
最小字段宽度:指定宽度,如果是*,宽度从元组中读出
点(.)后跟精度:如果转换的是实数,表示浮点数精度,如果转换的是字符串,数字表示最大字符宽(注意字符串的最小字符宽度),如果是*:精度从元祖中读出
模板字符串:使用from string import Template, 以下为使用例子:
>>> s = Template('$x, glorious $x') >>> s.substitute(x='slurm') 'slurm, glorious slurm' >>> s = Template("It's ${x}tastic") >>> s.substitute(x='slurm') "It's slurmtastic" >>> s = Template("Make $$ selling $x!") >>> s.substitute(x='slurm') 'Make $ selling slurm!' >>> s=Template('A $thing must never $action') >>> d = {} >>> d['thing']='gentleman' >>> d['action']='show his socks' >>> s.substitute(d) 'A gentleman must never show his socks'如上所示,如果替换字段是单词的一部分,参数名就必须用括号括起来,且可以使用字典变量提供值/名称对
join: 在队列中添加元素,队列元素必须是字符串,split: 以某个字符分割字符串成为列表,默认使用空格做分割(空格,制表,换行)
>>> seq = ['1','2','3','4'] >>> '+'.join(seq) '1+2+3+4' >>> seq = '+'.join(seq) >>> seq.split('+') ['1', '2', '3', '4']
k in d:检查d中是否有含有键为k的项,检查的是键。
字典格式化,在每个转换说明符中的%后面,加上用圆括号括起来的键,格式化后,会被替换为键对应的值, "Cecil's phone number is %(cecil)s" % phonebook
copy:浅复制,当替换副本中值,原字典不受影响,如果原地修改了副本的值,原字典改动,deepcopy: 深复制