關於python中的區域性變數和全域性變數

2021-08-20 01:35:12 字數 732 閱讀 4251

b = 1  #全域性變數

deffoo1():

globalb # 申明使用全域性b

a = 0

foriinrange(1,3):

a = 2

# a是本地變數

b = 2

# b是全域性變數

print(a)

在函式裡面的話,都是區域性變數,不過會提示local variable might be referenced before assigned

#! /usr/bin/env python

# -*- coding: utf-8 -*-

a = 1

b = 1

deffoo1():

globalb # 申明使用全域性b

foriinrange(1,3):

a = 2

# a是本地變數

b = 2

# b是全域性變數

foo1()

print(a)

print(b)

此時的a不是全域性變數,函式裡面的a是區域性變數,但是print(a)是外面的a,所以a還是1

關於區域性變數

問題 include int foo intmain 最後會列印 58 理論上,a是區域性變數,所以a的位址在foo 函式返回時就釋放了,那為什麼還能讀取到5這個值呢。這個行為是不好的,雖然還可以讀取5,但是並不代表5這個值是安全的,我們不知道會有什麼樣的行為會改變它,因此它可以是5也可以是乙個隨機...

python中函式的區域性變數

1 def discount price,rate 定義函式名discount,兩個形式引數price和rate sell price price rate return sell price 函式返回售價 price float input please input the price 此處接受輸...

python區域性變數和全域性變數

name gongwei 要在函式裡修改全域性變數,需要用globle home earth china cq def change name home 地球 注意只有字串和單獨數值在區域性變數中修改全域性變數要用globle輔助,其他如列表 字典可以直接修改 global name name xu...