我正在嘗試使用strip()
修剪字符串前後的空格。它工作正常的Python strip()在函數內部不工作
str1 = " abdced "
str1.strip()
然而,當我使用它的功能裏面,它不工作:
def func(str1):
return str1.strip()
print func(" abdwe ")
它不會剪掉任何空間。任何人都可以知道發生了什麼?謝謝!
我正在嘗試使用strip()
修剪字符串前後的空格。它工作正常的Python strip()在函數內部不工作
str1 = " abdced "
str1.strip()
然而,當我使用它的功能裏面,它不工作:
def func(str1):
return str1.strip()
print func(" abdwe ")
它不會剪掉任何空間。任何人都可以知道發生了什麼?謝謝!
strip
不是就地方法,這意味着它返回一個必須被重新分配,像這樣的值:
str1 = str1.strip() # the string is reassigned to the returned stripped string
三件事我明白了。
首先,你並沒有將strip變量賦值給任何東西,其次你試圖在返回時這樣做。
返回應該只有你想返回的變量在另一個函數中使用。你可以從這個函數打印,但你的return語句不應該有任何活動,只有要返回的變量。
第三,該印刷語句對我來說很不利。至少這不是我將如何做印刷。
def func(str1):
str1 = " abdced "
str2 = str1.strip()
print(str2)
return str1, str2
它不應該爲第二,而不是第一個? –
'def func(str1):return str1.strip()''assert func(「abcd」)==「abcd」' - 不可重現。 –
Python字符串的基本規則 - 你不能改變它們,你只能創建新的(它們是*不可變的*) – cdarke