【问题标题】:How to include quotes in python?如何在python中包含引号?
【发布时间】:2013-12-30 17:21:09
【问题描述】:

预期结果:

What is your name? *name*
So your name is 'name' huh?

代码:

name = input("What is your name? ")
print('So your name is ' , 'name' ,'?')

我在代码的第二行需要帮助!

【问题讨论】:

    标签: python quotes


    【解决方案1】:

    使用表示函数repr 可以得到更好的结果:

    for name in ("ocean","guiovar'ch"):
        print ("so yourname is '{0!s}'".format(name))
        print ("so yourname is {0!r}".format(name))
        print ("so yourname is %r" % name)
    

    结果

    so yourname is 'ocean'
    so yourname is 'ocean'
    so yourname is 'ocean'
    so yourname is 'guiovar'ch'
    so yourname is "guiovar'ch"
    so yourname is "guiovar'ch"
    

    【讨论】:

      【解决方案2】:

      使用带有双引号的string formatting

      >>> name="user3094915"
      >>> print("So your name is '%s'" % name)
      So your name is 'user3094915'
      

      一般来说,您可以在 Python 中使用"'"""''' 作为字符串分隔符。每当你需要在你的字符串中加入一个相当字符时,只需用不同的类型来分隔字符串。

      另一种方法是使用\ 转义您的引号,例如\'\"。这是经典的方式,几乎所有其他编程语言都使用这种惯用语,可以说这会使您的代码对非 Python 爱好者更具可读性。

      【讨论】:

      • 用户期望 name 在引号内,例如:So your name is 'user3094915'
      • 我的错误,已修复 - 现在查看完整答案。
      【解决方案3】:

      试试这个:

      name = input("What is your name? ") 
      print("So your name is '{0}'?".format(name))
      

      为了解决此类问题,python 字符串中只允许使用单引号 ' 和双引号 "

      另外请注意,我使用string.format() 函数来格式化字符串,否则它会很丑陋,看起来像:

      print("So your name is '" + name + "'?")
      

      【讨论】:

        【解决方案4】:

        您可以通过在引号前添加 \ 来做到这一点。 代码:

        name = input('what is your name?')
        print ('so yourname is \'',name,'\'')
        

        print ('so yourname is \'{0}\''.format(name))  
        

        希望这会有所帮助... :)

        【讨论】:

        • 你可以混合使用"' :)
        • 是的,我们可以..但是上面已经回答了..所以我更喜欢这个:)
        猜你喜欢
        • 2016-03-05
        • 2011-06-05
        • 1970-01-01
        • 2011-03-28
        • 1970-01-01
        • 1970-01-01
        • 2017-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多