• 技术文章 >常见问题 >Python常见问题

    python如何拼接字符串

    silencementsilencement2019-08-27 13:46:08原创12624

    今天,跟大家一起来学习Python拼接字符串的几种种方式。

    1、%方式

    print('%s %s' % ('Hello', 'world'))
    >>> Hello world

    %号格式化字符串的方式继承自古老的C语言,这在很多编程语言都有类似的实现。上例的%s是一个占位符,它仅代表一段字符串,并不是拼接的实际内容。实际的拼接内容在一个单独的%号后面,放在一个元组里。

    类似的占位符还有:%d(代表一个整数)、%f(代表一个浮点数)、%x(代表一个16进制数),等等。%占位符既是这种拼接方式的特点,同时也是其限制,因为每种占位符都有特定意义,实际使用起来太麻烦了。

    2、format()拼接方式

    # 简洁版
    s1 = 'Hello {}! My name is {}.'.format('World', 'Python猫')
    print(s1)
    >>>Hello World! My name is Python猫.
    # 对号入座版
    s2 = 'Hello {0}! My name is {1}.'.format('World', 'Python猫')
    s3 = 'Hello {name1}! My name is {name2}.'.format(name1='World', name2='Python猫')
    print(s2)
    >>>Hello World! My name is Python猫.
    print(s3)
    >>>Hello World! My name is Python猫.

    这种方式使用花括号{}做占位符,在format方法中再转入实际的拼接值。容易看出,它实际上是对%号拼接方式的改进。这种方式在Python2.6中开始引入。

    上例中,简洁版的花括号中无内容,缺点是容易弄错次序。对号入座版主要有两种,一种传入序列号,一种则使用key-value的方式。实战中,我们更推荐后一种,既不会数错次序,又更直观可读。

    3、() 类似元组方式

    s_tuple = ('Hello', ' ', 'world')
    s_like_tuple = ('Hello' ' ' 'world')
    
    print(s_tuple) 
    >>>('Hello', ' ', 'world')
    print(s_like_tuple) 
    >>>Hello world
    
    type(s_like_tuple) >>>str

    注意,上例中s_like_tuple并不是一个元组,因为元素间没有逗号分隔符,这些元素间可以用空格间隔,也可以不要空格。使用type()查看,发现它就是一个str类型。我没查到这是啥原因,猜测或许()括号中的内容是被Python优化处理了。

    这种方式看起来很快捷,但是,括号()内要求元素是真实字符串,不能混用变量,所以不够灵活。

    4、常用的+号方式

    str_1 = 'Hello world! ' 
    str_2 = 'My name is Python猫.'
    print(str_1 + str_2)
    >>>Hello world! My name is Python猫.
    print(str_1)
    >>>Hello world!

    5、join()拼接方式

    str_list = ['Hello', 'world']
    str_join1 = ' '.join(str_list)
    str_join2 = '-'.join(str_list)
    print(str_join1) >>>Hello world
    print(str_join2) >>>Hello-world
    专题推荐:字符串
    上一篇:python的函数返回值是什么 下一篇:什么时候用python

    相关文章推荐

    • python怎么判断数据类型• python pep是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网