当前位置: 首页 > news >正文

Python语法进阶篇 --- 类和对象

Python语法进阶篇 --- 类和对象

  • 类和对象
    • 面向过程和面向对象的基本概念
    • 对象
    • 构造函数__init__
    • 析构函数__del__

🐹🐹🐹🐹🐹一只正在努力学习计算机技术的小仓鼠🐹🐹🐹🐹🐹



类和对象

面向过程和面向对象的基本概念

  • 面向过程:先分析解决问题的步骤,再把步骤拆成一个个方法,通过执行方法解决问题。
  • 面向对象:将编程当成一个对象,对外界来说,事物是直接使用的,不用去管内部的情况,而编程就是设置事物能做什么事情。

  • 概念:对一系列具有相同属性和行为的事物的统称。类是一个抽象的概念,不是真实存在的事物。
  • 类的三要素
    1. 类名:遵循大驼峰命名法。
    2. 属性:对象的特征描述。
    3. 方法:对象具有的功能(行为)。
  • 创建类
    class Washer:# 类属性height = 100
    
  • 查看类属性
    class Washer:# 类属性height = 100
    # 类名.属性名
    print(Washer.height)
    
  • 新增类属性
    class Washer:# 类属性height = 100
    # 类名.属性名 = 值
    Washer.width = 100
    print(Washer.width)
    

对象

  • 概念:对象是类创建出来的真实存在的事物,是类的具体实现。 注:在开发中,先有类,再有对象
  • 创建对象:创建对象的过程也叫实例化对象,一个类可以实例化多个对象。
    	# 内存地址不一样,说明是不同的对象pwash = Washer()print(pwash)qwash = Washer()print(qwash)```
    
  • 实例方法和实例属性
    • 实例方法:实例方法由对对象调用,且至少有一个self参数,执行实例方法的时候,自动将调用该方法的对象赋值给self
      class Washer:height = 800# 实例方法def washfunc(self):# 当对象调用实例方法时,python会自动将对象本身的引用(地址)作为参数,传递到实例方法的selfprint(self)print('洗衣服')
      # 实例化对象
      wash = Washer()
      print(wash)
      # 对象调用类中的方法
      wash.washfunc()
      
  • 实例属性self.属性名
    class Person:# 类属性name = 'bingbing'# 实例方法def introduce(self):print(self.name)# 实例属性print(self.age)print(self.gender)
    # 实例化对象
    person = Person()person.age = 20
    person.gender = 'male'
    # 根据对象名访问实例属性
    print(person.age)
    
  • 实例属性与类属性的区别
    实例属性只能由对象名访问,不能由类名访问;类属性,对象和类都能访问。
    

构造函数__init__

  • 作用:属性初始化或者赋值操作。创建类实例化对象的时候会被自动调用
class Dog:# 构造函数def __init__(self, age, skin):self.age = ageself.skin = skinself.foot = 4print('这是__init__()函数')# 实例方法def appearence(self):print(f'this dog is {self.age} years old, and has {self.foot} feet')
spike = Dog(10,'black')
spike.appearence()
spikeson = Dog(3,'white')
spikeson.appearence()

析构函数__del__

  • 作用:对象被垃圾回收的方法(释放内存),执行析构函数意味着对象不能继续引用。删除对象时解释器会默认调用__del__()方法
class Person:def __init__(self):print('我是__init()__函数')def __del__(self):print('我销毁了')person = Person()
# del p删除对象语句执行时,内存会立即被回收,会调用对象本身的__del__()方法
del person
# 正常运行时不会调用__del__方法,代码执行结束后系统会自动调用__del__()
print('这是最后一行代码')
http://www.xdnf.cn/news/887419.html

相关文章:

  • git连接本地仓库以及gitee
  • TypeScript进阶知识点
  • 14.AI搭建preparationのBERT预训练模型进行文本分类
  • 企业入驻成都芯谷金融中心·文化科技产业园优势深度解析
  • 浅谈 Linux 防火墙:从原理到实践
  • JSON Web Token (JWT) 详解:由来、原理与应用实践
  • FPGA 的硬件结构
  • Cursor 集成 Figma MCP 实现阅读理解原型图生成方案
  • 【Fifty Project - D33】
  • PlayWright | 初识微软出品的 WEB 应用自动化测试框架
  • 记一次 Windows XP 系统安装配置 Minio
  • vue对axios的封装和使用
  • 在 UE5 蓝图中配置Actor类型的Asset以作为位置和旋转设置目标
  • 动态表单 LiveCycle 与 AcroForms 对比
  • VAE变分自编码器详解
  • 用 NGINX 搭建高效 IMAP 代理`ngx_mail_imap_module`
  • v-if与v-for联合使用
  • IDEA 开发PHP配置调试插件XDebug
  • 【C++11新特性】
  • 移动应用开发期末复习
  • 能不能用string接收数据库的datetime类型字段
  • ServBay 1.13.0 更新,新增第三方反向代理/内网穿透
  • 【C语言练习】082. 使用C语言实现简单的加密算法
  • 钉钉 - 机器人消息推送(签名版)
  • 【C++高阶二】STL的map和set
  • 软件测试基础知识总结
  • 基于51单片机的温控电机系统
  • Axure 与 Cursor 集成实现方案
  • 服务虚拟化HoverFly
  • MySQL中的部分问题(1)