在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python變量名解析

jf_78858299 ? 來源:梯閱線條 ? 作者:小梯子 ? 2023-04-06 15:05 ? 次閱讀

點號和無點號變量名,用不同的處理方式。

(1) 無點號的變量名,比如X,使用的是作用域。

(2) 有點號的變量名,比如obj.X,使用對象的命名空間。

(3) 模塊和類對對象的命名空間進行初始化。

1.1 無點號變量名

無點號變量名遵循LEGB作用域規(guī)則。

1.1.1 賦值本地變量

X = value

賦值語句,使變量名成為本地變量。

1.1.2 引用變量

引用變量X時根據(jù)LEGB作用規(guī)則搜索變量X:當前本地作用域搜索,之后在嵌套的函數(shù)中搜索,然后在全局作用域搜索,最后在內(nèi)置作用域搜索。

1.2 點號變量名

點號的變量名是特定對象的屬性。

1.2.1 命名空間賦值

obj.X = value

在進行點號運算的對象obj的命名空間內(nèi)創(chuàng)建或修改屬性名X。

1.2.2 引用點號變量

obj.X

類:先在對象內(nèi)搜索變量名X,然后在可讀取的超類上使用繼承搜索變量名X。

模塊:直接從模塊讀取X。

1.3 python變量名分類

python變量賦值位置決定了變量的作用域或命名空間,即變量可訪問范圍。

NO 賦值位置 分類 描述
1 模塊頂層賦值 全局變量 都可訪問
2 函數(shù)內(nèi)部賦值 本地變量 函數(shù)內(nèi)部可訪問
3 方法內(nèi)部賦值 本地變量 方法內(nèi)部可訪問
4 類主體內(nèi)賦值 類數(shù)據(jù)屬性 類、實例和行為可訪問
5 方法self賦值 實例屬性 實例可訪問

1.3.1 模塊內(nèi)訪問變量

# vars.py
# 模塊屬性
X = 91

def f1():
   print(X)
   
def f2():
   # 函數(shù)本地變量
   X = 92
   print(X)
   
class C1(object):
   # 類屬性
   X = 93
   def m1(self):
       # 方法本地變量
       X = 94
       # 實例屬性
       self.X = 95
       
if __name__ == '__main__':
   print(X)    # 91
   f1()        # 91
   f2()        # 92
   print(X)    # 91
   
   c = C1()
   print(c.X)  # 93
   
   c.m1()
   print(c.X)  # 95
   print(C1.X) # 93
   
   try:
       # 函數(shù)外不可訪問本地變量
       print(f2.X)
   except Exception as e:
       print('f2.X={}'.format(e))
   
   try:
       # 方法外不可訪問本地變量
       print(C1.m.X)
   except Exception as e:
       print('C1.m.X={}'.format(e))
       
''' 運行結(jié)果
E:\\documents\\F盤>python vars.py
91
91
92
91
93
95
93
f2.X='function' object has no attribute 'X'
C1.m.X=type object 'C1' has no attribute 'm'
'''

1.3.2 模塊外訪問變量

>>> import os
>>> os.chdir(r'E:\\documents\\F盤')
>>> import vars
>>> X = 96
>>> print(X)
96
>>> print(vars.X)
91
>>> vars.f1()
91
>>> vars.f2()
92
>>> print(vars.C1.X)
93
>>> c = vars.C1()
>>> print(c.X)
93
>>> c.m1()
>>> print(c.X)
95

1.3.3 global和nonlocal變量

python的global語句用于def函數(shù)內(nèi)定義全局變量。在函數(shù)外也可以引用此變量。

python中如果要修改嵌套作用域變量的值,就用nonlocal語句。

>>> S = '梯閱線條'
>>> def g1():
   print(S)

>>> def g2():
   global S
   S = 'tyxt'
   
>>> g1()
梯閱線條
>>> g2()
>>> print(S)
tyxt

>>> def n1():
   S = 9555
   def n11():
       print(S)
   return n11

>>> n1()()
9555
>>> def n2():
   S = 9555
   def n21():
       nonlocal S
       print(S)
       S = 9666
       print(S)
   return n21

>>> n2()()
9555
9666
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    62973
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85040
收藏 人收藏

    評論

    相關(guān)推薦

    就是一個文件下的兩個文件夾里的全局變量名一樣。。。在

    就是一個文件下的兩個文件夾里的全局變量名一樣。。。在打開一個時總是從另外一個文件夾里調(diào)用全局變量waring。。。請問該怎么解決
    發(fā)表于 11-12 20:41

    keil 4.7仿真,Watch窗口不能保存住變量名

    我用的STM32F303的單片機,仿真器是ULink2,每次仿真的變量名存到watch窗口后,可以正常觀察到變量值,但是退出仿真再次進入后,變量都消失了,請教大家,這是怎么回事?如何才能是變量
    發(fā)表于 04-01 17:30

    Makefile——$(變量名)

    $(變量名) 表示的是此變量的值,如$(object)表示的是變量object的值;舉個例子:objects = main.o kbd.o command.o display.o edit : $(objects)等價于 edi
    發(fā)表于 03-08 17:02

    關(guān)于C6678調(diào)試——變量名解析的問題

    TI 專家: 在使用C6678上EVM板調(diào)試時,嘗試編寫一個在PC上運行的程序(或者函數(shù))使得輸入DSP中的一個全局變量名能返回這個全局變量的地址。就類似于調(diào)試工具中的view->
    發(fā)表于 06-21 17:58

    請問STM32頭文件里宏定義變量名是不是重復(fù)了?

    比如在 stm32f10x_map.h 頭文件里,有下面這樣宏定義和指針變量名相同的:這里是宏定義#ifdef _PWR#define PWR((PWR_TypeDef *) PWR_BASE
    發(fā)表于 09-04 09:28

    請問21489的引腳變量名在哪里找?

    新手問下,21489的引腳變量名在哪里找?我看例程里的好多表示引腳的變量,找了好幾個頭文件,都沒有找到
    發(fā)表于 03-05 15:00

    阿里巴巴禁止開發(fā)人員使用isSuccess作為變量名的原因是什么

    為什么阿里巴巴禁止開發(fā)人員使用isSuccess作為變量名
    發(fā)表于 04-08 14:46

    Python的字符串與變量名

    字符串字面量與變量名的區(qū)別Python解釋器如何判別字符串字面量與變量名字符串字面量的引號不是值的一部分
    發(fā)表于 05-22 07:23

    請問21489的引腳變量名在哪里找?

    新手問下,21489的引腳變量名在哪里找?我看例程里的好多表示引腳的變量,找了好幾個頭文件,都沒有找到
    發(fā)表于 11-30 06:35

    Python私有變量的定義方法

    在類內(nèi)部使用,不被外部調(diào)用,且當變量被標記為私有后,調(diào)用時需再變量的前端插入類,在類前添加一個下劃線,即“_ClassName__變量名
    發(fā)表于 02-13 16:49 ?1689次閱讀

    Python公認的命名規(guī)則總結(jié)

    對于模塊/包、函數(shù)名、變量名、類、常量的命名,Python有一些公認的規(guī)則,具體如下。
    的頭像 發(fā)表于 01-23 11:25 ?1825次閱讀

    90條關(guān)于寫Python 程序的建議

    區(qū)分變量、使用容易混淆的變量名、害怕過長變量名等。有時候長的變量名會使代碼更加具有可讀性。 (2)深入學(xué)
    的頭像 發(fā)表于 05-31 10:12 ?1539次閱讀

    C51 單片機的 C 語言中的變量定義與硬件之間的關(guān)系

    C51 語言的變量定義定義方式:普通變量:(修飾符)數(shù)據(jù)類型 [存儲類型] 變量名 [= 值]指針變量: (修飾符)所指向的地址的數(shù)據(jù)類型 [所指向的地址的存儲類型] *[指針的存儲類
    發(fā)表于 11-23 16:51 ?3次下載
    C51 單片機的 C 語言中的<b class='flag-5'>變量</b>定義與硬件之間的關(guān)系

    python私有變量和私有方法

    python私有變量和私有方法 1. 下劃線妙用 在 Python 中,下劃線可是非常推薦使用的符號: 變量名推薦使用下劃線分隔的蛇形命名法 魔法方法、構(gòu)造函數(shù)都需要使用雙下劃線 對于
    的頭像 發(fā)表于 03-08 16:30 ?2058次閱讀

    怎么快速進行變量和函數(shù)的命名?

    enum(枚舉)類型,前綴使用“e”+枚舉變量名,其成員前綴為枚舉變量或者其縮寫;struct(結(jié)構(gòu)體)類型,前綴使用“s”+結(jié)構(gòu)體變量名,其成員和變量定義規(guī)則相同;union(聯(lián)合)
    發(fā)表于 08-18 10:30 ?373次閱讀
    主站蜘蛛池模板: 天天爽夜夜爽每晚高澡 | 色播欧美 | 免费一级毛片私人影院a行 免费一级毛片无毒不卡 | 亚洲天堂社区 | 高清国产在线观看 | 777奇米影视笫四色88me久久综合 | 亚洲国产日韩女人aaaaaa毛片在线 | 天天舔天天爽 | 午夜性福利 | 欧美性黑人极品hd网站 | 全部免费a级毛片 | 农村的毛片丨级 | 天天躁日日2018躁狠狠躁 | 久久福利青草精品资源站免费 | 巨乳色网址 | 俺也来俺也去俺也射 | 久久久99精品免费观看精品 | 男人的天堂久久精品激情 | 色婷婷综合激情视频免费看 | 欧美亚洲综合图区在线 | 1314亚洲人成网站在线观看 | 毛片.com| 高清午夜线观看免费 | 国产紧缚jvid | 偷偷久久 | 夜夜爽爽爽| 日本免费一区二区在线观看 | 丁香色婷婷 | 天堂资源在线最新版 | 欧美在线高清视频 | 婷婷四房播客五月天 | 国产成人综合自拍 | 国产美女一区 | 人人叉人人| 女同毛片免费网站 | 女人张开腿给男人桶爽免费 | 国产伦精一区二区三区 | 成人性色生活片免费看爆迷你毛片 | 国产成人悠悠影院 | 免费国产午夜高清在线视频 | 美女黄色一级毛片 |