printing double quotes around a variable

前端 未结 7 1382
闹比i
闹比i 2020-11-29 11:50

For instance, we have:

word = \'Some Random Word\'
print \'\"\' + word + \'\"\'

is there a better way to print double quotes around a varia

相关标签:
7条回答
  • 2020-11-29 12:30

    It seems silly, but works fine to me. It's easy to read.

    word = "Some Random Word"
    quotes = '"'
    print quotes + word + quotes
    
    0 讨论(0)
  • 2020-11-29 12:44

    How about json.dumps:

    >>> import json
    >>> print(json.dumps("hello world"))
    "hello world"
    

    The advantage over other approaches mentioned here is that it escapes quotes inside the string as well (take that str.format!), always uses double quotes and is actually intended for reliable serialization (take that repr()!):

    >>> print(json.dumps('hello "world"!'))
    "hello \"world\"!"
    
    0 讨论(0)
  • 2020-11-29 12:47
    word = '"Some Random Word"' # <-- did you try this?
    
    0 讨论(0)
  • 2020-11-29 12:47

    Use escape sequence

    Example:

    int x = 10;
    System.out.println("\"" + x + "\"");
    

    O/P

    "10"
    
    0 讨论(0)
  • 2020-11-29 12:50

    You can try repr

    Code:

    word = "This is a random text" print repr(word)

    Output:

    'This is a random text'

    0 讨论(0)
  • 2020-11-29 12:51

    Update :

    From Python 3.6, you can use f-strings

    >>> print(f'"{word}"')
    "Some Random Word"
    

    Original Answer :

    You can try %-formatting

    >>> print('"%s"' % word)
    "Some Random Word"
    

    OR str.format

    >>> print('"{}"'.format(word))
    "Some Random Word"
    

    OR escape the quote character with \

    >>> print("\"%s\"" % word)
    "Some Random Word"
    

    And, if the double-quotes is not a restriction (i.e. single-quotes would do)

    >>> from pprint import pprint, pformat
    >>> print(pformat(word))
    'Some Random Word'
    >>> pprint(word)
    'Some Random Word'
    

    OR like others have already said (include it in your declaration)

    >>> word = '"Some Random Word"'
    >>> print(word)
    "Some Random Word"
    

    Use whichever you feel to be better or less confusing.

    And, if you need to do it for multiple words, you might as well create a function

    def double_quote(word):
        return '"%s"' % word
    
    print(double_quote(word), double_quote(word2))
    

    And (if you know what you're doing &) if you're concerned about performance of these, see this comparison.

    0 讨论(0)
提交回复
热议问题