首页  >  问答  >  正文

python局部变量的问题

session.get里的digg_url明显是None,但其实我想用的是上面if...else语句里的,如果在c++中只要把digg_url声明在if语句上面即可,但是py不可以这么做。

当然解决我这个问题可以把session.get移到if语句里,但是如果我想了下如果像session.get这样引用digg_url的语句有几十句怎么办?

所以我想问下这样的问题该怎么解决?(只能设为global么?有点无语这py)

PHP中文网PHP中文网2712 天前573

全部回复(4)我来回复

  • 高洛峰

    高洛峰2017-05-18 10:55:25

    Python中可以直接使用if-else中定义的变量

    例如

    # 前面并没有使用过b
    if a == 1:
        b = 2
    else:
        b = 1
    print(b) #完全合法

    你的session.get中的digg_url不应该是None,你可以输出看一下。

    回复
    0
  • PHP中文网

    PHP中文网2017-05-18 10:55:25

    虽然我不太熟悉python,但是可能可以在if之前给digg_url赋一个任意值?

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-18 10:55:25

    你可以在if上定义

    digg_url = None

    或者使用三元运算符

    digg_url = 'a' if digg else 'b'

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:55:25

    建议你使用get之前digg_url 和session都打印出来,我觉得是你逻辑错误吧。还有get里面的四二个参数headers是用来做什么的?

    回复
    0
  • 取消回复