Python入门基础(9)__面向对象编程_1

时间:2022-12-20 14:58:31
  • 定义一个只包含方法的类

  class 类名:

    def 方1(self,参数列表):

      pass

    def 方法2(self,参数列表):

      pass

  当一个类定义之后,要使用这个类来创键对象.语法如下:

     对象变量 = 类名()

eg:

class Car():
    def one(self):
        print('这是一辆法拉利')

    def two(self):
        print('这是一辆特斯拉')

a = Car()
a.one()
a.two()

结果:

这是一辆法拉利
这是一辆特斯拉

  在这同样使用上面的方法来演示给对象添加属性之后是什么样的效果

class Car():
    def one(self):
        print(f'这是一辆法拉利  {self.name}')

    def two(self):
        print('这是一辆特斯拉')

a = Car()
a.name = '张三' #给对象添加属性
a.one()
a.two()

结果:

这是一辆法拉利  张三
这是一辆特斯拉

提示:

  1.不推荐在类的外部给对象添加属性

  2.在运行时,如果程序没有找到属性就会报错

  3.对象拥有哪些属性,应当包含在类的内部

  • 初始化方法

  1.当使用  类名() 创键对象时,会自动执行以下操作

      (1) 为对象在内存中分配空间----创键对象(调用__new__)

      (2) 为对象的属性设置初始值----初始化方法(调用__init__并且将对一步创建的对象通过self参数传给__init__)

   2.初始化方法就是__init__方法,__init__是对象的内置方法

 

  __init__方法是用来专门定义一个类具有哪些属性并且给出这些属性的初始值的方法

class Car():
    def __init__(self):
        print('这是一个怪物类')
        self.name = 'tom'

    def eat(self):
        print('%s 爱吃鱼'%self.name)

#使用类名实例化的时候会自动调用初始化方法__init__
a = Car()
a.eat()

结果

这是一个怪物类
tom 爱吃鱼

  如果希望在创建对象时,就设置对象的属性,可以进行相应的改造

  1.把希望定义的属性值,设置为__init__方法的参数

  2.在方法的内部使用self.属性 = 形参 接收外部传递的参数

  3.在创建对象时,使用name(属性1,属性2.....)调用

 

class Car():
    def __init__(self,name):
        self.name = name

    def eat(self):
        print('%s 爱吃鱼'%self.name)

#创建对象,将参数传进去
a = Car('汤姆')
a.eat()

结果;

汤姆 爱吃鱼