继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python之字符串系列

Qyouu
关注TA
已关注
手记 449
粉丝 87
获赞 413

python字符串
1.序列的操作
可通过len()函数验证长度,并通过索引操作得到各个元素
例如: S=’abcd’  字符串赋值给变量S   偏移量a对应0,以此类推
Len(S)    验证长度
4
S[0]     索引(有正向和反向)
‘a’
S[1:3]   切片(偏移量从一开始包含一到三结束不包含三)
‘bc’
S+’xyz’   支持加号合并
‘abcxyz’
S*3      重复创建新字符串
‘abcabcabc’
2.不可变性
例子中没有任何操作对原始字符串进行改变.每个字符串都被定义为新的字符串作为其结果
即不能通过对字符串某一位置进行赋值来改变字符串,但可以通过建立新的字符串并以同一个变量名对其进行赋值,python在运行过程中会清理就的对象.
例如 S=’abc’
S[0]=’z’   希望将S字符串的第0偏移位变成z(这样操作回报错)
...error..
S=’z’+S[1:]   可以重新赋值得到新的字符串
‘zbc’

注意:在核心类型中,数字,字符串,元组是不可变的(不可变性用来保证在程序中保持一个对象固定不变)
,列表和字典是可变的(可完全自由改变,体现灵活性)
3.类型特定的方法
字符串有一些独特的操作作为方法存在
例如:字符串的find方法是一个基本的子字符串查找操作(将返回一个传入子字符串的偏移量,或没有找到返回 -1 )
S.find(‘bc’)
1        (指偏移量是一)
例如:字符串replace方法是对全局进行搜索和替换
S.replace(‘bc’,’XYZ’)
‘aXYZ’
S   (字符串是不可变的)
‘abc’

还有一些方法实现通过分隔符将字符串拆分为子字符串(变得简单),大小写转换,测试字符串的内容(数字字母或其他),去掉字符串后的空格字符等
例如 line=’aaa,bbb,cccc,dd’

>> line.split(‘,’)           拆分
[‘aaa’,’bbb’,’cccc’,’dd’]
>> S=’abc’               小写换大写
>> S.upper()
>> ‘ABC’
>> S.isalpha()          测验字符串
‘True’
>>Line=’aaa,bbb,cccc,dd\n’    
>>Line=Line.rstrip()     去掉空格
>>Line
‘aaa,bbb,cccc,dd’

格式化的高级代替操作

>> ‘%s,kjil,and %s’ % (‘spam’,’SPAM!’)   (%s特指字符串)
‘spam,kjil,and SPAM!’
>> ‘{0},lmm,and {1}’.format(‘nna’,’kkpo’)
‘nna,lmm,and kkpo’

4.寻求帮助
dir()  内置函数,将会返回一个列表,包含对象的所有属性(方法也是函数属性,所以也会出现表中)
help()  具体查询他们是做什么的
例如  对于字符串S

>> dir(S)
['add', 'class', 'contains', 'delattr', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'getnewargs', 'getslice', 'gt', 'hash', 'init', 'le', 'len', 'lt', 'mod', 'mul', 'ne', 'new', 'reduce', '__reduce_ex', 'repr', 'rmod', 'rmul', 'setattr', 'sizeof', 'str', 'subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

>> help(S.replace)
Help on built-in function replace:

replace(...)
S.replace(old, new[, count]) -> string

Return a copy of string S with all occurrences of substringold replaced by new.  If the optional argument count isgiven, only the first count occurrences are replaced.

(END)
5..编写字符串的其他方法
例如:反斜线转义序列
S=’A\nB\tC’     (\n是换行,\t是tab键)
len(S)
5
ord(‘\n’)      \n的ASCII值
10

Python允许字符串在单引号或双引号中(代表相同的东西),也允许三个引号(单或双)中包括多行字符串常量,这种形式所有的行都合并在一起,并在每行末尾增加还行符

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP