[英]What does %r do in a format string?
我正在做一個代碼來接受某些文件路徑作為命令行參數,然后想看看%r的作用...我嘗試了幾件事,請仔細閱讀以下代碼,讓我知道%r說明符的工作原理以及為什么在頁前有'\\'。
string1 = "C:\raint\new.txt"
string2 = "%r"%string1
string3 = string2[1:-1]
print "Input String: ",string2
print "Raw String: ",string3
string1 = "C:\raint\pint.txt"
string2 = "%r"%string1
string3 = string2[1:-1]
print "Input String: ",string2
print "Raw String: ",string3
Output:
Input String: 'C:\raint\new.txt'
Raw String: C:\raint\new.txt
Input String: 'C:\raint\\pint.txt'
Raw String: C:\raint\\pint.txt
正如其他格式化程序一樣,它是字符串格式化程序,例如%s表示字符串,%d表示整數。 本質上,當您遇到%s或%r之類的格式化程序時,將在該對象上調用特定方法。 如果是%s,則為str()方法;如果為%r,則為repr()方法。 一些好的參考資源是:
%r
使用repr()
函數進行轉換。 它返回對象的精確表示。 使用repr()
大多數數據類型具有相似的輸出,但是我們可以在下面找到區別。
>>> import datetime
>>> date = datetime.date.today()
>>> date
datetime.date(2019, 7, 3)
>>> str(date)
'2019-07-03'
>>> repr(date)
'datetime.date(2019, 7, 3)'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.