1、变量后面跟一个等号是局部变量

2、变量直接使用是全局变量

3、用gloabl定义的是全局变量

局部变量: i

详细解释:fun()里面的 i 是局部变量,打印结果为100.

#!/usr/bin/python
# -*- coding: UTF-8 -*-


i = 10
def fun():
    i = 100
    i=i+1
    print i

fun()
print i

全局变量:i 

详细解释:fun()里面的 i 不是 "i=" 的形式,所以是全局变量

#!/usr/bin/python
# -*- coding: UTF-8 -*-


i = 10
def fun():
    print i

fun()

全局变量:i

详细解释:fun2里面的i会报错,fun3里面的i不会报错。因为,"i=" 的形式,让程序认为这是一个局部变量,但是后面自增 i 的写法是把i 当成全局变量使用,所以出错。

#!/usr/bin/python
# -*- coding: UTF-8 -*-


def fun():
    global i
    i = 1
    i = i+1
    print i
def fun2():
    i=i+1
    print i

def fun3():
    print i

 

更多内容请关注微信公众号“外里科技

官方公众号外里科技
运营公众号英雄赚
微信wxid_8awklmbh1fzm22
QQ1247408032
开源代码https://gitee.com/B_T/beimi

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐