23. 描述对象的特征 - 范文中心

23. 描述对象的特征

04/23

Python实例属性

类的属性

类的属性包括:

实例属性

类属性

私有属性

特殊属性

实例属性

1.类被实例化后才会具有的属性

2.一般在_init_()方法中创建并初始化

3.直接使用即定义:self.

4.引用方法:self.

5.self用来表示类的实例的

例如:在类TestCss当中定义实例属性

class TestCss:

cssa = 'class-attribe'

def __init__(self):

self.a = 0

self.b = 10

def info(self):

print('a:',self.a,'b:',self.b)

if __name__ == '__main__':

tc = TestCss()

tc.info()

程序的运行结果为:

6.类外用实例名.属性名方式定义和引用

例如:

class TestCss:

cssa = 'class-attribe'

def __init__(self):

self.a = 0

self.b = 10

def info(self):

print('a:',self.a,'b:',self.b)

if __name__ == '__main__':

tc = TestCss()

tc.info()

if __name__ == '__main__':

tc = TestCss()

tc.info()

tc.color = 'red'

print(tc.color)

程序的运行结果为:

7.相同类的不同实例其实例属性是不相关的

例如:

lass TestCss:

cssa = 'class-attribe'

def __init__(self):

self.a = 0

self.b = 10

def info(self):

print('a:',self.a,'b:',self.b)

if __name__ == '__main__':

tc = TestCss()

tc.info()

tc = TestCss()

tca = TestCss()

tc.a = 100

tc.b = 200

tc.info()

tca.info()

程序的运行结果为:

8.一般不建议在_init_()方法之外中创建和初始化实例属性

9.一般不推荐类外定义和修改,修改可以单独定义方法。

Python类属性

类属性

1.类定义后就存在,而且不需要实例化

2.类属性使得相同类的不同实例共同持有相同变量

类属性实例

attrb.py

class TestCss:

cssa = 'class-attribe'

def __init__(self):

self.a = 0

self.b = 10

def info(self):

print('a:',self.a,'b:',self.b,'cssa:',TestCss.cssa)

def define_a(self):

self.c = 19

if __name__ == '__main__':

# tc = TestCss()

# tc.info()

# tc.color = 'red'

# print(tc.color)

# tc = TestCss()

# tca = TestCss()

# tc.a = 100

# tc.b = 200

# tc.info()

# tca.info()

# tc = TestCss()

# tc.define_a()

# print(tc.c)

tc = TestCss()

tc.info()

tca = TestCss()

tc.info()

TestCss.cssa = 0

tc.info()

tca.info()

程序的运行结果为:

Python私有属性

私有属性

1.不提供限制属性访问的关键字(无法限制类的各种属性在类外直接访问)

2.使用_ _开头的变量名加以标志,只有类对象自己能访问

3.使用_开头的变量名加以标志,应该只有类对象及其子类能访问(非强制性)

案例

private.py

class A:

def __init__(self):

self.__ab = 0

def info(self):

print(self.__ab)

a = A()

a.info()

a.__ab = 3

a.info()

print(a.__ab)

程序的运行结果为:

将双下划线全部变为单下划线

private1.py

class A:

def __init__(self):

self._ab = 0

def info(self):

print(self._ab)

a = A()

a.info()

a._ab = 3

a.info()

print(a._ab)

程序的运行结果为:

Python特殊属性

特殊属性

保存对象的元数据(_doc_ ,_name_,_dict_,_module_,_base_)

演示

小练习

定义一个类Box,具有实例属性长度(length)、宽度(width)、高度(height)。具有私有属性体积(由长、宽、高计算得来),并且它的每个实例可以直到它被实例化的数量,然后实例化它们五次,并输出每个实例的所有属性。


相关内容

  • (江苏)乡(镇)土地利用总体规划数据库标准
    江苏省乡(镇)级土地利用总体规划 数据库标准 (修订稿) (2010年11月) 江苏省国土资源厅 目 次 前 言 ............................................................... ...
  • 信息管理原理与方法何斌张立厚主编习题答案
    第一章 习题参考答案 一.名词解释 信息 信息资源 信息化 信息管理 信息资源管理 数据 知识 CIO 信息的生命周期 企业信息管理师 信息管理学 (1)信息 信息分为"本体论层次信息"和"认识论层次信息&qu ...
  • 故宫博物院练习
    <故宫博物院>阅读训练(一) A太和殿俗称金銮殿,高28米,面积2380的天空下,那金黄色的琉璃瓦重檐屋顶,显得格外辉煌.殿檐斗拱.额枋.梁柱,装饰着青蓝点金和贴金彩画.正面是12根红色大圆柱,金琐窗,朱漆门,同台基相互衬映,色 ...
  • 软件工程期末考试试题
    一,单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项 前的字母填在题后的横线上. 1.可行性研究要进行一次_____需求分析. A.详细的 B.全面的 C.简化的.压缩 ...
  • 文章的表达方法有哪些
    文章的表达方法有哪些? (转载) 语文园地 2010-10-19 23:52:07 阅读99 评论0 字号:大中小 订阅 基本方法有五种:叙述.描写.抒情.议论说明) ▲什么叫表达,表达有哪些基本方式? 表达,又叫表达方式,表达方法. 它是 ...
  • 超越笛卡尔
    作者:倪梁康 江苏社会科学 1998年05期 通过现象学的意向分析,胡塞尔在感知研究的理论领域中迈出了重要的一步,这在今天已经是一个或多或少得到公认的事实.只有当这里所说的"感知"受到扩展,从而不仅意味着通常意义上的&q ...
  • 软件工程自学考试20**年01试卷
    中国自考人(www.zk8.com.cn)--700门自考课程 永久免费.完整 在线学习 快快加入我们吧! 全国2011年1月自学考试软件工程试题 课程代码:02333 一.单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出 ...
  • 卫生毒理学基础习题集(人卫版)
    毒理学基础习题集 1 第一章 绪论 [A 型题] 1. 经典的毒理学研究对象是 A .核素 B .细菌 C .病毒 D .各种化学物质 2.外源化学物的概念 A .存在于人类生活和外界环境中 B .与人类接触并进入机体 C .具有生物活性, ...
  • 三维造型技术发展史
    三维造型技术 三维建模技术是研究在计算机上机型空间形体的表示.存贮和处理的技术,是利用计算机系统描述物体形状的技术.如何利用一组数据表示形体,如何控制与处理这些数据,是几何造型中的关键技术. 首先我们了解一下三维建模技术的发展史. 三维建模 ...