日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python访问网页变量_Python 如何访问外围作用域中的变量

發布時間:2024/7/19 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python访问网页变量_Python 如何访问外围作用域中的变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在表達式中引用變量時,Python 會按照如下的順序遍歷各個作用域,尋找該變量:

當前函數作用域

任何外圍作用域(比如包含當前函數的其他函數)

global 作用域,即代碼所在的模塊的作用域

如果上述作用域內都找不到變量,就會報 NameError 異常。

但是對變量賦值時,規則會有所不同。

如果當前作用域變量已存在,那么其值會被替換。

如果不存在,則會視為在當前作用域定義新變量,而不是向外圍作用域中尋找。

如下函數

def function():

flag = True

def helper():

flag = False

helper()

print flag

function()

由于 helper 中變量是賦值,這里 flag 輸出仍為 True。習慣了 c 語言之類靜態類型語言,這種設計起初會感到困惑,但其可以有效地防止局部變量污染函數外的環境。

需求總是多樣的,一定有程序員想在賦值時訪問外圍作用域。如果是 Python2,他可以這么做

def function():

flag = [True]

def helper():

flag[0] = False

helper()

print flag

function()

先用 flag[0] 是讀操作,產生一次變量引用,尋找到外圍作用域中 flag,這時候再賦值 flag[0] = False 便不會新定義變量了。

如果是 Python3,則可以使用 nonlocal 關鍵字。

def function():

flag = True

def helper():

nonlocal flag

flag = False

helper()

print flag

function()

本文標題: Python 如何訪問外圍作用域中的變量

本文地址: http://www.cppcns.com/jiaoben/python/163166.html

總結

以上是生活随笔為你收集整理的python访问网页变量_Python 如何访问外围作用域中的变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。