+ \運算符在Python中做什麼?Python中的+ 運算符
我碰到這一段代碼來 -
rows=urllib2.urlopen('http://ichart.finance.yahoo.com/table.csv?'+\
's=%s&d=11&e=26&f=2006&g=d&a=3&b=12&c=1996'%t +\
'&ignore=.csv').readlines()
和找不到解釋它的任何引用。
+ \運算符在Python中做什麼?Python中的+ 運算符
我碰到這一段代碼來 -
rows=urllib2.urlopen('http://ichart.finance.yahoo.com/table.csv?'+\
's=%s&d=11&e=26&f=2006&g=d&a=3&b=12&c=1996'%t +\
'&ignore=.csv').readlines()
和找不到解釋它的任何引用。
的+
是加法。該行末尾的\
將在下一行繼續當前語句或表達式。
這不是一個運營商,它只是+操作,然後續行\
N.B.在這種情況下,\
延續是不必要的,因爲表達式在括號內。 Python足夠聰明,知道一條線會一直延續到所有括號,括號和括號是平衡的。
不必要的延續角色是我的一個小毛病,我會在每個機會刪除它們。他們混淆了代碼,混淆了那些認爲他們是某種操作員的新手,並且可能因爲意外地在他們之後留下空位而被無意中破壞。
此外,第一個+
字符是不必要的 - Python將自動連接字符串文字。
我還要%運算符移到表達式的結束和消除二次+
,太行可以改寫爲:
rows=urllib2.urlopen('http://ichart.finance.yahoo.com/table.csv?'
's=%s&d=11&e=26&f=2006&g=d&a=3&b=12&c=1996'
'&ignore=.csv' % t).readlines()
你可以重寫,像這樣
rows=urllib2.urlopen('http://ichart.finance.yahoo.com/table.csv?'
's=%s&d=11&e=26&f=2006&g=d&a=3&b=12&c=1996'
'&ignore=.csv'%t).readlines()
代碼
解析器將線條連成一體,因此在運行時不會浪費時間通過無用的方式將字符串添加到一起
該死的你都擊敗了我; – Eltariel 2010-06-22 06:36:47
而有趣的是,在這種情況下甚至不需要'\\'。 – 2010-06-22 06:40:07
這是真的。 Python解析器可以明確地確定表達式必須在下一行繼續,因爲並非所有「分組」(在這種情況下都是parens)都已關閉。 – 2010-06-22 06:42:21