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

Python面向对象:类和对象的基本操作

Python面向对象:类和对象的基本操作

      • 创建一个猫的类
    • 对象
      • 创建一个对象
      • 数据类型
    • 类的组成及创建
    • 类方法的调用
    • 创建多个对象
    • 动态绑定属性和方法
      • 动态绑定属性
      • 动态绑定方法
    • 权限控制


创建一个猫的类,例如一个物种
创建一个猫类的对象,比如我家猫叫:花花,他属于猫的一种

创建一个猫的类

class Cat():
    pass

对象

创建一个对象

我家猫叫:花花
创建类的对象,花花就是Cat类的对象

class Cat():
    pass

huahua=Cat()
print(huahua)
print(type(huahua))

运行结果:

<__main__.Cat object at 0x000002CC73D82630>
<class '__main__.Cat'>

数据类型

解释:

  • 内存地址:<main.Cat object at 0x000002CC7385F8F0>
  • 数据类型:<class ‘main.Cat’> ,翻译成人话就是:huahua属于Cat类

类的组成及创建

  • 类属性:直接定义在类中,方法外的变量称为类属性,被该类的所有对象所共享,使用类名打点访问
  • 实例属性:定义在__init__方法中, 使用self打点的变量称为实例属性
  • 实例方法:定义在类中,方法带在默认参数self的函数称为实例方法,使用对象名打点访问的方法
  • 静态方法:使用 @staticmethod修饰的主法,使用类名直接访问的方法
  • 类方法:使用@classmethod修饰的方法,带有默认参数cls,使用类名打点访问
class Student:
    school = "北京清华附属中学"  # 类属性

    # 初始化方法
    def __init__(self, name, age):
        self.name = name  # 实例属性
        self.age = age

    # 实例方法
    def show(self):
        print(f"我叫:{
     self.name},今年:{
     self.age}岁了")

    # 静态方法
    @staticmethod
    def sm():
        print("这是一个静态方法")
        # 注意:类方法不能调用实例属性和实例方法

    # 类方法

    @classmethod
    def cm(cls):
        print("这是一个类方法")
        # 注意:类方法不能调用实例属性和实例方法

类方法的调用

对象的创建,类属性的调用,方法的调用等


http://www.kler.cn/a/381038.html

相关文章:

  • 利用Gurobi追溯模型不可行原因的四种方案及详细案例
  • Go web 开发框架 Iris
  • Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
  • 使用 Buildroot 构建带有 Avahi 支持的 Linux 系统
  • 常用的缓存技术都有哪些
  • 多智能体/多机器人网络中的图论法
  • 在gitlab,把新分支替换成master分支
  • LeetCode 3165.不包含相邻元素的子序列的最大和:单点修改的线段树(动态规划)
  • easyui +vue v-slot 注意事项
  • Grafana+Prometheus监控篇-Nginx
  • C#中,Thread和Task的区别
  • 人工智能基础-opencv-图像处理篇
  • 第二届新生程序设计竞赛热身赛(C语言)
  • File和InputStream,OutputStream
  • JavaEE初阶---网络原理值TCP篇(三)
  • gradle下载的jar包,源码出现Decompiled .class file, bytecode version
  • nginx监控指标有哪些
  • AI开发-三方库-torch-torchvision
  • Redis学习:BigKey、缓存双写一致性更新策略和案例
  • 小土堆学习笔记15:搭建小实战和Sequential的使用
  • w~自动驾驶~合集4
  • 【深度学习】DreamClear:提升图片分辨率的模型
  • git cherry-pick 小技巧
  • 【日志】初学顺序表
  • 基于springboot+vue实现的网上预约挂号管理系统 (源码+L文+ppt)4-104
  • 如何应对Oracle SQL语句的数据去重问题,应该考虑哪几个方面?