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

Python:面向对象,类和对象,实例方法与实例属性,构造函数

面向过程与面向对象:
类和对象:

class wash:
    height=800#类属性
print(wash.height)

输出结果为800

创建对象(实例化对象):

class wash:
    height=800#类属性
wa=wash()
print(wa)#默认显示对象在内存中的地址
wa2=wash()
print(wa2)#内存地址不一样说明是不同的对象,可以实例化多个对象

实例方法和实例属性:
方法:由对象调用,至少有一个self参数,执行实例方法的时候,自动将调用该方法的对象赋值给self:

class wash:
    height=800#类属性
    def wash(self):#self参数是类中的实例方法,必须具备,表示当前调用该方法的对象,self代表对象本身,当对象调用实例方法时,Python会自动将对象本身的引用作为参数,传递到实例方法的第一个参数self里面
        print("123")
wa=wash()
#对象调用类中的方法
wa.wash()

实例属性:

格式:self.属性名

class Person:
    name="lihailu"#类属性
    def introduce(self):
        print("实例方法")
        print(f"{Person.name}的年龄:{self.age}")
pe=Person()
pe.age=18
pe.sex='男'#实例属性
print(pe.sex)#根据对象名访问实例属性
print(Person.sex)#实例属性只能由对象访问,不能由类名访问
pe.introduce()

实例属性和类属性的区别:后者是公共的,前者属于对象,是私有的,只能由对象名访问,不能由类名访问

每实例化一次就需要添加一次,效率不高

构造函数__init__():通常用来做属性初始化或赋值操作,在类实例化对象的时候会被自动调用

class Test:
    def __init__(self):
        print("123")
ti=Test()
class Test:
    def __init__(self):
        self.name="lihailu"
        self.age=18
    def play(self):
        print(f"{self.name} is playing")
    def introduce(self):
        print(f"{self.age} is bigger than liming")
p=Test()
p.play()
p.introduce()

或:

class Test:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def play(self):
        print(f"{self.name} is playing")
    def introduce(self):
        print(f"{self.age} is bigger than liming")
p=Test('lihailu',18)
p.play()
p.introduce()#构造函数实例化

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

相关文章:

  • ARM:什么是满减栈?为何选择满减栈?
  • 【零基础入门unity游戏开发——unity3D篇】3D物理系统之 —— 3D刚体组件Rigidbody
  • 一些docker命令
  • 微服务全局ID方案汇总
  • LeetCode860☞柠檬水找零
  • 有关Java中的注解和反射
  • 详解数据库范式
  • 《Java对象“比武场“:Comparable与Comparator的巅峰对决》
  • app.config.globalProperties
  • 语言识别模型whisper学习笔记
  • Odoo Http鉴权+调用后端接口
  • 爱普生车规级晶振SG2520CAA智能汽车电子系统的应用
  • JavaScript 函数基础
  • 【区块链】btc
  • HTTP 各版本协议简介
  • 交易所开发:数字市场的核心动力
  • HDU 学数数导致的
  • pjsip pjsua_media_config 结构体说明
  • 【MySQL】表的约束(上)
  • 如何筛选能实现共享自助健身房“灵活性”的物联网框架?