關於函式變數作用域的小總結
1、不同函式變數可定義同一個變數名,互不影響,也不影響全域性變數的變數名:
word = ‘hello’
def func1():
word = “hi”
def func2():
word = “hai”
這樣其實相當於三個不同的“word”,互不影響。
2、函式內部可以訪問外部變數,但外部不能訪問函式內部變數
def func():
word = ‘hello’
print(word)
#此處會報錯,此時word相當於未被定義。
word = ‘hello’
def func():
print(word)
func()
hello
#此處函式內部的word會訪問外部全域性變數的word,打印出hello。
3、函式內部只是可以“訪問”外部變數,但不能修改!
egg = 9
def count_egg():
egg +=12
count_egg()
#此處會報錯,函式裡面的egg不允許修改外面的egg!(除非在函式裡面自己定義一個egg=多少,再加減)
相關推薦
關於函式變數作用域的小總結
1、不同函式變數可定義同一個變數名,互不影響,也不影響全域性變數的變數名: word = ‘hello’ def func1(): word = “hi” def func2(): word = “hai” 這樣其實相當於三個不同的“word”,互不影響。 2、函式內部可以訪問外部變
JavaScript-4.2函式,變數作用域---ShinePans
<html> <head> <meta http-equiv="content-type" content="text/html;charset=GB2312"/> <title> 4.2 函式和變數作用域 </title&g
3、【Python】Python 3入門(流程控制/迭代器/生成器/函式/變數作用域)
一、流程控制 1、if 控制 if 表示式1: 語句 if 表示式2: 語句 elif 表示式3: 語句 else: 語句 elif 表示式4: 語句 else: 語句 1、
java執行過程,初始化的順序,建構函式,變數作用域,反射機制,面向物件的特徵
java是解釋性語言 執行過程:程式原始碼經過java編譯器編譯成位元組碼,然後由JVM解釋執行。 Java源程式經過編譯器編譯後變成位元組碼,位元組碼由虛擬機器解釋執行,虛擬機器將每一條要執行的位元組碼送給直譯器,直譯器將其翻譯成特定機器上的機器碼,然後在特定的機器上執
JavaScript變數作用域、封閉函式、閉包、內建物件
變數作用域 變數作用域指的是變數的作用範圍,javascript 中的變數分為全域性變數和區域性變數。 1、全域性變數:在函式之外定義的變數,為整個頁面公用,函式內部外部都可以訪問。 2、區域性變數:在函式內部定義的變數,只能在定義該變數的函式內部訪問,外部無法訪問。 <
【6】裝飾器、閉包、偏函式、變數作用域問題
【一】、裝飾器思想 裝飾器是其實想增加一個函式的功能,但是又不想變動原來函式的程式碼,就用裝飾器。 比如:我們用別人的一個函式,又不是很滿意,所以用裝飾器裝飾一下即可。 def fun1(): prin
Golang學習筆記(十)函式申明及變數作用域
標準函式格式:func 函式名 (引數列表) (返回值列表) func funcName (parametername1 type1,parametername2 type2...) (output1 type1,output2 type2...) 1、可以使用可變引數:func funcNam
Python 閉包,函式分隔作用域,nonlocal宣告非區域性變數
例項物件也可以實現閉包的功能,不過例項物件消耗的資源(記憶體)比閉包多。 demo.py(閉包): # 閉包,分割作用域。 外層函式內部巢狀內部函式,外層函式分割變數作用域,並返回內部函式的引用。 # 外層函式負責分割作用域,內層函式才是閉包提供的功能。 外層函式返回內層
Python 包、模組、函式、變數作用域
Python 專案的組織結構 - 包 -- 模組 --- 類 ---- 函式、變數 Python是利用包和模組來組織一個專案的。 包: 包的物理表現是一個資料夾,但是一個資料夾卻不一定是個包,要想讓個資料夾成為一個
Python函式的定義、匿名函式、函式的引數、函式呼叫、引數傳遞、變數作用域、遞迴呼叫
Python函式: 函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的程式碼段。 Python提供了許多內建函式,比如print()。你也可以自己建立函式,這被叫做使用者自定義函式。 定義函式: 在Python中,定義一個函式要使用def語句,依次寫出函式名、
JavaScript學習之小白篇(五-函式的作用域及建立物件)
好好學習 ,天天向上。Are you ready? 一、作用域及作用域鏈 1. 什麼是作用域? 2. JS在ES5這個版本中有哪些作用域? 1》script作用域(全域性作用域) 宣告在全域性作用域的變數,叫全域性變數,同時也是window物件的屬性 宣告在全域性作用域的函式,叫全域性函
python入門與進階篇(四)之包、模組、函式與變數作用域
python專案的組織結構 包(資料夾)-->模組(檔案)-->類-->函式和變數 seven.c4、six.c4:(seven)包名.模組名(c4) 構成名稱空間 seven包的結構: seven --t(子包) --
小程式學習:變數作用域
app.js,增加一行全域性變數定義,globalvar: 1: globalData: { userInfo: null, globalvar: 1 } index.j
JavaScript變數作用域、函式作用域和宣告提前
1.變數作用域 在函式體內,區域性變數的優先順序高於同名的全域性變數。如果在函式體內宣告的一個區域性變數或者函式引數中帶有的變數和全域性變數重名,那麼全域性變數就被區域性變數所遮蓋。 儘管在全域性作用域編寫程式碼可以不寫var語句,但宣告區域性變數時則必須使用v
python中包,模組,函式,與變數作用域
python 專案的組織結構(最頂級的組織結構) 最頂級的是包,其次是模組,類,然後是函式、變數。 區分不同的模組前面加上包的名字:one.c1,two.c1(包.模組) 包下面可以有子包,也可以有模組 資料夾要變成一個包,要有一個__init__.py檔案(也是一個
關於變數作用域(內部、外部)及儲存型別(auto、static、register)的總結
可見性就是在在什麼地方可以呼叫,能呼叫的地方就是可見,而存在性,就是在什麼地方什麼時候初始化,然後使用完後在什麼地方什麼時候釋放,存在性一般是在執行時的生命週期內起作用的,這個題目裡除了static其他都是在函式結束時自動釋放了。 一、變數的&n
一些概念:類和結構、名稱空間、複製建構函式、作用域和連結性 自動變數和堆疊
1、類和結構 類描述看上去很像是包含成員函式以及public和private可見性標籤的結構宣告。實際上,C++對結構進行了擴充套件,使之具有與類相同的特性。他們之間唯一的區別是,結構的預設訪問型別是public,而類為pri
python學習筆記:函式與變數作用域
1、函式的引數傳遞 是引用傳遞,如果傳入的是可變物件(列表,字典,集合等),則對其進行修改(注意,不是賦值,而是修改),則在主函式中該物件被修改; 傳入的形參,是一個區域性變數,只是一開始引用了實參,如果繫結關係被改變,
python學習筆記12(裝飾器、偏函式、變數作用域)
裝飾器、偏函式、變數作用域 裝飾器 定義: 是一個閉包,把一個函式當做引數,返回一個替代版的函式 本質: 就是一個返回函式的函式 示例: #簡單的裝飾器 def func1(): #定義了一個函式 print("sunck is a good man") #希望在不改
python中變數,函式,類之小總結
自己敲過之後效果更好!#!/user/bin/env python # -*- coding:utf-8 -*- #變數 #_xxx,單下劃線開頭的變數,標明是一個受保護(protected)的變數