精华内容
下载资源
问答
  • python 中静态变量_Python中的或静态变量
    千次阅读
    2020-07-26 08:49:37

    python 类中静态变量

    Python类/静态变量 (Python Class / Static Variables)

    Class or Static variables are class-related variables that are shared among all objects but the instance or non-static variable is unique for each object. In Python, there is no need for the keyword static to make a class variable but the static keyword is used to make a class or static variables in other programming languages like C++, C, Java, etc. The variable defined on the class level that is declared inside the class but outside any method in Python is static.

    类或静态变量是在所有对象之间共享的与类相关的变量,但是实例或非静态变量对于每个对象都是唯一的。 在Python中,不需要使用关键字static来创建类变量,而是使用static关键字来创建类或其他编程语言(例如C ++,C,Java等)中的静态变量。在类级别定义的变量在类内部声明,但在Python中的任何方法外部都是静态的。

    Let's look at an example for a better understanding of the static variable that returns some details about the intern of "includehelp" in Python.

    让我们看一个示例,以更好地理解静态变量,该变量返回有关Python中“ includehelp”的内部实习生的一些详细信息。

    Example for the class or static variable

    类或静态变量的示例

    # class definition
    class intern:
        site_name='Includehelp'
        field='Technical content writer'
        
        def __init__(self,name,programming_language):
            self.name=name
            self.programming_language=programming_language
    
    # object of the intern class
    x = intern('Bipin Kumar','Python') 
    
    # printing the variables values
    print('Site name: ',x.site_name)
    print('Field of interest: ',x.field)
    print('Name of intern: ',x.name)
    print('Language: ',x.programming_language)
    
    

    Output

    输出量

    Site name:  Includehelp
    Field of interest:  Technical content writer
    Name of intern:  Bipin Kumar
    Language:  Python
    
    

    Explanation:

    说明:

    In the above example, site_name and field is a class or static variable which is declared inside the class "intern" but outside of the __init__ method and name and programming_language are instance variables. Here, x is the object of the class "intern" which has two arguments, one is the name of an intern and another one is the programming language.

    在上面的示例中, site_name和field是一个类或静态变量 ,在类“ intern”内声明,但在__init__方法之外,并且name和programming_language是实例变量。 在此, x是“ intern”类的对象,该类具有两个参数,一个是实习生的名称,另一个是编程语言。

    翻译自: https://www.includehelp.com/python/class-or-static-variables.aspx

    python 类中静态变量

    更多相关内容
  • Python类变量和实例变量区别

    千次阅读 2019-07-25 19:01:41
    类变量:定义在里面,通过类名或对象名引用,如果是通过对象名引用,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量类变量的更新,只能通过类名,形如 类名.a = 55 ,不要指望通过实例引用...

    类变量:定义在类里面,通过类名或对象名引用,如果是通过对象名引用,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量,类变量的更新,只能通过类名,形如 类名.a = 55 ,不要指望通过实例引用类变量来更新类变量

    实例变量: 定义在方法里面的变量,一般在__init__里面,只能通过对象名引用,实例变量的增加、更新形式,形如self.a = 55 

    实例变量(静态属性)【实例名.实例变量名】

    1、实例变量是构造函数下的变量带self.变量

    2、实例变量为每个实例本身独有,不可相互调用、新增、修改、删除,不可被类调用、新增、修改、删除

    3、可以访问类变量

    4、如果同时有类变量和实例变量,程序执行时,先访问实例变量,实例变量存在,会使用实例变量,实例变量不存在,会使用类变量

    5、实例改类变量,不可修改,实际是在实例内存里创建了实例变量

    6、新增、修改、删除实例变量n,不会影响到类变量n

    7、a实例不能调用b实例的变量

    8、实例变量可修改、新增、删除

    类变量【类名.类变量名】

    1、类变量在class内,但不在class的方法内,存在类的内存里

    2、类变量是该类所有实例共享的变量,但是实例对象只能访问,不可修改,每个实例对象去访问同一个类变量都将得到相同结果【实例名.类变量名】

    3、新增、修改、删除类变量n,不会影响到实例变量n

    4、类无权访问实例名

    5、类变量可修改、新增、删除

    
    class Test(object):
        name='类的姓名' #类变量
        address='类的地址'
        def __init__(self,name,age,sex):
            self.name=name  #实例变量
            self.age=age
            self.sex=sex
        def test1(self):
            print(self.name,Test.address)
        def test2(self):
            pass
    Test1=Test('test1实例的姓名',22,'男')
    Test2=Test('test2实例的姓名',33,'女')
    print(Test1.name,Test1.address)
    print(Test2.name,Test2.address)
    print(Test.name)
    print(Test.age)
    
    #实验证明
    #1、实例变量为每个实例独有,不可相互调用、新增、修改、删除,不可被类调用、新增、修改、删除
    #2、如果同时有类变量和实例变量,程序执行时,先访问实例变量,实例变量存在,会使用实例变量,实例变量不存在,会使用类变量
    #3、类无法访问实例变量
    
    
    
    "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
    test1实例的姓名 类的地址
    Traceback (most recent call last):
    test2实例的姓名 类的地址
      File "C:/Users/wangli/PycharmProjects/Test/Test/test.py", line 98, in <module>
    类的姓名
        print(Test.age)
    AttributeError: type object 'Test' has no attribute 'age'
    
    Process finished with exit code 1
    
    
    
    class Test(object):
        name='类的姓名' #类变量
        address='类的地址'
        def __init__(self,name,age):
            self.name=name  #实例变量
            self.age=age
        def test1(self):
            print(self.name,Test.address)
        def test2(self):
            pass
    Test1=Test('test1实例的姓名',22)
    print('新增test1实例变量address为:test1实例的地址')
    Test1.address='test1实例的地址' #新增实例变量
    print('新增后test1实例变量address:',Test1.address)
    print('新增后类变量address:',Test.address,'\n')
    print('修改前test1实例变量age:',Test1.age)
    print('修改test1实例变量age22为11')
    Test1.age=11
    print('修改后test1实例变量age:',Test1.age,'\n')
    
    
    print('新增类变量age为:30')
    Test.age=30 #新增类变量
    print('新增后test1实例变量age:',Test1.age)
    print('新增后类变量age:',Test.age,'\n')
    
    print('修改前类变量address:',Test.address)
    print('修改类变量address类的地址为上海市')
    Test.address='上海市'
    print('修改后类变量address:',Test.address,'\n')
    
    #实验证明
    #1、实例变量可修改、新增、删除
    #2、类变量可修改、新增、删除
    #3、新增、修改、删除实例变量n,不会影响到类变量n
    #4、新增、修改、删除类变量n,不会影响到实例变量n
    
    
    "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
    新增test1实例变量address为:test1实例的地址
    新增后test1实例变量address: test1实例的地址
    新增后类变量address: 类的地址 
    
    修改前test1实例变量age: 22
    修改test1实例变量age22为11
    修改后test1实例变量age: 11 
    
    新增类变量age为:30
    新增后test1实例变量age: 11
    新增后类变量age: 30 
    
    修改前类变量address: 类的地址
    修改类变量address类的地址为上海市
    修改后类变量address: 上海市 
    
    
    Process finished with exit code 0
    
    
    
    展开全文
  • 1.类变量 下面介绍类变量的两种定义方式、两种读取方式、在里面的调用方式 定义 1.里定义的,与构造函数、普通函数是一个级别缩进的。(下面例子里的num) 2.在外定义的,直接用类名.变量名新增类变量。...

    1.类变量

    下面介绍类变量的两种定义方式、两种读取方式、在类里面的调用方式

    定义

    1.类里定义的,与构造函数、普通函数是一个级别缩进的。(下面例子里的num

    2.在类外定义的,直接用类名.变量名新增类变量。(下面例子里的myvar

    读取

    1.直接用类名的属性 获取:类名.类变量  (下面例子里的Member.numMember.myvar

    2.先实例化类,实例化对象的属性 获取 :实例对象.类变量 (下面例子里的M.numM.myvar

    调用

    1. 在类里面调用:类名.类变量,不能直接用类变量,即应为Member.num而不是num

    # -*- coding: utf-8 -*-
    class Member():
        num=2 #类变量,可以直接用类调用,或用实例对象调用
        def __init__(self,x,y):
            self.x=x  #实例变量(成员变量),需要它是在类的构造函数内以self.开头来定义的
            self.y=y
    
    
        def add(self):
            total=2  #局部变量
            self.vara=3  # 虽是以self.给出,但并没有在构造函数中进行初始化
            self.varb=4
            fina=(self.x+self.y)*total
            return fina
    
        def fuc(self,a,b):
            self.varc=a #成员变量,他们在成员函数fuc()中定义
            self.vard=b
            self.x+=2
            self.y+=2
            self.vara+=3  
            self.varb+=Member.num
    
    Member.myvar = 'huhuh'
    print(Member.num,Member.myvar)
    
    M=Member(1,2)
    print(M.num,M.myvar)

    2.实例(成员)变量

    (1)构造函数里的成员变量:

    定义:在__init__(self,成员变量)

    读取:只能实例对象.成员变量,不能类名.成员变量,即只能M.x不能Member.x

    调用:构造函数的成员变量,顾名思义:在类实例化的时候,就需要给该变量赋值。类里的普通函数可直接调用该变量,方式为:self.成员变量,

    作用范围类里面的全局变量,其值可以被其他函数修改

    (2)普通函数里的成员变量

    定义:在类里的普通函数def xxx(self,成员变量)

    读取:只能实例对象.成员变量,不能类名.成员变量,即只能M.vara不能Member.vara

    调用:方式为self.成员变量,只有在类实例化后调用该普通函数,此时,该成员变量才会生,看下面的例子:必须先调用add函数后,fuc函数里的self.vara和self.varb才会正常执行,不报错。

    作用范围类里面的全局变量,其值可以被其他函数修改

    3.局部变量

    局部变量相对就简单很多了,跟不在类里面的def函数的局部变量是一样的。

     作用范围:该函数内部

     

    总结:成员函数

    1.不同点

    (1)构造函数里的成员变量,在类实例化之后,就可以使用

    (2)在类里普通函数里的 成员变量,只能先调用该函数,才能使用该成员变量。

    2.相同点:

    (1)在类里,都是全局的

     

    展开全文
  • Python类变量与实例变量学习笔记

    万次阅读 2020-06-19 16:51:39
    class A: # aa为类变量 aa = 1 # xy为实例变量 def __init__(self, x, y): ... # 这里面xy就是实例变量,aa为类变量,a.aa会优先查找对象的变量,找不到则向上查询类变量 print(a.aa, a.x, a.y)
    class A:
        # aa为类变量
        aa = 1
        # xy为实例变量
        def __init__(self, x, y):
            self.x = x
            self.y = y
    
    
    if __name__ == '__main__':
        # a是实例A是一个类
        a = A(2, 4)
        # 这里面xy就是实例变量,aa为类变量,a.aa会优先查找对象的变量,找不到则向上查询类变量
        print(a.aa, a.x, a.y)
        print(A.aa)
        A.aa = 11
        print(a.aa)
        a.aa = 100
        print(a.aa)
        print(A.aa)
    
    
    
    

    联系与区别

    联系

    Python类变量被赋值
    (1)类的设计里,
    class里def外,通过变量名能被赋值
    def里通过类对象即类名字的点运算变量名可被赋值
    (2)程序里
    通过类对象(类名字)的点运算类名字也可被赋值
    Python实例对象变量被赋值
    (1)类的设计时
    def里通过self点运算变量名能被赋值,不一定非在init里,其他已被调用的方法函数里也行
    (2)程序里
    通过实例对象的点运算变量名可被赋值

    区别

    类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象

    展开全文
  • python类变量和实例变量详解

    千次阅读 2020-05-23 16:23:30
    python类变量和实例变量详解 在了解类变量和实例变量之前,首先要知道类变量和实例变量的定义。 类变量:可在的所有实例之间共享的值,就是指不是单独分配给每个实例,实例可以调用类变量。 实例变量:实例化...
  • python 中的变量、方法

    千次阅读 2020-12-15 15:11:29
    python 中的变量分为类变量,实例变量,self # coding:utf-8 class A(object): date = '20201215' # 类变量 def __init__(self): self.name = 'Stephen' # 实例变量 def __str__(self): return self....
  • python 类变量和成员变量详解

    千次阅读 2018-12-19 09:36:38
    https://blog.csdn.net/qq_40860784/article/details/78992714
  • python中的类变量

    万次阅读 多人点赞 2018-04-24 17:44:35
    python中的类变量最近我参加了一次面试,面试官要求用python实现某个api,一部分代码如下class Service(object): data = [] def __init__(self, other_data): self.other_data = other_data 面试官说:“ data =...
  • 第7.12节 可共享的Python类变量

    千次阅读 多人点赞 2019-06-15 19:33:32
    第7.12节 可共享的Python类变量 一、 引言 在上节已经引入介绍了类变量和实例变量体中定义的变量类变量,默认属于本身,实例变量是实例方法中定义的self对象的变量,对于每个实例都是独有数据,而类变量是...
  • Python类定义字类变量与实例变量

    千次阅读 2018-01-19 11:02:01
    学过JAVA或C++等语言的程序员...Python类中定义的变量分为类变量和实例变量(也叫成员变量、对象变量),类变量直接定义在里面(不在函数里面),前面不会有一个self修饰;相反,实例变量大都定义在实例函数里面,通
  • Python类变量与成员变量

    万次阅读 2016-12-18 23:19:16
    python中,主要会使用的两种变量类变量与成员变量类变量所有实例化对象共有的,而成员变量是每个实例化对象自身特有的,下面通过两个小程序来说明一下。
  • python ——静态变量

    千次阅读 2022-01-27 20:57:48
    Python中,静态成员变量称为类变量,非静态成员变量称为实例变量 class A: ## 静态变量 a = 12 def __init__(self, a): ##成员变量 self.a = a print(A.a) # 12 print(A(0).a) # 0 静态变量是通过类名....
  • python3:类变量和实例变量的区别

    千次阅读 2018-10-19 13:48:36
    类变量又叫全局变量,是属于的特性,实例先找实例化变量,然后再去找类变量. 但是 实例变量只是属于 实例化的变量, 但是 类变量 也可以用实例去调用. 如果类变量有多重继承关系, 就需要按照指定的路线进行查找. ...
  • python类变量和成员变量

    千次阅读 2018-08-15 11:24:07
    python中,本身拥有自己的类变量(保存在内存),当对象第一次调用类变量时,会将当前类变量拷贝一份给这个对象,当前类变量的值是多少,这个对象拷贝得到的类变量的值就是多少;而且,通过对象来修改类变量,并不...
  • import random class artell(): def _init_(self,hp,wpn): self.hp = 10 .............. robot = artell() robot.hp = robot.hp -1 (变量初始化,实例化后怎么修改)
  • 原文地址:... Python-类变量,成员变量,静态变量方法,静态方法,实例方法,普通函数 #coding:utf-8 class class_name(object): class_var = 'I am a class variable'...
  • 实例变量 实例变量则是以为self.开头,必须在实例化该后使用 class Test(object): def __init__(self): self.a = "Hello world!... #在内部Test.a是不能访问类变量的 print self.a A = Test() A
  • python类共享变量详解

    千次阅读 2018-08-27 11:40:43
    python类共享变量,是不需要实例化就可以调用的, 比如A有一个XXX的共享变量, 直接A.xxx就可以调用 第一步:b在实例化的时候A中没有共享变量xxx,这个时候实例b是没有这个变量 第二步...
  • 若需要再次调用,则加self,这样就相当于在内的"全局变量 二.若需要了,则注意其使用方法 Eg1: 变量有self情况如何调用 >>> class MM(object): def mm(self): self.one = 'hello' // 开始调用 >>...
  • python的私有变量可以修改吗

    千次阅读 2020-03-13 13:43:16
    python类中,以__开头的变量是私有变量,以_开头的变量是受保护的变量,不需要用private或者ptotect声明,这一点与C++是不一样的。 在python中,私有变量是可以修改的,来看下面几个例子。 总结一下: 1、...
  • Python 属性变量和全局变量

    万次阅读 2016-12-25 18:05:16
    # 使用global 可以访问到全局变量 num += 10 print 'gloal num:' ,num ClassName.num += 1 print 'ClassName.num:' ,ClassName.num def func (self) : print 'ClassName.num:' ,ClassName....
  • 1.1 可变变量作为类变量:对于列表、字典、自定义这些可变变量,如果将其作为类变量,则是传引用。即所有对象的类变量公用一个内存地址。 1.2不可变变量作为类变量:对于INT,STRING这种不可变变量,如果将其作为...
  • python公共变量_Python中的公共变量

    千次阅读 2020-07-29 02:10:59
    python公共变量By default all numbers, methods, variables of the class are public in the Python programming language; we can access them outside of the class using the object name. 默认情况下,该的...
  • python变量的生命周期

    千次阅读 2018-04-16 21:58:28
    欢迎大家扫码关注微信公众号「图灵的猫」,除了有更多AI、算法、Python相关文章分享,还有免费的SSR节点和外网学习资料。其他平台(微信/知乎/B站)也是同名「图灵的猫」,不要迷路哦~ ...
  • python-变量作用域

    千次阅读 2017-03-17 15:53:23
    python-变量作用域
  • 如何配置python环境变量,如何配置python环境变量mac,如何设置Python环境变量大家好,我是Yivies.相信很多python的初学者们在进行一顿下一步下一步的安装之后,在windows command命令行输入python的时候会出现这样的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,067,158
精华内容 426,863
关键字:

python类变量

友情链接: power_system.rar