美文网首页
python字符串

python字符串

作者: 知识学者 | 来源:发表于2018-04-21 17:43 被阅读21次

    慕课网 首发了,放在垂直领域吧。

    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='')
    
    >>> resstr('abcde')
    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='---')
    eood---
    

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

    st='asdfg'
    print(st[-1:0:-1])
    
    gfds
    

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

    st='asdfghjk'
    print(st[:0:-1])
    print(st[2::2])
    print(st[0:5:])
    
    kjhgfds
    dgj
    asdfg
    

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

    st1='abc'
    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='abcDEF'
    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='abcDEFasde'
    print("a count={0}".format(st1.count('a')))
    print("{0} start with {1} is {2} ".format(st1,'abc',st1.startswith('abc')))
    print("{0} end with {1} is {2} ".format(st1,'de',st1.startswith('de')))
    
    
    a count=2
    abcDEFasde start with abc is True 
    abcDEFasde end with de is False 
    
    st1=' abcDEFasde'
    print("{0} replace 123 :{1}".format(st1,st1.replace('abc','123')))
    print( "{0} remove {1} left char---{2}".format(st1,' ',st1.strip()))
    
    
     abcDEFasde replace 123 : 123DEFasde
     abcDEFasde remove   left char---abcDEFasde
    

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

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

    by=b'abc &'
    print(type(by))
    print("length=",len(by))
    
    <class 'bytes'>
    length= 5
    

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

    ch=input('输入几个数字逗号隔开:')
    d=ch.split(',')
    print(d)
    sum=0
    for num in d:
        sum+=float(num)
    print("ths sum=",sum)
    
    输入几个数字逗号隔开:2.2,3.3,5.5,6.8
    ['2.2', '3.3', '5.5', '6.8']
    ths sum= 17.8
    

    相关文章

      网友评论

          本文标题:python字符串

          本文链接:https://www.haomeiwen.com/subject/frbzkftx.html