python笔记 面向对象基础中

52 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第21天,点击查看活动详情

0 环境

  • 编辑器:pycharm或者vscode
  • 系统版本:windows10
  • python版本:3.9.6

1 定义类

之前说类怎么有特点,怎么迷人,唯有见过,方知好不好,如下代码。

定义了一个类,类名叫Phone,在类里面定义了__init__,还可以传入一些入参,它是用来初始化的。怎么调用该类呢,main下面的Phone(xxx),phone.xxx这种是不是挺方便的。而且我要替换该状态的话,直接phone.status = "close",再次打印phone.status,结果如下第二张图。

class Phone:
    def __init__(self, status, brand):
        self.status = status
        self.brand = brand


if __name__ == '__main__':
    phone = Phone("open", "apple")
    print(phone.status)
    print(phone.brand)

image.png

image.png

对照上面这个案例,首先类的定义,如下:

  • 使用class关键字来定义一个类,并在它的后面取个自己心仪的类名。
  • 在该类名的后面,在加个分好,换行(记得这里假如换行和 class关键字并列了,请按一下Tab键或者手敲空格)下面就是语句块。
class 类名:
    语句块

现在类是定义好了,类里面还有函数,这里的函数是什么类型的函数呢,__init__它的入参self,可以访问对象属性,这块常用到,现在忽略,之后在细说,先忽略self,只要知道我将入参里的值,赋值给self相对应的对象属性即可。让我们再来看看,类名(xx)它赋值的变量,打印出来会返回什么,如下代码和图:

我定义了Demo类和demo1函数,当我们引用了它两后,并打印它们,是不是和函数调用很像。

class Demo:
    pass

def demo1():
    pass

if __name__ == '__main__':
    demo = Demo()
    print(demo)
    print(demo1)

image.png

2 总结

了解了类定义的基本格式,以及编写时,注意类和语句块的空格的问题等,并且写了一个类案例,还有就是类的调用和函数调用有点类似。