變數的作用域

2021-08-15 18:58:41 字數 1223 閱讀 6480

#coding:utf-8

# 變數的作用域:是指乙個變數所產生作用的範圍,在哪乙個範圍內能夠被直譯器識別。

# nameerror: name 'name' is not defined

# print name

# 變數的作用域:全域性變數和區域性變數

# 一般宣告在函式外部的變數,被稱為全域性變數,作用範圍是整個.py檔案內,都可以使用,都能

被直譯器識別到。

# 一般宣告在函式內部內部的變數,可以理解為乙個區域性變數,該變數只能在函式內部使用,超出

範圍,變數就不能再使用。

# my_list = [1,2,3,4]

# phone_info = [{},{}]

def sum(a,b):

# 形參a,b也是區域性變數,只能在函式內部使用。

# c: 就是乙個區域性變數

c = a + b

print c

if c == 30:

c = c + 100

print c

sum(10,20)

# print a,b

# 全域性變數名和區域性變數名相同

name = '張三'

# 預設情況下,如果全域性變數名和區域性變數名相同都是name,在函式內部是無法識別到函式外部

的全域性變數的,而會在函式內部宣告乙個新的區域性變數叫name。

def show():

# local(區域性的) variable(變數) 'name' referenced(引用) before(在...之前)

assignment(宣告):因為變數在進行引用時,會採取就近原則,看最近宣告的變數在哪。而最近

宣告的變數是name='李四',所以出現了先引用,後宣告的錯誤。

# print '-----',name

# name = '李四'

# print '===',name

# 如果在函式內部,想修改外部的全域性變數(可以理解為重新賦乙個值),需要使用global

# global的作用:宣告乙個變數是已經宣告好的全域性變數,直接使用即可,可以避免宣告一

個和全域性變數重名的區域性變數。

global name

print

'-----',name

name = '王五'

print

'===',name

show()

print name

作用域,變數作用域,作用域鏈知識

第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...

變數的作用域

1 int i for i 0 i 10 i text console.writeline last text output in loop text 失敗,字串變數text是for迴圈的區域性變數,這段 不能編譯,因為在該迴圈外部呼叫的console.writeline 試圖使用該變數text,這...

變數的作用域

首先定義全域性變數和區域性變數 如下 import import scope.h int gglobalvar 300 int main int argc,const char argv return 0 2015 04 01 14 52 12.123 extern 1924 303 300 201...