您的位置:首页 > 编程语言 > Python开发

python大盘点:全局变量、局部变量、类变量、实例变量

2018-02-07 12:53 330 查看
1、前沿

相信同学们一定懵逼过,那是,不懵逼就不正常了,现在由我为了大家在轻松的氛围下逐个说明 标题中所述的 名词

2、定义

            a、全局变量:在模块内、在所有函数外面、在class外面,这就是全局变量。

            b、局部变量:在函数内、在class的方法内(未加self修饰的),这就是局部变量

            c、 静态变量:在class内的,但不在class的方法内的,这就是静态变量

            d、 实例变量:在class的方法内的,用self修饰的变量,这就是实例变量

3、看完定义,同学们又懵逼一次了……………………我裤裆扯了…………好,下面整个代码实例(python版本2.7.11)

             a、全局变量与局部变量

[html] view
plain copy

#coding:utf-8  

#例子仅仅是作为展示,实际工作中,请再思考  

  

ahead = 'HelloWorld' #全局变量  

showList = [] #全局变量  

  

def printAhead():  

    print ahead  

  

def printOther():  

    city = 'beijing' #city是局部变量  

    print city + ahead  

  

def printList():  

    global showList #global代表引用全局变量,没办法,不写的话,showList就成局部变量了,赞吧  

    showList.append(1)  

    showList.append(2)  

    print showList  

  

printAhead()  

printOther()  

printList()  

输出结果:

[html] view
plain copy

HelloWorld  

beijingHelloWorld  

[1, 2]  

…………………………………………………………………………………………华丽丽的分割线………………………………………………………………………………

           b、静态变量与实例变量, 捎带又在class的方法中展示了局部变量,哈哈

[html] view
plain copy

class Person(object):  

    TAG = "Person" #静态变量  

    def __init__(self, name):                     #self 当前的实例对象(简单的说一下,其实都是引用哈)  

        print Person.TAG  #这里调用了静态变量  

        self.personName = name #personName是实例变量 (简单说就是因为self,哈哈)  

  

    def printName(self):  

        group = "BeiJing_"   #group是局部变量  

        print group + self.personName  #self.personName, 调用实例变量  

  

if __name__ == "__main__":  

    p = Person("WangYuanWai")  

    p.printName()  

输出结果:

[html] view
plain copy

Person  

BeiJing_WangYuanWai  

4、就扯到这里吧,像什么全局变量与局部变量同名的,类变量与对象变量同名的,等等各种其它情况,咱们开专题再说
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: