Python基础 -- 【面向对象】

87 阅读3分钟

1.什么是面向对象编程(类)

  • 利用(面向)对象的(属性和方法)去进行编码的过程即面向对象编程
  • 自定义对象数据类型就是面向对象中的类(class)的概念。

2.类的关键字:class

  • class关键字用来声明类;
  • 类名的命名规则是按照'驼峰命名法'。

3.定义类

格式:

class 类名(object):
    属性
    def 方法名(self):
        do

说明:

  • object是Python里所有类的最顶级父类
  • 类名的命名规则按照“大驼峰命名法“;
  • 类函数内有个必传参数”self”,表示实例对象本身,当然了可以将self换成其他名字,其作用是一个变量这个变量指向实例对象。

示例:

class Person(object):
    # 属性
    
    #方法
    def eat(self):
        print("我喜欢吃零食!")
        
    def drink(self):
        print("我喜欢喝可乐")

4.类的使用

  • 类的实例化就是把抽象的事物具体为现实世界中的实体;
  • 类的实例化就是通过类得到对象
  • 类只是对象的一种规范,类本身基本上什么都做不了,必须利用类得到对象,这个过程就叫作类的实例化
  • 实例对象时,会在内存中分配一块内存空间,这个空间就是这个对象的位置,然后将这个地址引用返回给对象名。

语法:

对象名 = 类名()

示例:

# 定义一个动物类;动物类中定义一个变量;定义一个跑的方法
class Animal(object):      # 定义一个类
    name = "哈士奇"         # 类属性
    
    def run(self):         # 类方法
        print(f'{self.name} can run')

dog = Animal()    # 类的实例化
print(dog.name)   # 通过实例化进行属性调用
dog.run()         # 通过实例化,进行方法调用


******结果******
哈士奇
哈士奇 can run

说明:

  • 'self.name'为类属性,如果不加‘self',就不会找到类属性;如果想要在类方法中调用类属性就必须加上'self'
  • 'self'参数具备两个功能
    -- 1.可以帮助我们调用'类属性';
    -- 2.将使用self的函数调用到类中,如果我们有另一个函数,可以在另一个函数中通过'self'来调用run方法。

5.类的参数--self

  • 在类里面,所有实例化方法都需要加self参数,且排在第一个,有且仅有一个;
  • self参数的含义:在类中定义的方法,第一个参数self指向调用该方法的实例对象,在方> 法中通过self.属性这个的形式访问对象的实例属性
  • self是类方法中的必传参数,且必须放在第一个参数位置;
  • self是一个对象,它代表着实例化的变量自身
  • self可以直接通过点(.)来定义一个类变量,如self.name = Neo,如果在函数体内定义变量可以通过self.变量名来进行赋值;
  • self中的变量与含有self参数的函数可以在类中的任何一个函数内随意调用
  • 非函数中定义的变量在定义的时候不需要使用self

如何理解self参数

类比

  • 如果把类比作造房子的图纸
  • 类实例化后的对象是真正可以住的房子
  • 根据