zoukankan      html  css  js  c++  java
  • Python 字符串

    生成字符串
        Python中可以使用一对单引号''或者双引号""生成字符串。

    s = "hello, world"
    print s
    #hello, world

    简单操作
        加法:

    s = 'hello ' + 'world'
    s
    #'hello world'

        字符串与数字相乘:

    "echo" * 3
    #'echoechoecho'

        字符串长度:

    len(s)
    #11


    字符串方法
        Python是一种面向对象的语言,面向对象的语言中一个必不可少的元素就是方法,而字符串是对象的一种,所以有很多可用的方法。
        跟很多语言一样,Python使用以下形式来调用方法:
        对象.方法(参数)

    分割
        s.split()将s按照空格(包括多个空格,制表符 ,换行符 等)分割,并返回所有分割得到的字符串。

    line = "1 2 3 4  5"
    numbers = line.split()
    print numbers
    
    #['1', '2', '3', '4', '5']
    #s.split(sep)以给定的sep为分隔符对s进行分割。
    
    line = "1,2,3,4,5"
    numbers = line.split(',')
    print numbers
    
    #['1', '2', '3', '4', '5']

    切片

    #coding=utf-8
    str1='python is no.1'
    #打印字符串中第一个元素
    print(str1[0])
    #打印字符串中最后一个元素
    print(str1[-1])
    #打印第三个元素到最后一个元素
    print(str1[2:])
    #打印第一个到倒数第三个元素,不包括倒数第三个元素
    print(str1[:-3])
    #打印第三个元素到第5个元素
    print(str1[2:5])
    
    print(str1[0:6]+' '+str1[-4:])


    连接
        与分割相反,s.join(str_sequence)的作用是以s为连接符将字符串序列str_sequence中的元素连接起来,并返回连接后得到的新字符串:

    s = ' '
    s.join(numbers)
    #'1 2 3 4 5'
    s = ','
    s.join(numbers)
    #'1,2,3,4,5'


    替换
        s.replace(part1, part2)将字符串s中指定的部分part1替换成想要的部分part2,并返回新的字符串。

    s = "hello world"
    s.replace('world', 'python')
    #'hello python'

        此时,s的值并没有变化,替换方法只是生成了一个新的字符串。

    s
    #'hello world'


    大小写转换
        s.upper()方法返回一个将s中的字母全部大写的新字符串。
        s.lower()方法返回一个将s中的字母全部小写的新字符串。

    "hello world".upper()
    #'HELLO WORLD'

        这两种方法也不会改变原来s的值:

    s = "HELLO WORLD"
    print s.lower()
    print s
    #hello world
    #HELLO WORLD


    去除多余空格
        s.strip()返回一个将s两端的多余空格除去的新字符串。
        s.lstrip()返回一个将s开头的多余空格除去的新字符串。
        s.rstrip()返回一个将s结尾的多余空格除去的新字符串。

    s = "  hello world   "
    s.strip()
    #'hello world'

        s的值依然不会变化:

    s
    #'  hello world   '
    s.lstrip()
    #'hello world   '
    s.rstrip()
    #'  hello world'

        更多方法可以使用dir函数查看所有可以使用的方法:

    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', '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']


    多行字符串
        Python 用一对 """ 或者 ''' 来生成多行字符串:

    a = """hello world.
        it is a nice day."""
    print a
    #hello world.
    #it is a nice day.

        在储存时,我们在两行字符间加上一个换行符 ' '

    a
    #'hello world.
    it is a nice day.'


    使用 () 或者 来换行
        当代码太长或者为了美观起见时,我们可以使用两种方法来将一行代码转为多行代码:
        ()
        

    a = ("hello, world. "
        "it's a nice day. "
        "my name is xxx")
    a
    #"hello, world. it's a nice day. my name is xxx"
    
    a = "hello, world. " 
        "it's a nice day. " 
        "my name is xxx"
    a
    #"hello, world. it's a nice day. my name is xxx"

     
    强制转换为字符串
        str(ob)强制将ob转化成字符串。
        repr(ob)也是强制将ob转化成字符串。
        不同点如下:

    str(1.1 + 2.2)
    #'3.3'
    repr(1.1 + 2.2)
    #'3.3000000000000003'


    整数与不同进制的字符串的转化
        可以将整数按照不同进制转化为不同类型的字符串。
        十六进制:

    hex(255)
    #'0xff'

        八进制:

    oct(255)
    #'0377'

        二进制:

    bin(255)
    #'0b11111111'

        可以使用 int 将字符串转为整数:

    int('23')
    #23


        还可以指定按照多少进制来进行转换,最后返回十进制表达的整数:

    int('FF', 16)
    #255
    int('377', 8)
    #255
    int('11111111', 2)
    #255

        float 可以将字符串转换为浮点数:

    float('3.5')
    #3.5


    格式化字符串
        Python用字符串的format()方法来格式化字符串。
        具体用法如下,字符串中花括号 {} 的部分会被format传入的参数替代,传入的值可以是字符串,也可以是数字或者别的对象。

    '{} {} {}'.format('a', 'b', 'c')
    #'a b c'

        可以用数字指定传入参数的相对位置:

    '{2} {1} {0}'.format('a', 'b', 'c')
    #'c b a'

        还可以指定传入参数的名称:

    '{color} {n} {x}'.format(n=10, x=1.5, color='blue')
    #'blue 10 1.5'

        可以在一起混用:

    '{color} {0} {x} {1}'.format(10, 'foo', x = 1.5, color='blue')
    #'blue 10 1.5 foo'

        可以用{<field name>:<format>}指定格式:

    from math import pi
        '{0:10} {1:10d} {2:10.2f}'.format('foo', 5, 2 * pi)
    #'foo                 5       6.28'

        具体规则与C中相同。
        也可以使用旧式的 % 方法进行格式化:

    s = "some numbers:"
    x = 1.34
    y = 2
    # 用百分号隔开,括号括起来
    t = "%s %f, %d" % (s, x, y)
    
    t
    #'some numbers: 1.340000, 2'
  • 相关阅读:
    Linux常用命令-centos
    USACO 2006 Open, Problem. The Country Fair 动态规划
    USACO 2007 March Contest, Silver Problem 1. Cow Traffic
    USACO 2007 December Contest, Silver Problem 2. Building Roads Kruskal最小生成树算法
    USACO 2015 February Contest, Silver Problem 3. Superbull Prim最小生成树算法
    LG-P2804 神秘数字/LG-P1196 火柴排队 归并排序, 逆序对
    数据结构 并查集
    浴谷国庆集训 对拍
    1999 NOIP 回文数
    2010 NOIP 普及组 第3题 导弹拦截
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/10027587.html
Copyright © 2011-2022 走看看