Rumah > pembangunan bahagian belakang > Tutorial Python > python全局变量和局部变量的区别

python全局变量和局部变量的区别

angryTom
Lepaskan: 2020-02-29 13:58:44
asal
14206 orang telah melayarinya

python全局变量和局部变量的区别

全局变量和局部变量的区别在于作用域,全局变量在整个py文件中声明,全局范围内可以使用;局部变量是在某个函数内部声明的,只能在函数内部使用,如果超出使用范围(函数外部),则会报错。

推荐:Python教程

#!/usr/bin/python3
# -*- coding: utf-8 -*-

A = 100 # 全局变量一般用大写字母表示

def func():
    a = 50 # 局部变量一般用小写字母表示
    print(a+A)

func()
print(A)
print(a) # 报错信息NameError: name 'a' is not defined
Salin selepas log masuk

1.png

#!/usr/bin/python3
# -*- coding: utf-8 -*-

A = 100

def func():
    A=250
    print(A)

print(A)    # 打印全部变量
func()      # 局部变量
Salin selepas log masuk

2.png

如果想在函数内部改变全局变量,需要在前面加上global关键字,在执行函数之后,全局变量值也会改变。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
A = 100

def func():
    global  A
    A = 200
    print(A)


print(A)    # 打印全局变量
func()      # 局部变量
print(A)   # 改变后的全局变量
Salin selepas log masuk

如果全局变量是列表类型,可以通过list的列表方法去对列表进行修改,并且可以不用global来声明。

list_1 = [1,2,56,"list"]

def changeList():
    list_1.append("over")
    print(list_1)

changeList()
print(list_1)
Salin selepas log masuk

3.png

在函数内部,如果局部变量与全局变量变量名一样,则优先调用局部变量。

众多python视频教程,尽在PHP中文网,欢迎在线学习!

Atas ialah kandungan terperinci python全局变量和局部变量的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan