【Python】面向对象

面向对象:
“类“”是抽象的模板
“”实例“”是根据类创建出来的一个个具体的“对象”
每一个对象都从类中继承有相同的方法,但各自的数据可能不同。
Object表示该类从哪个类继承下来的,Object类是所有类都会继承的类
1.创建类
如需创建类,使用 class 关键字

class MyClass:
  x = 5

在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数。

2.创建对象
现在我们可以使用名为 myClass 的类来创建对象:
创建一个名为 p1 的对象,并打印 x 的值:

p1 = MyClass()
print(p1.x)
  • self用法
    self 参数是对类的当前实例的引用,用于访问属于该类的变量。不必被命名为 self,可以随意调用它,但它必须是类中任意函数的首个参数:
class Person:
  def __init__(my, name, age):
    my.name = name
    my.age = age

  def myfunc(me):
    print("Hello my name is " + me.name)

p1 = Person("xiaowang”", 18)
p1.myfunc()

可以使用 del 关键字删除对象的属性
可以使用 del 关键字删除对象

  • init函数
    每次使用类创建新对象时,都会自动调用 init() 函数。
    所有类都有一个名为 init() 的函数,它始终在启动类时执行。使用 init() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("xiaowang", 18)

print(p1.name)
print(p1.age)
  • 成员函数调用
    成员函数通过类的实例调用,调用前先创建类的对象,定义成员函数不需要装饰器修饰,但是函数的参数需要添加self来指定调用该函数的对象。通过下面的测试代码可以看到,成员函数也可以用类调用,不过需要传入self所对应的对象。

为 Student 类添加 init() 函数:

class Student(Person):
  def __init__(self, fname, lname):
    # 添加属性等

当添加 init() 函数时,子类将不再继承父的 init() 函数。
子的 init() 函数会覆盖对父的 init() 函数的继承。
如需保持父的 init() 函数的继承,请添加对父的 init() 函数的调用:

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

成功添加了 init() 函数,并保留了父类的继承,可以在 init() 函数中添加功能:
比如:通过使用 super() 函数,您不必使用父元素的名称,它将自动从其父元素继承方法和属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要努力吖580

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值