中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

在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

新密市| 乌兰县| 阳新县| 雷山县| 巩留县| 墨江| 揭西县| 攀枝花市| 永嘉县| 汉中市| 志丹县| 家居| 新干县| 北流市| 襄汾县| 称多县| 清原| 湖北省| 宜昌市| 阳江市| 汽车| 郓城县| 天等县| 枣阳市| 诏安县| 邢台县| 佛学| 花莲县| 岐山县| 陇川县| 凤庆县| 阳西县| 石柱| 锦屏县| 集安市| 怀远县| 固原市| 青岛市| 唐海县| 洞口县| 彝良县|