Heim  >  Fragen und Antworten  >  Hauptteil

Problem mit lokalen Python-Variablen

Die digg_url in session.get ist offensichtlich None, aber tatsächlich möchte ich die obige if...else-Anweisung verwenden. Wenn in C++, deklariere ich einfach digg_url über der if-Anweisung, aber py kann dies nicht.

Um mein Problem zu lösen, kann ich natürlich session.get in die if-Anweisung verschieben, aber wenn ich darüber nachdenke, was wäre, wenn es Dutzende von Anweisungen wie session.get mit der Referenz digg_url gäbe?

Also möchte ich fragen, wie man dieses Problem lösen kann? (Kann es nur auf global eingestellt werden? Ich bin etwas sprachlos über diesen Beitrag)

PHP中文网PHP中文网2712 Tage vor574

Antworte allen(4)Ich werde antworten

  • 高洛峰

    高洛峰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,你可以输出看一下。

    Antwort
    0
  • PHP中文网

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

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

    Antwort
    0
  • 習慣沉默

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

    你可以在if上定义

    digg_url = None

    或者使用三元运算符

    digg_url = 'a' if digg else 'b'

    Antwort
    0
  • 给我你的怀抱

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

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

    Antwort
    0
  • StornierenAntwort