Wenn ich die Liste der Städte als Variable übergebe, wird die Aufgabe wie erwartet abgeschlossen.Python - Argumente sauber übergeben
def count_top_rt(tweet_set):
for tweet in tweet_set:
print(tweet)
tweet_set = ["Sydney", "London", "Paris"]
print(tweet_set)
Wenn ich mis-Typ das Argument Name in der Funktionsdefinition, dann ist die Aufgabe noch vollständig, da das tweet_set Variable ist global.
def count_top_rt(mis_typed_arguament):
for tweet in tweet_set:
print(tweet)
tweet_set = ["Sydney", "London", "Paris"]
print(tweet_set)
Es fühlt sich an, als ob das Argument nicht richtig übergeben wird, ist falsch. Ich habe zwei Fragen:
- In der ersten Version, ist das Argument 'richtig' übergeben?
- Wie kann ich sicherstellen, dass das Argument korrekt übergeben wird?
Verwenden Sie niemals denselben Namen für eine globale Variable wie für eine lokale Variable. Dann passiert dieses Problem nie. – kindall
Wenn Sie PyCharm oder eine ähnliche IDE verwenden, wird es Ihnen sagen, wenn Sie dies automatisch tun. – Alex
@Kindall Das Problem in der zweiten Funktion ist nicht, dass er den gleichen Namen für eine globale und lokale verwendet, es ist, dass die 'for' Schleife nicht die lokale Variable verwendet, die es soll. – Barmar