一:类的属性

  类的属性分为:类属性(公有属性),实例属性和私有属性。

1)类属性(公有属性(静态字段):

  类定义时直接指定的属性(不是在__init__方法中),可以通过类名直接访问属性,并且保存在类的内存中,如果一个属性都有共同值就可以设置为公有属性。

2)实例属性:

  在__init__方法中添加的属性,就是实例属性。实例属性保存在对象的内存中。

3)私有属性:

  在__init__方法中定义,并且前面有两个__的属性:比如self.__heart="Normal" 这个就是私有属性,对外不可见,对内可见。  

  1.如果想外面看见私有属性,可以通过下面方法: 

    外面可以看见私有属性,但不能修改
      def get_heart(self): #对外提供可读属性
        return self.__heart

  2.可以强制访问类的私有属性。方式:实例名._类名__私有属性 例:r1._role__heart

4)示例代码1:

# -*- coding:utf-8 -*-
__author__ = 'shisanjun' class Person(object): country="中国"#类的公有属性或者类属性 def __init__(self,name,age):
self.name=name #实例属性
self.age=age
self.__salary="" #私有属性 def talk(self):
print("国家:%s,名称为:%s,年龄为:%s,薪水:%s" %(self.country,self.name,self.age,self.__salary)) #提供私有属性访问接口
def get_salary(self):
return self.__salary p=Person("shi",23)
p.talk() #访问类属性
print(Person.country) #实例属性
print(p.name) #直接访问类的私有属性会报错
#print(p.__salary) #强制访问私有属性
print(p._Person__salary) #私有属性访问2:
print(p.get_salary()) """
结果
国家:中国,名称为:shi,年龄为:23,薪水:15000
中国
shi
15000
15000
"""

示例代码2:

class Foo(object):
country="中国“
def __init__(self,name,count)
self.name=name
self.count=count def bar(self):
pass obj1=Foo("江苏")
obj1.bar() obj2=Foo(“山东”)
obj2.bar 如果country="中国"放置在__init__中,每次实例化对象的时候country="中国“都会在内存中占用一块。而放在公有属性只占用一块。 解释器从上到下解释,先发现类,在内存中创建这个类,这个内存就存在这个方法。 obj1,obj2维护着和类的指针
执行obj1把自己传输进来 公有属性(静态字段),只保存类中一份。如果一个属性都有共同值就可以设置为公有属性。
私有属性,是保存在对象中,可以是多份

5)内存演示1

5)公有属性内存演示2

python基础-类的属性(类属性,实例属性,私有属性)的更多相关文章

  1. python基础教程:定义类创建实例

    类的定义 在Python中,类通过class关键字定义,类名以大写字母开头 >>>class Person(object): #所有的类都是从object类继承 pass #pass ...

  2. Python基础(10)——类进阶(静态方法、类方法、属性方法)

    以下方法为高级方法,一般来说没什么卵用 1.静态方法 @staticmethod 相当于把类内的函数从类内独立出来,只是名义上归类管,实际上不可以调用类内的变量和函数 通过@staticmethod装 ...

  3. python基础(三)——类的研究

    class Employee: //定义类 以冒号结束 '所有员工的基类' //帮助信息 empCount = 0 def __init__(self, name, salary): //调用时初始化 ...

  4. python基础教程总结6——类

    1. 如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义: class  ...

  5. Python基础(9)——类

    类的语法 类的定义 class Dog(object): print("hello,I am a dog!") d = Dog() #实例化这个类, #此时的d就是类Dog的实例化 ...

  6. Python基础6--函数、类和文件操作

    1 def name(para) def myabs(x): if x>0: return x else: return -x 2 lambda表达式 用于声明匿名函数,既没有名字的小函数 f ...

  7. js中如何判断属性是对象实例中的属性还是原型中的属性

    ECMAScript5中的hasOwnProperty()方法,用于判断只在属性存在与对象实例中的时候,返回true,in操作符只要通过对象能访问到属性就返回true. 因此只要in操作符返回true ...

  8. CSS中不为人知Zoom属性的使用介绍(IE私有属性)

    其实Zoom属性是IE浏览器的专有属性,Firefox等浏览器不支持.它可以设置或检索对象的缩放比例.除此之外,它还有其他一些小作用,比如触发ie的hasLayout属性,清除浮动.清除margin的 ...

  9. Zoom属性的使用介绍(IE私有属性)

      其实Zoom属性是IE浏览器的专有属性,Firefox等浏览器不支持.它可以设置或检索对象的缩放比例.除此之外,它还有其他一些小作用,比如触发ie的hasLayout属性,清除浮动.清除margi ...

  10. Python基础(九) type元类

    python元类:type()    元类是python高阶语法. 合理的使用可以减少大量重复性的代码. 元类实际上做了以下三方面的工作: 干涉创建类的过程 修改类 返回修改之后的类 为什么使用元类? ...

随机推荐

  1. elasticsearch5使用snapshot接口备份索引

    数据备份是一个必须要考虑的问题,官网提供了 snapshot 接口来备份和恢复数据. 先来看看官方说明: 如果ES是集群,那么需要使用共享存储,支持的存储有: a.shared file system ...

  2. fzyzojP3372 -- [校内训练20171124]博弈问题

    对于每个点都要答案 还是异或 trie树合并石锤了 朴素枚举是O(n^2*17)的 怎么办呢? 我们发现合并的时候,一些部分的trie的子树还是不变的 改变的部分也就是合并的复杂度可以接受 鉴于大部分 ...

  3. EOJ 262 润清的烦恼

    ——题目出处zhoutb2333 题解: 3e6可以带一个log 又是下取整问题.但是分块会TLE. 这样考虑,我们把式子拆成两个部分. 我们先算出来每一个x的[ai/x]项,再算出来[x/ai]项. ...

  4. P1978 集合

    P1978 集合 题目描述 集合是数学中的一个概念,用通俗的话来讲就是:一大堆数在一起就构成了集合.集合有如 下的特性: •无序性:任一个集合中,每个元素的地位都是相同的,元素之间是无序的. •互异性 ...

  5. P1564 膜拜

    P1564 膜拜 题目描述 神牛有很多-当然-每个同学都有自己衷心膜拜的神牛. 某学校有两位神牛,神牛甲和神牛乙.新入学的N 位同学们早已耳闻他们的神话. 所以,已经衷心地膜拜其中一位了.现在,老师要 ...

  6. java8 新特性 Stream

    1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...

  7. oracle表结构和数据导出时的一些勾选项说明

    使用pl/sql developer导出oracle数据库的表结构和表数据时,有一些勾选项供用户选择,需要用户根据实际情况进行勾选或取消. 导出方法如下:一.只导出表结构1.使用pl/sql deve ...

  8. jvm如何判断对象是否可以被回收

    内容基本来自周志明 深入理解Java虚拟机 第二版 第三章 .这本书还可以,不过好像也没什么其他中文的关于jvm比较好的书了 jvm要做垃圾回收时,首先要判断一个对象是否还有可能被使用.那么如何判断一 ...

  9. 小玩意1-实时获取IE浏览器输入框URL地址

    主要参考http://www.cnblogs.com/scrat/archive/2012/09/12/2682626.html 主要思路如下: 通过 FindWindow() FindWindowE ...

  10. 【HDU】2191 多重背包问题

    原题目:悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 [算法]多重背包(有限背包) 动态规划 [题解]http://blog.csdn.net/acdreamers/article/detail ...