登录  /  注册

浅谈python字符串

零到壹度
发布: 2018-04-23 11:30:31
原创
1441人浏览过

python字符串是一种元素为字符的序列类型。因为序列类型是元素被顺序放置的一种数据结构,因此可以通过索引来获取某一个字符,或者指定索引范围来获取一组字符。

>>> ch='abcde'
>>> print("ch[0]=",ch[0],"ch[-1]=",ch[-1])
ch[0]= a ch[-1]= e
登录后复制

index是整数,不能越界,从0到lne(str)-1,否则出现错误。

>>> len(ch)
5
>>> ch[5]
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    ch[5]
IndexError: string index out of range
登录后复制

逆序打印字符串

def resstr(ch):
    mid=len(ch)
    for c in range(mid):
        print(ch[mid-1-c],end=&#39;&#39;)
>>> resstr(&#39;abcde&#39;)
edcba
登录后复制

sb的准备,逆序字符串了,string是不能修改的。报错提示:'str' object does not support item assignment

字符串的分片,就是从给定的字符串分离出部分字符串,可以采用以下形式索引 i,j,k
i是起始位置,j是索引结束位置,但是不包括j位置上的字符串,索引编号每次增加的步长为k

>>> s="hello world"
>>> print(s[0:len(s):2])
hlowrd
>>> print(s[1:len(s):3],end=&#39;---&#39;)
eood---
登录后复制

索引index,是从0到len(str)-1,也可以使用负索引,范围是-n到-1.负索引的起始位置是字符串的结束。

st=&#39;asdfg&#39;
print(st[-1:0:-1])
gfds
登录后复制

字符串分片的索引,索引的起始位置i,索引结束位置j,和步长k均可以省略,省略i时,从0或者-1开始,省略j时到最后一个字符串结束,省略k时候步长为1。

st=&#39;asdfghjk&#39;
print(st[:0:-1])
print(st[2::2])
print(st[0:5:])
kjhgfds
dgj
asdfg
登录后复制

字符串相关的操作,可以进行连接操作,逻辑操作,还有字符串处理函数。

st1=&#39;abc&#39;
st2="def"
print("{0}+{1}={2}".format(st1,st2,st1+st2))
print("{0:s}*5={1}".format(st1,st1*5))
abc+def=abcdef
abc*5=abcabcabcabcabc
登录后复制

字符串的方法
字符串是不可变的,任何字符串改变字符串后,都会返回一个新的字符串,python字符串string可以看成一个类。

st1=&#39;abcDEF&#39;
print("{0:s}.upper()={1:s}".format(st1,st1.upper()))
print("{0:s}.lower()={1:s}".format(st1,st1.lower()))
print("{0:s}.swapcase()={1:s}".format(st1,st1.swapcase()))
abcDEF.upper()=ABCDEF
abcDEF.lower()=abcdef
abcDEF.swapcase()=ABCdef
st1=&#39;abcDEFasde&#39;
print("a count={0}".format(st1.count(&#39;a&#39;)))
print("{0} start with {1} is {2} ".format(st1,&#39;abc&#39;,st1.startswith(&#39;abc&#39;)))
print("{0} end with {1} is {2} ".format(st1,&#39;de&#39;,st1.startswith(&#39;de&#39;)))
a count=2
abcDEFasde start with abc is True 
abcDEFasde end with de is False 
st1=&#39; abcDEFasde&#39;
print("{0} replace 123 :{1}".format(st1,st1.replace(&#39;abc&#39;,&#39;123&#39;)))
print( "{0} remove {1} left char---{2}".format(st1,&#39; &#39;,st1.strip()))
 abcDEFasde replace 123 : 123DEFasde
 abcDEFasde remove   left char---abcDEFasde
登录后复制

字符串的方法太多,不在说了,没有意思。

byte对象
在Python中,byte和字符串不同,由一系列不可改变的unicode字符组成的序列叫字符串。由一系列不可改变编码介于0--255之间的字符串组成的序列称为byte对象。

by=b&#39;abc &&#39;
print(type(by))
print("length=",len(by))
<class &#39;bytes&#39;>
length= 5
登录后复制

在字符串前面加'b'可以定义byte对象,每一个字符串可以是ascii字符等,可以使用len()函数计算byte对象的长度。

ch=input(&#39;输入几个数字逗号隔开:&#39;)
d=ch.split(&#39;,&#39;)
print(d)
sum=0
for num in d:
    sum+=float(num)
print("ths sum=",sum)
输入几个数字逗号隔开:2.2,3.3,5.5,6.8
[&#39;2.2&#39;, &#39;3.3&#39;, &#39;5.5&#39;, &#39;6.8&#39;]
ths sum= 17.8
登录后复制

相关推荐:

python字符串实际应用

Python3字符串各种内置函数详解

python字符串分隔

python的字符串和列表

以上就是浅谈python字符串的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号