1.Python中如何定义字符串
在Python中字符串是不可改变的对象(immutable),因此无法直接修改字符串的某一位字符。
一种可行的方式,是将字符串转换为列表,修改列表的元素后,在重新连接为字符串。
示例代码如下:
s = 'abcdefghijk' #原字符串l = list(s) #将字符串转换为列表,列表的每一个元素为一个字符l[1] = 'z' #修改字符串的第1个字符为znewS = ''.join(l) #将列表重新连接为字符串print(newS)#azcdefghijk #修改后的字符串
2.python字符串格式化什么意思
在python中也有类似于c中的printf()的格式输出标记。
在python中格式化输出字符串使用的是%运算符,通用的形式为格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致。 右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开。
重点来看左边的部分。左边部分的最简单形式为:�oe其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用'%s'来标记。
比如:'%s %s %s' % (1, 2。3, ['one', 'two', 'three'])它的输出为'1 2。
3 ['one', 'two', 'three']',就是按照%左边的标记输出的。 虽然第一个和第二值不是string类型,一样没有问题。
在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。
除了%s外,还有很多类似的code:整型数:%d无符号整型数:%u八进制:%o十六进制:%x %X浮点数:%f科学记数法: %e %E根据数值的不同自动选择%e或%f: %g根据数值的不同自动选择%E或%f: %G就跟前面说用进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题。 如果要在”格式标记字符串“中输出%本身,可以用%%来表示。
上面说的只是格式标记的最简间的形式,来看复杂一点的:'%6。2f' % 1。
235在这种形式中,在f的前面出现了一个类似小数的6。 2它表示的意思是,总共输出的长度为6个字符,其中小数2位。
还有更复杂的:'。2f' % 1。
235在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。这一行的输出为'001。
24',可以看到小数也占用一位。 类似于这里0这样的标记还有-、。
其中,-表示左对齐, 表示在正数前面也标上 号,默认是不加的。最后来看最复杂的形式:'%(name)s:%(score)06。
1f' %{'score':9。5, 'name':'newsim'}这种形式只用在要输出的内容为dictionary(一种python的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键。
前面的例子可以看到,”格式标记字符串“中标记的顺序和"要输出的值组"中的值是一一对应的,有顺序,一对一,二对二。而在这种形式中,则不是,每个格式标记对应哪个值由小括号中的键来指定。
这行代码的输出为:'newsim:0009。5'。
有时候在%6。 2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d。
�或%d。%d%f。
可以用%*。*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。
比如:'%*。*f' % (6, 2, 2。
345)就相当于'%6。 2f' % 2。
345。这是这本书到此为止看起来最复杂的内容。
不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个" "来构造类似的输出字符串。这里的%真有点除法的味道,怪不得设计者会选择用%这个除号。
象C 中的sprintf函数一样,可以用“%”来格式化字符串Table 3。 1。
字符串格式化代码格式 描述%% 百分号标记%c 字符及其ASCII码%s 字符串%d 有符号整数(十进制)%u 无符号整数(十进制)%o 无符号整数(八进制)%x 无符号整数(十六进制)%X 无符号整数(十六进制大写字符)%e 浮点数字(科学计数法)%E 浮点数字(科学计数法,用E代替e)%f 浮点数字(用小数点符号)%g 浮点数字(根据值的大小采用%e或%f)%G 浮点数字(类似于%g)%p 指针(用十六进制打印值的内存地址)%n 存储输出字符的数量放进参数列表的下一个变量中。
3.如何进行Python字符串操作
它合理地结合了高性能与使得编写程序简单有趣的特色,下面讲述python字符串操作流程。要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import。同时为了保持向后兼容,现在的Python中仍然保留了一个string的module。阐述编制Python程序相关注意什么是Python 解释器及其使用?深度剖析Python Web 应用程序怎样正确安装Python?浅析Python中的Python全局变量其中定义的方法与python字符串操作是相同的,这些方法都最后都指向了用S.method ()调用的函数。要注意,S.method()能调用的方法比string的module中的多,比如isdigit()、istitle()等就只能用 S.method()的方式调用。 对一个字符串对象,首先想到的操作可能就是计算它有多少个字符组成,很容易想到用S.len(),但这是错的,应该是len(S)。因为len()是内置函数,包括在__builtin__模块中。python字符串操作不把len()包含在string类型中,乍看起来好像有点不可理解,其实一切有其合理的逻辑在里头。len()不仅可以计算字符串中的字符数。还可以计算 list的成员数,tuple的成员数等等,因此单单把len()算在string里是不合适,因此一是可以把len()作为通用函数。用重载实现对不同类型的操作,还有就是可以在每种有len()运算的类型中都要包含一个len()函数。 Python选择的是第一种解决办法。类似的还有str(arg)函数,它把arg用string类型表示出来。
字符串中字符大小写的变换:S.lower() #小写 S.upper() #大写 S.swapcase() #大小写互换 S.capitalize() #首字母大写 String.capwords(S) 字符串在输出时的对齐:S.lower() #小写 S.upper() #大写 S.swapcase() #大小写互换 S.capitalize() #首字母大写 String.capwords(S) 字符串中的搜索和替换:S.lower() #小写 S.upper() #大写 S.swapcase() #大小写互换 S.capitalize() #首字母大写 String.capwords(S) 使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 deletechars参数。可以使用把某个字符翻译为python字符串操作的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。
4.python中字符串与上字符串的结果
1、有时候我们可能想让字符串倒序输出,下面给出几种方法方法一:通过索引的方法[python] view plain copy print?>>> strA = "abcdegfgijlk" >>> strA[::-1] 'kljigfgedcba' 方法二:借组列表进行翻转[python] view plain copy print?#coding=utf-8 strA = raw_input("请输入需要翻转的字符串:") order = [] for i in strA:order.append(i) order.reverse() #将列表反转 print ''.join(order) #将list转换成字符串 执行结果:[python] view plain copy print?请输入需要翻转的字符串:abcdeggsdd ddsggedcba。
转载请注明出处编程代码网 » python从字符串