09_python的类与对象

1.python中类和对象的基本概念

(1)python的类

  • 类是对一类具有相同的特征和行为的事物的一个统称,是抽象的,不能直接使用
  • 类的特征被称为属性
  • 类的行为被称为方法

(2)python的对象

  • 对象是由类创建出来的具体的某一事物
  • 对象是由哪个创建的就拥有这个类的属性和方法

2.python类的设计

(1)类设计概述

使用面向对象的编程思想进行开发时,首先应该分析需求,确定程序中应该包含的类。在设计类时需要考虑三点:

  • 类名:使用大驼峰法命名。
  • 类的属性(特征)
  • 类的方法(行为)

(2)类设计基本语法(只有方法,没有属性)

class 类名:

    def 方法1(self, 参数列表):
        pass
        
        
    
    def 方法2(self, 参数列表):
        pass
        
        

(3)创建对象语法

对象变量 = 类名()

(4)引用

  • 创建对象时,变量仍然是一个引用(存储了对象实际内存的地址),也就是变量引用了对象数据。
  • 在使用print函数打印一个变量名时,默认打印的是这个变量里存的地址(十六进制)

(5)为对象设置属性

在类的外部,使用对象名.属性=属性值,便可以为对象增加属性,但是不推荐这样做,程序容易出错。

(6)self参数

  • self相当于java中的this,谁(哪个对象)调用了这个方法,这个self就是谁的引用。
  • 调用方法时,程序员不需要传递self参数

(7)访问对象的属性和调用对象的方法

  • 在类内部(类的方法内部)可以通过使用self.访问对象的属性和调用对象的方法
  • 在类的外部可以使用对象名.访问属性和方法

3.dir内置函数

python是完全面向对象的编程语言,其中所有的数据都是对象,包括之前遇见过的变量、函数、数据。

验证方法:

  • 标识符/数据后输入一个 .,然后按下 TAB 键,iPython 会提示该对象能够调用的方法列表
  • 使用内置函数dir 传入标识符 / 数据,可以查看对象内的所有属性及方法。

下述__方法名__格式是Python提供的内置方法/属性,常用的内置方法:

__new__()  #创建对象时,会被自动调用
__init__() #对象被初始化时,会被自动调用
__del__()  #对象被从内存中销毁前,会被自动调用
__str__()  #返回对象的描述信息,print函数输出使用

注意:

  • 如果希望对象在销毁之前做一些事情,可以考虑使用__del__()方法。一个对象的生命周期就是从创建到销毁的这段时间内。
  • 在对象的生命周期内,可以访问对象属性,调用对象的方法。
  • 当打印一个对象的引用时,默认打印的是这个对象的地址,如果想要打印这个对象的相关内容信息,可以使用__str__()方法改造这个对象。该方法必须返回一个字符串。

4.对象的创建过程

变量=类名()创建一个对象时,会自动执行一下操作:

  • 为对象分配内存空间(创建对象)
  • 为对象设置初始值(调用初始化方法__init__())

5.定义属性、私有属性、私有方法、初始化

(1)为对象定义属性

  • __init__()方法内部使用 self.属性名 = 属性的初始值就可以定义属性

(2)创建对象时设置初始值

在开发中,如果希望在 创建对象的同时,就设置对象的属性,可以对__init__()方法进行 改造

  • 把希望设置的属性值,定义成 __init__(self,参数1,参数2...) 方法的参数
  • 在方法内部使用 self.属性 = 形参 接收外部传递的参数
  • 在创建对象时,使用类名(参数1, 参数2...)调用

(3)私有属性和私有方法的定义

  • 实际开发时有些方法或属性不希望被外部对象访问到,只在本对象内部使用,可以将这些方法或属性设置为私有方法和私有属性。
  • 定义方式:
    在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法。
原文地址:https://www.cnblogs.com/lasnitch/p/11582872.html