python基礎之全局變數與globals函數

来源:https://www.cnblogs.com/gousheng123/archive/2020/05/30/12995424.html
-Advertisement-
Play Games

python的變數是存在作用域的,在代碼中不同位置的變數作用的範圍會有所不同,比如有的變數在整段代碼中都可以使用,有的變數卻只在函數內部使用。python中把能夠在整段代碼任意位置有效的變數稱為全局變數,只在函數內部使用的變數稱作局部變數。 全局變數: a = 520 #此時a作為全局變數 def ...


  python的變數是存在作用域的,在代碼中不同位置的變數作用的範圍會有所不同,比如有的變數在整段代碼中都可以使用,有的變數卻只在函數內部使用。python中把能夠在整段代碼任意位置有效的變數稱為全局變數,只在函數內部使用的變數稱作局部變數。

  全局變數:

a = 520         #此時a作為全局變數

def fuction():
    print('函數內部列印結果:',a)    

fuction()
print('函數之外列印輸出:',a)



#列印結果展示

#函數內部列印結果: 520
#函數之外列印輸出: 520

  局部變數:

def function02():
    a = 521
    print('函數內部列印結果:',a)

function02()
print('函數之外列印輸出:',a)


# 列印結果展示

# 函數內部列印結果: 521 # Traceback (most recent call last): # File "E:/python/老男孩視頻教學/代做課設/demo02.py", line 22, in <module> # print('函數之外列印輸出:',a) # NameError: name 'a' is not defined

  我們發現當變數只在函數內部賦值時,在函數之外如果對其列印的話會報錯,顯示變數並沒有被定義,因為其作用域只是在函數內部,當函數執行之後就會被釋放,在函數之外相當於沒有定義。

 

  然而在一些特定場景中,我們需要獲取函數內部定義的變數時,換句話就是如何讓上述關於局部變數的代碼運行不報錯,這裡我們介紹global關鍵字解決上述問題。global關鍵字的作用:聲明變數var是全局的,例如:

 

def function02():
    global a
    a = 521
    print('函數內部列印結果:',a)

function02()
print('函數之外列印輸出:',a)


# #列印結果展示
#
# #函數內部列印結果: 521
# #函數之外列印輸出: 521

  從運行結果可以看到即使在函數內部定義的變數,在使用global關鍵字申明後即使在函數之外對變數引用也不會報錯。

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、打開方式 打開Chrome瀏覽器,按下F12或者右擊空白處然後點擊檢查 最左邊是顯示效果,中間是html代碼,右邊是html樣式。 2、樣式的修改 點擊中間代碼框,左上角的小箭頭,然後點擊css樣式,可以直接修改屬性的值。也可以點擊鍵盤上的上下箭頭,對屬性的值進行修改 需要註意的是,調試工具只是 ...
  • 咕泡三期 Java高級開發|java進階大型互聯網架構師專題 微雲鏈接:鏈接:https://share.weiyun.com/4Ruecunx 密碼:m4xy7s 百度網盤:鏈接: https://pan.baidu.com/s/1UBSJaWNobkTmZ7uTGVMRQg 密碼: 1bpw 如 ...
  • 餓漢式 // 餓漢式單例 public class Hungry { //構造器私有 private Hungry(){ } // 一上來就把這個類載入了 private final static Hungry HUNGRY = new Hungry(); public static Hungry ...
  • 本文講解,Python Tkinter 庫,的基本原理,白話講解,面向小白。 Tkinter 是什麼: Tkinter 是 Python 自帶的一個,標準庫,用於快速創造,簡單的 GUI 程式。 為什麼要瞭解 Tkinter: 首先,因為這個庫,是 Python 自帶的,所以非常方便,隨叫隨到的那種 ...
  • L2-4 部落 在一個社區里,每個人都有自己的小圈子,還可能同時屬於很多不同的朋友圈。我們認為朋友的朋友都算在一個部落里,於是要請你統計一下,在一個給定社區中,到底有多少個互不相交的部落?並且檢查任意兩個人是否屬於同一個部落。 輸入格式: 輸入在第一行給出一個正整數N(≤1e4),是已知小圈子的個數 ...
  • 二叉搜索樹 定義 二叉查找樹(英語:Binary Search Tree),也稱為二叉搜索樹、有序二叉樹(ordered binary tree)或排序二叉樹(sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹: 若任意節點的左子樹不空,則左子樹上所有節點的值均小於它的根節 ...
  • 圖中是暗黑領域,非常牛逼的技能。 背景 DDD中出現的名詞: 領域,子領域,核心域,通用域,支撐域,限界上下文,聚合,聚合根,實體,值對象 都是關鍵概念,但是又比較晦澀,在開始DDD之前,搞清楚這些關鍵概念名詞非常的重要。 那它們作用體現在哪裡呢? 領域-子領域 領域是: 從事專門活動或者事業的範圍 ...
  • #include<vector> // 包含頭文件vector ... using namespace std; // vector包含在std中,因此必須包含std::vector vector <int> vi; // create a zero-size array of int int n; ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...