分享

python3 类对象的定义、方法

 星光闪亮图书馆 2018-05-03


类 Class: 用来描述具体相同的属性和方法的对象的集合。定义了该集合中每个对象所共有的属性和方法。对象是类的示例。

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

数据成员:类变量或者实例变量用于处理类及其实例对象的相关数据。

方法重写:如果从父类继承的方法不能满足子类的需求,可以对其
进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

实例变量:定义在方法中的变量,只作用于当前实例的类。

继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟”是一个(is-a)”关系(例图,Dog是一个Animal)。

实例化:创建一个类的实例,类的具体对象。就是将创建的类赋值给另一个变量。理解为赋值即可,a = class(),这个过程,就叫做实例化

方法:类中定义的函数。

对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

定义

语法格式

class ClassName:
    '''Description'''
    <statement-1>
    .
    .
    .
    <statement-N>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性

类的方法

在类内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。

class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))

# 实例化类
p = people('runoob',10,30)
p.speak()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

类对象

类对象支持两种操作,属性引用实例化
类对象创建后,类命名空间中所有的命名(变量、函数)都是有效属性名。

class devops():
    # 定义一个简单的类
    ops = ['Citizen_Wang', 'Bob_Zhou']
    dev = ['Jerry_Xue', 'Bagwell_Yan']
    def hello(self):
        print('Hello world')

# 实例化 类
a = devops()

# 访问类的属性 ops,dev
print(a.ops)
print(a.dev)

# 访问类的方法 hello 函数
a.hello()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

输出结果:

['Citizen_Wang', 'Bob_Zhou']
['Jerry_Xue', 'Bagwell_Yan']
Hello world
  • 1
  • 2
  • 3

实例化之后,支持对属性进行修改 =大师兄python

class devops():
    # 定义一个简单的类
    ops = ['Citizen_Wang', 'Bob_Zhou']
    dev = ['Jerry_Xue', 'Bagwell_Yan']
    def hello(self):
        print('Hello world')

# 实例化 类
a = devops()

# 访问类的属性 ops,dev
print(a.ops)
a.ops = 'No one has left'
print(a.ops)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

由此可见,可以在 class 外部修改类的变量。修改之后再次访问的时候,会返回修改的值。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多