美文网首页
类和对象的基本方法

类和对象的基本方法

作者: 岑洋 | 来源:发表于2018-11-27 08:15 被阅读0次

    自学整理记录,大神见笑

    面向对象的基本概念

    面向过程---怎么做

    • 把完成某一个需求的所有步骤从头到尾逐步实现;根据需求将功能独立的代码封装成多个函数;完成代码就是顺序调用不同函数
    • 特点:注重步骤和过程,不注重分工职责;需求复杂影响代码复杂

    面向对象---谁来做

    • 完成某一需求前确定职责;根据职责确定对象,对象内部封装多个方法;完成代码就是顺序的让不同对象调用不同方法
    • 特点:注重对象和职责,分工明确;适合复杂需求

    类和对象

    • 类就是对一群具有相同特征和行为的事物的统称,不能直接使用;特征就是属性,行为就是方法
    • 类是负责创建对象的

    对象

    • 对象是由类创建出来的具体存在
    • 由哪个类创建,就拥有哪一个类的属性和方法
    • 注:先有类,后有对象

    类和对象关系

    • 类创建对象
    • 类只有一个,对象有多个
    • 不同对象间的属性和方法可能不同
    • 对象拥有的属性和方法都是类所拥有的
    • 先有类,后有对象

    类的设计

    • 类名要满足大驼峰命名
    • 三要素:类名,属性,方法

    面向对象基本语法

    __dir__内置函数

    • 变量,数据,函数都是对象
    • Python中确定是否是对象的方法:
      1.在标识符/数据后输入一个.,然后按下Tab键,在iPython中会提示该对象能够调用的方法列表
      2.使用内置函数dir传入标识符/数据,查看对象内的所有属性和方法
    • 注:__方法名__格式的方法是Python提供的内置方法/属性
    序号 方法名 类型 作用
    01 __new__ 方法 创建对象时,会自动调用
    02 __init__ 方法 对象被初始化时,会被系统调用
    03 __del__ 方法 对象从内存被销毁前,会自动调用
    04 __str__ 方法 返回对象的描述信息,print函数输出使用

    定义简单的类

    • 一个类中封装多个方法,通过类创建对象,然后用对象就可以直接调用这些方法
    • 定义格式:

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

    • 参数的第一个参数必须是self

    创建对象

    • 语法格式如下:

    对象变量 = 类名()

    • print直接打印对象变量,输出的是对象的引用
    • 技巧:格式化字符串%d,显示十进制;%x,显示十六进制

    方法中的self参数

    • 对象属性的封装应该封装在类的内部
    • 可以在类的外部直接通过.设置一个属性,但不推荐使用,因为如果在调用方法后添加属性,属性还在方法中使用,则会报错NameError
    • 哪一个对象调用,self就代表哪一个对象的引用
    • 在方法内部,可以用self.访问对象的属性或者调用对象的其他方法

    初始化方法

    • 类名()调用时,会自动执行下列操作:
      1.在内存中为对象分配空间---创建对象
      2.为对象的属性设置初始值---初始化方法(init)
    • 这个初始化方法是__init__,该方法是对象的内置方法

    初始化方法内部定义属性

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

    • 之后该类创建的对象都会具有该属性

    class Cat:
     def __init__(self,name):
      print("初始化方法 %s" % name)
      self.name = name
     ...
    tom = Cat("Tom")
    ...
    lazy_cat = Cat("大懒猫")

    内置方法和属性

    __del__方法

    • 对象在内存中被销毁前调用的方法

    __str__方法

    • 该方法必须返回字符串
    • print(对象),默认会打印对象的引用,但是这个类中有__str__方法,那么print会打印该方法返回的字符串

    相关文章

      网友评论

          本文标题:类和对象的基本方法

          本文链接:https://www.haomeiwen.com/subject/nwxjqqtx.html