Python中的+\_运算符

Sha*_*ala 3 python string operators

+ \运算符在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( )
Run Code Online (Sandbox Code Playgroud)

并且找不到任何解释它的参考文献.

Ign*_*ams 18

+是补充.该\行的末尾继续下一行的当前语句或表达式.

  • 有趣的是,在这种情况下,"\\"甚至不是必需的. (7认同)
  • 该死的都是为了打败我;) (3认同)
  • 这是真的.Python解析器可以明确地确定表达式必须在下一行继续,因为并非所有"分组"(在这种情况下为parens)都已关闭. (2认同)
  • 而有趣的是,"+"也不是必需的,因为相互跟随的字符串会自动连接!(正如戴夫指出的那样) (2认同)

Dav*_*rby 11

NB \在这种情况下,继续是不必要的,因为表达式在括号内.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( )
Run Code Online (Sandbox Code Playgroud)


Gar*_*ary 7

它不是一个运算符,它只是+运算符后跟行继续\