菜鸟求大大们解释Python里str函数和repr函数的区别

\u83dc\u9e1f\u6c42\u5927\u5927\u4eec\u89e3\u91caPython\u91ccstr\u51fd\u6570\u548crepr\u51fd\u6570\u7684\u533a\u522b

\u4e24\u8005\u5747\u662f\u5c06\u6570\u503c\u8f6c\u6362\u6210\u5b57\u7b26\u4e32\u7684\u5f62\u5f0f\uff0c\u4f46\u662f\u6709\u7ec6\u5fae\u7684\u533a\u522b
str()\u4f1a\u521b\u5efa\u4e00\u4e2a\u9002\u5408\u4eba\u9605\u8bfb\u7684\u5b57\u7b26\u4e32\u3002
repr()\u4f1a\u521b\u5efa\u9002\u5408\u89e3\u91ca\u5668\u9605\u8bfb\u7684\u5b57\u7b26\u4e32\u3002
>>> a='abcd\n'>>> b=repr(a)>>> c=str(a)>>> b"'abcd\\n'">>> c'abcd\n'

1\u3001\u8bf4\u660e\uff1a
\u51fd\u6570str()\u7528\u4e8e\u5c06\u503c\u8f6c\u5316\u4e3a\u9002\u4e8e\u4eba\u9605\u8bfb\u7684\u5f62\u5f0f\uff0c\u800crepr() \u8f6c\u5316\u4e3a\u4f9b\u89e3\u91ca\u5668\u8bfb\u53d6\u7684\u5f62\u5f0f\u3002\u8fd9\u662f\u4ecepython\u5b98\u65b9\u624b\u518c\u7ffb\u8bd1\u7684\u624b\u518c\u5185\u5bb9\u3002
2\u3001\u793a\u4f8b\uff1a
\u4ee3\u7801
import datetime
now = datetime.datetime.now()
print(str(now))
print(repr(now))
print(eval(repr(now)))
\u7a0b\u5e8f\u8f93\u51fa\uff1a
2016-06-09 10:41:07.388009
datetime.datetime(2016, 6, 9, 10, 41, 7, 388009)
2016-06-09 10:41:07.388009
\u4ee3\u7801\u8bf4\u660e\uff1a
1\uff09datetime\u4e3a\u5185\u7f6e\u6a21\u5757\uff0cimport\u52a0\u8f7d\u6a21\u5757\u3002
2\uff09now = datetime.datetime.now() \u7cfb\u7edf\u5f53\u524d\u65f6\u95f4\u8d4b\u503c\u7ed9time\u53d8\u91cf\u3002
3\uff09\u8fd9\u91cc\u5c31\u53ef\u4ee5\u770b\u51fastr\u548crepr\u8f93\u51fa\u6709\u533a\u522b\u4e86\u3002
4\uff09eval\u51fd\u6570\u662f\u628a\u53c2\u6570\u5f53\u4f5c\u4ee3\u7801\u6267\u884c\uff0c\u9a8c\u8bc1repr\u4e4b\u540e\u7684\u5b57\u7b26\u4e32\u53ef\u88abpython\u8bc6\u522b\u5e76\u6267\u884c\u3002
3\u3001\u5b98\u65b9\u6587\u6863\uff1a
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
\u4f7f\u7528\u7ed9\u5b9a\u5bf9\u8c61\u7684\u65b0\u5b57\u7b26\u4e32\u5bf9\u8c61\u3002\u5982\u679c\u7f16\u7801\u6216\u9519\u8bef\u662f\u6307\u5b9a\u7684\uff0c\u90a3\u4e48\u5bf9\u8c61\u5fc5\u987b\u516c\u5f00\u6570\u636e\u7f13\u51b2\u533a\u5c06\u4f7f\u7528\u7ed9\u5b9a\u7684\u7f16\u7801\u548c\u9519\u8bef\u5904\u7406\u7a0b\u5e8f\u8fdb\u884c\u89e3\u7801\u3002\u5426\u5219\uff0c\u8fd4\u56de\u7684\u5bf9\u8c61\u79c1\u6709\u51fd\u6570__str()__\u7684\u7ed3\u679c\u3002

repr(obj, /)
\u8fd4\u56de\u5bf9\u8c61\u7684\u89c4\u8303\u7684\u5b57\u7b26\u4e32\u8868\u793a\u3002\u5bf9\u4e8e\u8bb8\u591a\u5bf9\u8c61\u7c7b\u578b\uff0c\u5305\u62ec\u5927\u591a\u6570\u5185\u5efa\uff0ceval(repr(obj)) == obj.

两者均是将数值转换成字符串的形式,但是有细微的区别
str()会创建一个适合人阅读的字符串。
repr()会创建适合解释器阅读的字符串。

1
2
3
4
5
6
7

>>> a='abcd\n'
>>> b=repr(a)
>>> c=str(a)
>>> b
"'abcd\\n'"
>>> c
'abcd\n'

  • python鑿滈笩璇锋暀澶х墰!!!鎬ユユ!!
    绛旓細coding=utf-8begin=input("璇疯緭鍏ヨ捣濮嬫暟:")print("鎮ㄨ緭鍏ョ殑璧峰鏁版槸:",begin)end=input("璇疯緭鍏ョ粨鏉熸暟:")print("鎮ㄨ緭鍏ョ殑缁撴潫鏁版槸:",end)frequency=input("璇疯緭鍏ユ闀垮:")print("鎮ㄨ緭鍏ョ殑姝ラ暱鍊兼槸:")num=len(range(begin,end,frequency)) # 杩欒灏戝彸鎷彿浜唒rint(num)...
  • python鐨寮鍙戠幆澧冩槸浠涔堜笢瑗?閭d釜鐜鏄共鍢涚敤鐨? 鎴戞槸鑿滈笩.
    绛旓細寮鍙戠幆澧冪殑浣滅敤 1. 浠g爜缂栧啓锛氬紑鍙戠幆澧冩彁渚涗簡浠g爜缂栬緫鍣紝浣垮紑鍙戣呭彲浠ユ柟渚垮湴缂栧啓Python浠g爜銆傝繖浜涚紪杈戝櫒閫氬父鍏锋湁璇硶楂樹寒銆佽嚜鍔ㄥ畬鎴愮瓑鍔熻兘锛屾彁楂樹簡缂栫▼鏁堢巼銆2. 浠g爜鎵ц锛氬紑鍙戠幆澧冧腑鍖呭惈鐨Python瑙i噴鍣紝鍙互灏哖ython浠g爜杞崲涓烘満鍣ㄥ彲鎵ц鐨勬寚浠ゃ傝繖鏍凤紝寮鍙戣呭彲浠ュ嵆鏃剁湅鍒颁唬鐮佺殑鎵ц缁撴灉锛屼究浜庤皟璇曞拰楠岃瘉銆3...
  • Python鑿滈笩姹傚姪 濡傚浘,涓轰粈涔坕nt(bin(xx)) 浼氭姤閿,int(鐩存帴浜岃繘鍒)灏变笉...
    绛旓細bin()杩斿洖鐨勬槸瀛楃涓诧紝涓斾笉鏄函鏁板瓧 bin 涓嶆槸杞垚浜岃繘鍒舵暟
  • 鍦python涓, string.printable :鍖呭惈鎵鏈夊彲鎵撳嵃瀛楃鐨勫瓧绗︿覆銆 浠涔堝彨...
    绛旓細ASCII鐮佷腑锛岀0锝32鍙峰強绗127鍙锋槸鎺у埗瀛楃锛涚33锝126鍙锋槸鍙墦鍗板瓧绗︼紝鍏朵腑绗48锝57鍙蜂负0锝9鍗佷釜闃挎媺浼暟瀛楋紱65锝90鍙蜂负26涓ぇ鍐欒嫳鏂囧瓧姣嶏紝97锝122鍙蜂负26涓皬鍐欒嫳鏂囧瓧姣嶏紝鍏朵綑鐨勬槸涓浜涙爣鐐圭鍙枫佽繍绠楃鍙风瓑
  • Python鑿滈笩鐪熻瘹姹傛暀!
    绛旓細鍥犱负宸﹁竟鏄墍鏈夌殑(2,k+1)涓嶈兘鏁撮櫎x锛屾墠杩斿洖True锛堢礌鏁扮殑鏉′欢锛夛紝鍙鏈変竴涓暟鑳芥暣闄锛屽氨杩斿洖Fasle锛堥潪绱犳暟锛夎屽彸杈圭殑锛屽彧浼氬垽鏂璛鑳戒笉鑳借2鏁撮櫎锛屼笉鑳藉垯杩斿洖TRUE锛堝鏁帮級,鑳藉垯杩斿洖False锛堝伓鏁帮級
  • python鑷鑿滈笩 expected an indented block浠涔堟剰鎬
    绛旓細1銆佷笉鍍忓叾浠栬瑷锛圕++, java 绛夌瓑锛夛紝python鐨鏄敤缂╄繘鏉ヨ瘑鍒娉曢昏緫鍧楃殑(i.e. if, while, for, def 绛夛級銆傚悓涓涓猧f閫昏緫鍧椾笅闈㈢殑璇彞蹇呴』瑕佹湁鐩稿悓鐨勭缉杩涳紝鍚﹀垯python瑙f瀽鍣ㄦ庝箞鐭ラ亾if鍧楁帶鍒跺摢浜涜鍙ワ紵2銆佹墍璋撶缉杩涳紝灏辨槸姣忎竴琛屽紑澶寸殑绌虹櫧銆傝繖涓┖鐧藉彲浠ョ敱澶氫釜绌烘牸鎴栬呭埗琛ㄧ缁勬垚銆俻ython涓嬮潰浣犳庝箞...
  • 鍏充簬python鐨勮彍楦闂
    绛旓細绗3涓槸IDE,绗4涓槸瑙i噴鍣紝2涓兘鍙互瀛︿範浠g爜缂栧啓銆備笉杩囦綘杩欐牱鑷澶熷憶锛屾渶濂芥槸鎵炬壘鍏ラ棬鐨勮棰戠湅鐪嬪惂
  • python鐨寮鍙戠幆澧冩槸浠涔堜笢瑗?閭d釜鐜鏄共鍢涚敤鐨? 鏄殑,鎴戞槸鑿滈笩.
    绛旓細棣栧厛浣犵殑鐭ラ亾python鏄竴绉嶈剼鏈瑷锛屼粬鐨勫紑鍙戠幆澧冩槸鐢ㄦ潵缂栬瘧杩愯python婧愮▼搴忕殑銆傝鎯崇紪璇戣繍琛宲ython鐨勬簮绋嬪簭锛屽墠鎻愪綘鍏堣鍦ㄤ綘鐨勬満鍣ㄤ笂瀹夎python锛岀劧鍚庡憿锛岄氳繃python鐨勮В閲鍣ㄤ綘灏辫兘缂栬瘧杩愯python绋嬪簭銆傚畨瑁卲ython鍚庯紝浼氭湁涓涓獃thon鐨勫懡浠よ宸ュ叿锛宲ython.exe銆備篃鍙互鐢╳indows涓嬮潰鑷甫鐨勯泦鎴怚DE锛岄偅涓綘瀹夎...
  • python 鑿滈笩姹傚姪,鍦ㄧ嚎绛?
    绛旓細澶囦唤涓涓枃浠讹紝浣跨敤shutil搴撶殑copy鍑芥暟鍙互杈惧埌杩欎釜鐩殑锛氶噸杞藉姞娉曡繍绠楃锛屽彲浠ラ氳繃閲嶅啓绫荤殑__add__鏂规硶鏉ュ疄鐜帮紝濡備笅锛氫互涓婃槸list鐩稿姞鏃舵湰鏉ョ殑缁撴灉锛屾垜浠彲浠ユ敼涓鸿鍒楄〃涓殑姣忎釜鍏冪礌鐩稿姞鈥斺
  • 鑿滈笩鍏充簬Python鐨闂,姹傝В绛
    绛旓細浣犲皢 if guess == secret:print "Avast! Ye got it! Found my secret, ye did!"else:print "No more guesses! Better luck next time, matey!"print "The secret number was", secret 鏀规垚 if guess == secret:print "Avast! Ye got it! Found my secret, ye did!"elif tries >= 6...
  • 扩展阅读:python解释器手机版下载 ... 菜鸟在线编辑器python ... python编程入门自学 ... python网站 ... 菜鸟编程官网html ... python菜鸟教程官网 ... java入门网站 ... python在线编程菜鸟 ... python在线编程入口 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网