2017-09-04 105 views
-1

使用代碼的意義何在,比如第8行和第9行,當我們可以像第10行一樣使用print打印和格式化字符串文字有什麼區別?

my_name = 'Zed A. Shaw' 
my_age = 35 
my_height = 74 
my_weight = 180 
my_eyes = 'Blue' 
my_teeth = 'White' 
my_hair = 'Brown' 
print(f"Let's talk about {my_name}.") # Line 8 
print(f"He's {my_height} inches tall.") # Line 9 
print("He's", my_teeth, "pounds heavy.") # Line 10 
+0

對不起,我是新來的。 – Astolfo39

+0

前兩行是字符串插值的例子。這非常方便,但這個例子對於顯而易見的好處太小了。 – Carcigenicate

+1

@ Astolfo39 2在此處發帖時的其他注意事項:1.不要在左側包括行號;它使人們更難以運行你的代碼。如果您需要指定行號,請使用評論。 2.將代碼縮進4格以正確格式化。查看我發佈的固定代碼。 – Carcigenicate

回答

2

你看到上線8-9什麼叫格式化字符串文字F-串的簡稱。它們在3.6版本中添加到Python中,並在PEP498中詳細說明。他們基本上允許你直接在字符串中嵌入表達式。

如果我們可以使用第10行,使用第8行和第9行有什麼意義?

那麼,什麼是使用他們在正常的呼叫print的地步?在上面的例子中,並不多。當您需要使用多個值格式化字符串時,會顯示真正的好處。而不是做做一堆字符串連接的,可以直接使用的變量的名稱,或在字符串中包含的表達式:

>>> a = 12 
>>> b = 6 
>>> f'The sum of 12 and 6 is: {a + b}' 
'The sum of 12 and 6 is: 18' 
>>> name = 'Bob' 
>>> age = 32 
>>> f'Hi. My name is {name} and my age is {age}' 
'Hi. My name is Bob and my age is 32' 
>>> def fib(n): 
    if n <= 1: 
     return 1 
    return fib(n - 1) + fib(n - 2) 

>>> f'The Fibonacci number of 10 is: {fib(10)}' 
'The Fibonacci number of 10 is: 89' 

雖然是可能很難從上面的例子中,F-字符串告訴非常強大。能夠將整個表達式嵌入到字符串文字中是一個非常有用的功能,並且可以使代碼更清晰簡潔。當你開始編寫更多的代碼時,這將變得非常清晰,並且代碼的用例變得不重要。

0

簡而言之,它們允許您設置字符串的格式。如果您需要格式化,然後(例如)

print(f"hello {world}")

回報

你好世界

相關問題