亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么'api'沒有定義?(初學者)

為什么'api'沒有定義?(初學者)

動漫人物 2023-07-11 15:31:19
我想我將“api”定義為 twitter.api,我不知道為什么會發生此錯誤代碼: import twitterdef auth():                          api = twitter.Api(consumer_key='CsqkkrnhBZQMhGLpnkqGqOUOV',    consumer_secret='jzbWgRLZqIyJQjfh572LgbtuifBtXw6jwm1V94oqcQCzJd7VAE',    access_token_key='1300635453247361031-EWTTGf1B6T2GUqWmFwzLfvgni3PoVH',    access_token_secret='U2GZsWT0TvL5U24BG9X4NDAb84t1BB059qdoyJgGqhWN4')                                auth()api.PostUpdate('Hello World') 錯誤:Traceback (most recent call last):  File "C:/Users/Xtrike/AppData/Local/Programs/Python/Python37/twitter python.py", line 11, in <module>    api.PostUpdate('Hello World')NameError: name 'api' is not defined
查看完整描述

2 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

您可能需要了解Python 中的本地和全局作用域。簡而言之,您創建了一個api在函數外部不可見的局部變量。


在解決所提供的錯誤時,根據所需的結果有不同的方法:


使用保留字global使變量在全局范圍內可見:

def auth():

    global api # This does the trick publishing variable in global scope

    api = twitter.Api(consumer_key='<>',

        consumer_secret='<>',

        access_token_key='<>',

        access_token_secret='<>')

                                

auth()

api.PostUpdate('Hello World') # api variable actually published at global scope

但是我不建議在沒有適當簡潔的情況下使用全局變量


提供的代碼很小,因此無需包裝到額外的函數中

api = twitter.Api(consumer_key='<>',

        consumer_secret='<>',

        access_token_key='<>',

        access_token_secret='<>')

                                

api.PostUpdate('Hello World')

從函數返回對象 - 我推薦這種方法,因為它是最合適和可靠的

def auth():                      

    api = twitter.Api(consumer_key='<>',

        consumer_secret='<>',

        access_token_key='<>',

        access_token_secret='<>')

    return api

                                

api = auth()

api.PostUpdate('Hello World')

最后但很重要的一句話:避免在公共帖子中發布秘密 - 這些不是解決方案所必需的,但可能會暴露給破壞者。


查看完整回答
反對 回復 2023-07-11
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

對于您發布的內容,您需要啟動api變量。它只是獲取所有內容并執行操作PostUpdate,但首先您需要實例化它。



查看完整回答
反對 回復 2023-07-11
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號