美文网首页
python字符详解及常用连接

python字符详解及常用连接

作者: 锄禾日当 | 来源:发表于2016-11-17 00:15 被阅读201次

    Python字符串可以使用单引号('), 双引号("), 三引号('''); 三引号(''')里面, 可以添加单引号和双引号, 也可以通过转义序列()添加;
    字符串放在一起自动连接成为一个字符串;
    字符串前面添加限定词R或r, 表示是自然字符串(nature string), 可以忽略里面的格式限制;
    在物理行末尾添加"", 可以连接下一个物理行; 括号, 方括号, 大括号也可以一定限度的扩充物理行;

    字符串定义
    • 使用单引号或双引号
    >>> 'Hello World'
    'Hello World'
    >>> "hello world"
    'hello world'
    
    • 单双引号混用
    >>> "Hello,'xiao Ming'"
    结果:"Hello,'xiao Ming'"
    >>> '"xiao Ming",ni mei er'
    结果:'"xiao Ming",ni mei er'
    

    说明:如果双引号中间有单引号,可以作为普通字符,如果单引号中间有双引号,亦然

    • 使用三引号(单/双)
    >>> """xiaoming
    xiaoli
    xiaopihai"""
    结果:'xiaoming\nxiaoli\nxiaopihai'
    >>> '''
    XIAOMING
    XIAOLI
    XIAOPIHAI
    XIAOGHAI'''
    结果:'\nXIAOMING\nXIAOLI\nXIAOPIHAI\nXIAOGHAI'
    

    说明:1. 三单引号、双引号一般用于跨行字符串输入。2. 行末端包含在字符串中,所以显示包含字符串\n 3.如果字符串中有单引号且无双引号,建议使用双引号标志,可读性变强

    • 字符串转义
    >>> 'isn\'t'
    结果:"isn't"
    >>> "xiaoMing said \"fuck\" "
    结果:'xiaoMing said "fuck" '
    >>> '%%hi tom hi beibei,like:%%d %%s %%f %d'%10
    结果:'%hi tom hi beibei,like:%d %s %f 10'
    

    说明:'转义字符',"转义字符",%%转义字符%

    • 字符串输出
    >>> '"dosn\'t",kiss me'
    '"dosn\'t",kiss me'                   #此处没有转义
    >>> print('"dosn\'t",kiss me')
    "dosn't",kiss me
    
    >>> l = 'first line.\nSecond line.' #\n为换行
    >>> l
    结果:'first line.\nSecond line.'      #为使用print(),\n包含在输出的结果中
    >>> print(l)             #使用print()函数,\n表示换行,输出结果如下
    结果:first line.
    Second line.
    
    >>> print("""test
    first:This is first Line
    -h display this line
    -H not display this line
    """)
    test
    first:This is first Line
    -h display this line
    -H not display this line
    
    >>> print('''
    ...
    ...
    ...''')
    
    ...
    ...
    ...
    >>> print("""test\                                 #可以使用\ 来取消跨行输出
    first:This is first Line\
    -h display this line
    -H not display this line
    """)
    结果:testfirst:This is first Line-h display this line
         -H not display this line
    
    • 禁止字符转义
    >>> print('c:\python\npython35') #这里的\n被解释为作为换行
    结果:c:\python
           python35
    >>> print(r'c:\python\n pyhon35') #如过不想换行,可以在第一个引号前面加r
    结果:c:\python\n pyhon35
    
    • 字符串连接应用
    >>> conf = {'host':'127.0.0.1',
    ...     'db':'test',
    ...     'user':'sb',
    ...     'passwd':'fuck'}
    >>> ';'.join("%s=%s"%(k, v) for k, v in conf.iteritems())
    结果:'passswd=fuck;db=test;user=sa;host=127.0.0.1'
    

    说明: join() 函数的高效率(相对于循环相加而言),使它成为最值得关注的字符串方法之一。它的功用是将可迭代的字符串序列连接成一条长字符串,其接受一个列表,然后用字符串依次连接列表中每一个元素

    • 字符串连接
    >>> 'hello' + ' ' + 'world' #用+号连接字符串
    结果:'hello world'
    >>> ('YY' * 3) + 'DDHH'
    结果:'YYYYYYDDHH'
    >>> 'yang' '20160122' #用空格连接字符串
    结果:'yang20160122'
    >>> lidefeng = 'ldf'
    >>> lidefeng 'ldf'
    结果:SyntaxError: invalid syntax
    

    说明:不管字符串之间有多少空格都会被当作一个空格来看待,尽量不要用空格连接字符串,两者都是字符串不适用与变量或表达式

    • 字符串连接续
    >>> content = ('hello world I come from china' #回车
           'i want to jiangsu.')
    >>> content
    'hello world I come from chinai want to jiangsu.'
    >>> content = 'welcome to school'
    >>> text = (content                           #回车
        + 'i like u to wish'
        )
    >>> text
    'welcome to schooli like u to wish'
    >>> 5 * "hello" + "fuck"                           #用*号重复字符串
    'hellohellohellohellohellofuck'                 #注意:数字必须写在最前面,如需变化顺序需要加上括号(),如上
    >>> content = "jiangsu"
    >>> content[0] = 'j'                           #非法赋值
    Traceback (most recent call last):   #不允许利用索引或切片改变获取字符,字符串,但是可以通过+号来连接获取的字符串
      File "<pyshell#119>", line 1, in <module>
        content[0] = 'j'
    TypeError: 'str' object does not support item assignment
    >>> content[2]= 'su'
    Traceback (most recent call last):
      File "<pyshell#120>", line 1, in <module>
        content[2]= 'su'
    TypeError: 'str' object does not support item assignment
    >>> "i" + content[:4]  #不允许利用索引或切片改变获取字符,字符串,但是可以通过+号来连接获取的字符串
    'ijian'
    
    • 字符串连接(特殊场景)
    >>> "beijing".join("")
    结果:''
    >>> "beijing".join("a")
    结果:'a'
    >>> list = ["i"]
    >>> "e".join(list)
    结果:'i'
    >>> "\".jion("content")  #不是每种字符串都可以用分隔符
    结果:SyntaxError: invalid syntax
    

    相关文章

      网友评论

          本文标题:python字符详解及常用连接

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