簡體   English   中英

re.sub() 如何改變不可變的 Python 字符串?

[英]How can re.sub() mutate immutable Python strings?

這里,字符串flight_details字符串被更改但其 id 沒有更改,以下是代碼及其輸出:

import re

flight_details = "Flight Savana Airlines a2134"
print(id(flight_details))

print(re.sub(r"Flight", r"Plane", flight_details))
print(id(flight_details))

print(re.sub(r"Plane", r"Akash", flight_details))
print(id(flight_details))

輸出:

27264016
Plane Savana Airlines a2134
27264016
Flight Savana Airlines a2134
27264016

id(flight_details)在調用re.sub后返回相同的值,因為re.sub不會更改您傳遞給它的字符串的值 ( flight_details )。 它返回一個新字符串。

例如:

import re

flight_details = "Flight Savana Airlines a2134"
print(flight_details)
print(id(flight_details))

re.sub(r"Flight", r"Plane", flight_details)
print(flight_details)
print(id(flight_details))

flight_details = re.sub(r"Flight", r"Plane", flight_details)
print(flight_details)
print(id(flight_details))

輸出:

Flight Savana Airlines a2134
1442959741216
Flight Savana Airlines a2134
1442959741216
Plane Savana Airlines a2134
1442959741456

請參閱: https : //docs.python.org/3/library/re.html#re.sub

暫無
暫無

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

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