python基础学习5-面向对象

    创建 class 类名 (): # 类名首字母大写,()可写可不写
        pass
  1. 对象
    对象名 = 类名()
  1. 类的组成
    class Student:
      school ='北京xx学校' # 类属性,定义在类中方法外的变量
      # 初始方法
      def __init__ (self,xm,age):
      self.name = xm # 左侧是实例属性,右侧是局部变量,实例属性名跟局部变量名可以一样
      self.age = age
      # 定义在类中的函数成为实例方法,自带参数self
      def show(self):
        print(self.name)
        print(self.age)
      # 静态方法
      @staticmethod
      def sm():
        print() # 这是一个静态方法,不能调用实例属性,也不能调用实例方法
      @classmethod
      def cm(cls):
        print() # 这是一个类的方法,不能调用实例属性,也不能调用实例方法
  1. 动态绑定属性名和方法
    class Student:
      school ='北京xx学校'
      def __init__ (self,xm,age):
        self.name = xm
        self.age = age
      def show(self):
        prinf()
    stu = Student('韩梅梅',18)
    stu.gender = '女'
    def introduce():
      print()
    stu.fun = introduce
  1. 面向对象的三大特征: 封装、继承、多态
  2. 无下划线为普通的,可供内部外部本身,子类使用,单下划线 受保护的,只供本身和子类使用,双下划线开头,私有成员,只允许本身使用,首位双下划线,供特殊使用,如__init__
  3. dir(对象名) 返回对象所有属性方法
  4. 在类里面使用@property 修改方法转化成属性使用
  5. 在类里面使用@f方法名称.setter 修改属性
  6. 类的继承
    class 类名(父类1,父类2.。。父类n):
      pass
  1. object类
    __new__() 系统创建对象自动执行
    __init__()
    __str__() 返回对象的内存地址描述信息
  1. 继承多个父类,调用__base__时显示继承的第一个类
  2. 类的深拷贝和浅拷贝
    深拷贝:使用copy的deepcopy函数,递归拷贝对象中包含的子对象,源对象和拷贝对象所有的子对象都不相同 copy.deepcopy()
    浅拷贝:拷贝时,对象包含的子对象不拷贝,因此,源对象和拷贝对象会引用同一个子对象 copy.copy()
 
 
 
posted @   月下云生  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示