python中的实例属性和类属性

在python中,类属性和实例属性的区别是什么?

我认为是作用域的不同,实例对象可以访问类属性,类对象不可以访问实例属性。(类的概念本身就是作用域的概念,你不能让一只猫会飞,猫属于猫类,这一类都不会飞。所以“飞”这种方法,猫类不具有)

比如:

class People(object):
    name = ‘Tom‘  # 公有的类属性

    __age = 12  # 私有的类属性
    #  实例属性
    def __init__(self,height):
        self.height = height

p = People("183cm")

print(p.name)  # 正确,实例对象可以访问类属性

print(People.name)  # 正确,类对象可以访问类属性

print(People.height)  #  错误,类对象不能访问实例属性

原文地址:https://www.cnblogs.com/chaojiyingxiong/p/11194023.html

时间: 2024-08-10 14:56:29

python中的实例属性和类属性的相关文章

Python中父类和子类间类属性(非实例属性)的设置获取的传递

前几天做一个项目,遇见类似这样一个问题.父类是个公用类,很多子项目中都运用到了,而子类也要作为一个基本类在该项目中的很多地方都要用到,但是的原始父类里面有些类属性(注意这里是类属性,不是实力属性).在程序运行时候要进行重新设置. 背景:Python中父类的类属性,类方法,实力属性都能够被子类继承,实力属性的再设置很简单,当然为了控制类属性的访问权限(Python中不能完全实现控制),也可以用@preproty装饰符优化和控制实力属性的设置,父类的类属性被子类继承,可以很容易的获得父类属性的内容,

python 之实例属性和类属性

由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: class Student(object): name

Python day 8(4) 实例属性和类属性

1 由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 902 如果Student类本身需要绑定一个属性,可以直接在class中定义属性,这种属性是类属性,归Student类所有: class Student(object): name

Python实用笔记 (22)面向对象编程——实例属性和类属性

由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: class Student(object): name

python中类对象、实例对象、类属性、实例属性、类方法、实例方法、静态方法

类对象.类属性与实例对象.实例属性的区别 在Python中一切皆是对象,类是一个特殊的对象即类对象,描述类的属性称为类属性.类属性在内存中只有一份,在__init__外部定义. 通过类创建的对象称为实例对象,描述实例对象的属性称为实例属性.实例属性在各自对象的内存中都保存一份,在__init__方法内部定义. 实例方法.类方法.静态方法的区别 这三种方法都是保存在类的内存中,调用者不同. 实例方法由对象调用,至少一个self参数,self代表对象的引用. 类方法有类调用,至少一个cls参数,并且

【Python】[面性对象编程] 获取对象信息,实例属性和类属性

获取对象信息1.使用isinstance()判断class类型2.dir() 返回一个对象的所有属性和方法3.如果试图获取不存在的对象会抛出异常[AttributeError]4.正确利用对象内置函数的例子: def readImage(fp): if hasattr(fp,"read"): return readData(fp) return None 实例属性和类属性1.一句话,Python是动态语言,根据类创建的实例可以任意绑定属性.    注意:实例属性和雷属性的名字要保持不一

实例属性和类属性

实例属性通过self或实例变量来定义,注意__init__方法中定义的是实例属性: class Student(object): def __init__(self, name): self.name = name s1 = Student('Bob') #给实例添加一个属性 s1.score = 90 s2 = Student('Jim') 在实例s1中添加一个属性score, 该属性只对s1有用,在s2中是没有的: >>> s1.score 90 >>> s2.sc

面向对象编程——实例属性和类属性(六)

由于python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self,name): self.name = name s = Student('Bob') #添加实例 s.score = 90 #添加属性 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: >>> class St

面向对象编程(实例属性、类属性)

由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有: class Student(object): name

KO ------- 表中字段名和实体类属性名不一致

-----------------------siwuxie095 KO ------- 表中字段名和实体类属性名不一致 如果数据库表中的字段名和实体类的属性名不一致,那么在查询时, 相应字段的结果就会为空 (一)问题复现 1.先创建数据库 mybatis_db, 再创建表 t_user,并插入若干数据 注意:user_id 为主键,且为自动增长 2.创建实体类 User.java: package com.siwuxie095.entity; // 实体类 public class User