将function =设置为变量,是否会导致函数执行每次调用变量?

时间:2013-03-11 16:42:49

标签: python

这是一个菜鸟问题,我相当肯定该功能只执行一次,但我想清楚。我正在使用python和urllib登录网站。登录后,有一个与我的帐户关联的用户ID,可以让我浏览网站。但是我不希望每次调用变量都登录,所以我想知道调用变量是否会导致再次登录,或者如果我明确运行登录函数只执行登录功能?

def login(username,pw):
     #some calls to HTTP server using urllib
     return user_id

user_id = login('abc@hotmail.com','mypassword') 

def search():
    #calls to HTTP to perform a search on a page on the website
    #I need to reference user_id and I want to know if user_id will simply be 
    # the integer user_id or if it will call the login function each time I reference it

2 个答案:

答案 0 :(得分:2)

引用user_id只会返回您分配给它的原始值; <{1}}函数不会被调用。

答案 1 :(得分:2)

像你已经完成的那样分配一个变量,只需立即评估右侧部分。使用变量时不会再进行重新评估。