簡體   English   中英

Python 2.X 在字符串周圍添加單引號

[英]Python 2.X adding single quotes around a string

目前要在字符串周圍添加單引號,我想出的最佳解決方案是制作一個小包裝函數。

def foo(s1):
    return "'" + s1 + "'"

有沒有更簡單的 Pythonic 方法來做到這一點?

這是使用格式字符串的另一個(可能更pythonic)選項:

def foo(s1):
    return "'{}'".format(s1)

關於什么:

def foo(s1):
    return "'%s'" % s1

只是想強調@metatoaster 在上面的評論中所說的話,因為我一開始錯過了。

使用 repr(string) 將添加單引號,然后是雙引號之外的雙引號,然后是帶有轉義內部單引號的單引號,然后是其他轉義。

使用 repr() 作為內置函數更直接,除非有其他沖突。

s = 'strOrVar'
print s, repr(s), repr(repr(s)), ' ', repr(repr(repr(s))), repr(repr(repr(repr(s))))

# prints: strOrVar 'strOrVar' "'strOrVar'"   '"\'strOrVar\'"' '\'"\\\'strOrVar\\\'"\''

文檔說明它的基本狀態 repr(),即表示,是 eval() 的反向:

“對於許多類型,此函數嘗試返回一個字符串,該字符串在傳遞給 eval() 時會產生一個具有相同值的對象,..”

反引號會更短,但在 Python 3+ 中被刪除 有趣的是,StackOverflow 使用反引號來指定代碼跨度,而不是突出顯示代碼塊並單擊代碼按鈕——不過它有一些有趣的行為。

這適用於 Python 3.5+

def foo2(char):
    return("'{}'".format(char))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM