python中的变量%d和+ =运算符

时间:2019-01-14 10:28:16

标签: python python-3.x

我正在尝试在python中创建模式。我需要一组链接的所有页面(称为“ subjects_links”):例如。我有www.url / animal(带有www.url / animal / page / 1 ecc。)和www.url / plants(带有www.url / plants / page / 1 ecc)。 我已经做到了:

n = 1
next_page = subjects_links+'page/%d' % n+=1

但是给我一个“无效的语法”错误。不能同时使用%d和+ =?

编辑

我找到了一种使用while并使用beautifulsoup进行解析的解决方案:

while True:
    next_page = soup_cat.find("a", class_="nextpostslink")
    next_page_link = next_page.get('href')
    print(next_page_link)
    cat_list.append(next_page_link)
    soup_cat = bs4(requests.get(next_page_link).text,'lxml')

这完全改变了它的执行方式,但至少可以奏效。

3 个答案:

答案 0 :(得分:2)

从python 3.8开始,您将可以使用赋值表达式。 n + = 1是赋值语句。

next_page = subjects_links+'page/%d' % (n := n+1)

答案 1 :(得分:0)

config.Routes.MapHttpRoute( name: "AbsoleteApiRedirect", routeTemplate: "api/MyControllerName/SecondActionName", defaults: new { id = RouteParameter.Optional, controller = "MyControllerName", action = "MyActionName" } ); PECS mnemonic,而您正在尝试将其用作augmented-assignment-statement

以下方法有效:

n += 1

注意:我已经修改了示例,因此它可以自己运行

答案 2 :(得分:-1)

在通过设置

n+=1
来设置n的值时,应分别增加n,这基本上是
n = n +1
。您可以在其他语言中使用n ++,但是我不确定Python是否支持它。