亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Python中定義變量的方法

發布時間:2020-08-14 11:53:01 來源:億速云 閱讀:203 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關在Python中定義變量的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

我們首先看一下變量的分類,通常情況下,我們所說到的定義一個變量,如果沒有特殊說明,那么就是定義一個全局變量。

全局變量

在模塊內、在所有函數外面、在class外面,這就是全局變量

局部變量

在函數內、在class的方法內(未加self修飾),這就是局部變量

靜態變量

在class內的,但不在class的方法內的,這就是靜態變量

實例變量

在class的方法內的,用self修飾的變量,這就是實例變量

全局變量

全局變量供全局共享,全局類和函數均可訪問,達到同步作用。同時還可以被外部文件訪問。

使用

全局變量使用的時候,需要用global顯示聲明。

一般情況下,如果函數直接調用全局變量,不做更新的話,一般沒有問題,但如果有重新賦值,又沒有在函數內部使用 global聲明的話, 就相當于在內部創建了一個同名的局部變量,局部變量優先級要高于全局變量。

# coding:utf-8
_all = 'HelloWorld'    # 全局變量
_all_list = []    # 全局變量

def printall():
    global _all    # 這里需要用global顯示聲明
    print _all    # HelloWorld

局部變量

# coding:utf-8
def show():
    city = 'Beijing'    # 局部變量
    print city

靜態變量

可以稱為是類變量,通過類名可以直接訪問,也可以通過實例名直接訪問,此變量在類中全局共享,實例之間也是全局共享。可以看下面實例

# coding:utf-8
class foo:
    all = 0   
    def add(self):
        foo.q += 1

instance01 = foo()   # 實例化對象1
instance02= foo()    # 實例化對象2
print instance01.all    # 執行結果為:0
print instance02.all    # 執行結果為:0
print foo.all    # 執行結果為:0

instance01.add()
print instance01.all    # 執行結果為:1
print instance02.all    # 執行結果為:1
print foo.all    # 執行結果為:1

instance02.add()
print instance01.all    # 執行結果為:2
print instance02.all    # 執行結果為:2
print foo.all    # 執行結果為:2

實例變量

對于模塊來說,有了自己的全局變量,可以供自己內部的類,函數使用,同步;對于函數或者類方法來說,有了自己的局部變量,供自己內部使用;對于類,有了靜態變量,可以供內部和有繼承關系的父子之際使用,同步;但實例之間各自的私有變量(局部變量)就要靠實例變量了,實現了動態綁定,多態特性。

用self來修飾

# coding:utf-8
class foo:
    all = 0
    def __init__(self, name):
        self.name = name
    def add(self):
        foo.q += 1

instance01 = foo('hello')
instance02 = foo('hi')
print instance01.name    # hello
print instance02.name    # hi
print foo.name     # AttributeError:class foo has no attribute 'name'

總結

在整個代碼組織的過程中,一般會有這樣兩種基本需求,私有 和 公有。

私有

不與其他共享,自己獨享,如函數和方法的局部變量,實例變量

公有

需要在一定范圍內共享,達到同步目的,如模塊內的代碼共享的全局變量,類與子類之間共享的靜態變量。

感謝各位的閱讀!關于在Python中定義變量的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卓尼县| 曲周县| 许昌县| 隆化县| 屯留县| 秦安县| 凤山县| 绍兴县| 深州市| 江油市| 淳安县| 长顺县| 正镶白旗| 会泽县| 屏东县| 田东县| 兰坪| 阜南县| 吉安县| 若尔盖县| 辽源市| 怀远县| 兰考县| 诏安县| 成都市| 阿勒泰市| 双江| 红原县| 中方县| 含山县| 巩留县| 张掖市| 莱芜市| 房山区| 宣化县| 黎平县| 永济市| 大方县| 洪洞县| 沁阳市| 孙吴县|