最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python之try無法使用全局變量的問題解決

 更新時間:2024年08月20日 10:46:58   作者:Looooking  
當(dāng)我們使用try語句時,如果在try中使用了全局變量,但又在except或finally中修改了這個全局變量,就會出現(xiàn)這種無法修改全局變量的情況,下面就來解決一下這個問題,感興趣的可以了解一下

其實,如果沒有在 except 異常處理中對變量進行修改時,這段示例是可以正常運行的。

global_var = "hello world"

def test():
    try:
        print(global_var)
    except Exception as e:
        print(e)


if __name__ == '__main__':
    test()  # hello world

我自己希望當(dāng)出現(xiàn)異常時,就在異常處理塊中對變量進行重新賦值:

global_var = "hello world"

def test():
    try:
        print(global_var)  # cannot access local variable 'global_var' where it is not associated with a value
    except Exception as e:
        global_var = "something wrong"
        print(e)


if __name__ == '__main__':
    test()  # hello world

結(jié)果報錯提示無法使用本地變量,可我明明把變量放在了最外層的,那這是怎么回事呢?

原因:在 Python 當(dāng)中,當(dāng)我們使用 try 語句時,如果在 try 中使用了全局變量,但又在 except 或 finally 中修改了這個全局變量,就會出現(xiàn)這種無法修改全局變量的情況。這是因為 try 中使用全局變量時,會創(chuàng)建一個局部變量與其進行綁定,而不是直接引用全局變量。

因此,我們需要使用 global 關(guān)鍵字聲明全局變量,讓 try 中的局部變量與外部的全局變量進行綁定,然后就可以在異常處理中對變量進行修改操作了。

import traceback

global_var = "hello world"

def test():
    global global_var
    try:
        print(global_var)
        raise global_var
    except Exception as e:
        global_var = "something wrong"
        # print(e)


if __name__ == '__main__':
    test()  # hello world
    test()  # something wrong

到此這篇關(guān)于Python之try無法使用全局變量的問題解決的文章就介紹到這了,更多相關(guān)Python try無法使用全局變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 將字符串完成特定的向右移動方法

    python 將字符串完成特定的向右移動方法

    今天小編就為大家分享一篇python 將字符串完成特定的向右移動方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 使用Pytorch構(gòu)建第一個神經(jīng)網(wǎng)絡(luò)模型?附案例實戰(zhàn)

    使用Pytorch構(gòu)建第一個神經(jīng)網(wǎng)絡(luò)模型?附案例實戰(zhàn)

    這篇文章主要介紹了用Pytorch構(gòu)建第一個神經(jīng)網(wǎng)絡(luò)模型(附案例實戰(zhàn)),本文通過實例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • PyTorch之關(guān)于hook機制

    PyTorch之關(guān)于hook機制

    這篇文章主要介紹了PyTorch之關(guān)于hook機制的理解,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 淺析pytest?鉤子函數(shù)?之初始鉤子和引導(dǎo)鉤子

    淺析pytest?鉤子函數(shù)?之初始鉤子和引導(dǎo)鉤子

    這篇文章主要介紹了pytest?鉤子函數(shù)?之初始鉤子和引導(dǎo)鉤子,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • python3用PIL把圖片轉(zhuǎn)換為RGB圖片的實例

    python3用PIL把圖片轉(zhuǎn)換為RGB圖片的實例

    今天小編就為大家分享一篇python3用PIL把圖片轉(zhuǎn)換為RGB圖片的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python編程中的文件操作攻略

    Python編程中的文件操作攻略

    這篇文章主要介紹了Python編程中的文件操作攻略,包括打開關(guān)閉重命名刪除等相關(guān)函數(shù)的使用,需要的朋友可以參考下
    2015-10-10
  • MATLAB中text函數(shù)使用的語法與示例代碼

    MATLAB中text函數(shù)使用的語法與示例代碼

    text函數(shù)的功能是向數(shù)據(jù)點添加文本說明,下面這篇文章主要給大家介紹了關(guān)于MATLAB中text函數(shù)使用的語法與示例的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Python列表創(chuàng)建、操作、刪除與遍歷的全方位解析

    Python列表創(chuàng)建、操作、刪除與遍歷的全方位解析

    Python列表是編程中的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),用于存儲有序元素集合,列表中的元素可以是不同類型,增強了數(shù)據(jù)處理的靈活性,本文詳細(xì)介紹了列表的常用操作,如查找元素索引、插入、刪除、遍歷等,需要的朋友可以參考下
    2024-11-11
  • Python中三種花式打印的示例詳解

    Python中三種花式打印的示例詳解

    在Python中有很多好玩的花式打印,我們今天就來挑戰(zhàn)下面三個常見的花式打印。文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧
    2022-03-03
  • Python入門教程(三)Python語法解析

    Python入門教程(三)Python語法解析

    這篇文章主要介紹了Python入門教程(三)Python語法解析,Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04

最新評論

塔河县| 濉溪县| 高唐县| 花莲市| 天祝| 丰镇市| 津南区| 溧水县| 桂平市| 泸西县| 博客| 双鸭山市| 沁水县| 景泰县| 天津市| 东方市| 石门县| 神农架林区| 安徽省| 上饶市| 达拉特旗| 白银市| 长沙市| 昌黎县| 张家界市| 涞源县| 河南省| 娱乐| 都江堰市| 汾西县| 广东省| 舟曲县| 鲁山县| 元谋县| 阿克| 苏尼特左旗| 陈巴尔虎旗| 西乡县| 勃利县| 新郑市| 邵阳县|