本文详细介绍了Python中的类和对象,包括self的概念、类的创建与实例化、继承、属性修改以及模块导入。讲解了类命名约定,如首字母大写的类名,以及如何通过方法或直接修改属性值。此外,还探讨了类的调用和编码风格,强调了模拟实物以提高代码可读性和效率。最后,讨论了导入类的不同方式及其优缺点,以及类的编码规范,如文档字符串、命名和空行使用等。
摘要由CSDN通过智能技术生成

1:类的介绍

1.1:self介绍

  • 指向实例本身,当创建实例时,自动调用
  • 变量以self为前缀得变量,可供类中的所有方法调用,还可以使用类中的任何实例来访问这些变量

1.2:python中的类

  • 可将类视为有关如何创建实例的说明

1.3:在python中的命名约定

  • 通常首字母大写的为类,而首字母小写的为实例
    ##1.4self的使用
  • Dog.name = self.name
    在运行my_dog.sit()时,python在Dog类中查找sit方法,并运行其代码块

1.5:实例的创建

  • 可以按照需求创建任意的实例,条件是及将每一个实例都存储在不同的位置中,或占用列表或字典的不同位置

1.6:修改类中属性的值

  • 1
    直接通过修改属性的值
  • 2
    通过方法修改属性的值
  • 3
    通过方法递增,增加特定的值

2:类的继承

  • 子类会继承父类的所有方法和属性

2.1:super()方法介绍

  • super()方法:将子类和父类关联起来,也就是说使用super()方法会获得父类的同名方法

2.2:父类和子类的区别

  • 1:父类有的属性和方法子类全都有
  • 2:子类只含有子类自身特有的属性和方法

2.3:父类方法的重写

  • 1:对于父类的方法,子类不适合
  • 2:子类的方法和父类方法重名,python只会关注子类的方法,不会关注父类的方法
  • 3:对于继承,子类可以继承父类的精华,并剔除不需要的糟粕

3:将实例用作属性

  • 用途:
    当属性和方法清单以及文件都越来越长,可以将类的一部分作为一个独立的类提取出来,这样就可以将一个大型的类拆分成为多个共同协作的小类

4:模拟实物

  • 1:使自己的代码更接近实际
  • 2:让代码更加高效

5:导入类

  • 作用:将类进行有效的分开,分别存入到模块中

5.1:导入单个类

  • 再一个模块中只创建一个类

5.2:在一个模块中存储多个类

  • 虽然在一个模块中的类之间,应存在某种相关性,但是可以根据需要在一个模块中存储任意多个类,可以将大部分逻辑存储在模块中

5.3:在一个模块中导入多个类

  • 语法:
    from py_name import class1_name, class2_name
  • 注意:
    1:每个类名之间分别运用逗号分割
    2:导入必要的类之后,可以在程序中创建任意数量的实例

5.4:导入整个模块

  • 语法:
    imprt py_name
  • 访问模块中的类
    使用py_name.class_name来访问类

5.4.1:好处

  • 1:导入方法简单也易于阅读
  • 2:由于创建类实例的代码都包含实例名,因此不会与当前文件使用的任何名称发生冲突

5.5:导入模块中的所有类

  • 不推荐使用:
    1:不知道导入模块中的哪一个类
    2:会和程序中的类名发生冲突
  • 语法:
    from py_name import *
  • 使用的原因
    1:会在别人的代码中看见
    2:需要在一个模块中导入很多的类的时候,最好导入整个模块,并使用py_name.class_name语法来访问,但是可以清楚的知道早主程序中的那些地方导入了模块,虽然文件开头并没有列出所有的类,还避免了导入模块中的每个类可能引发的名称冲突

6:类的调用

  • 语法:
    from py_name import class_name
  • 实现:
    其中import语句让python打开py_name文件,并导入其中的class_name类,这样就可以再现在的代码中使用class_name类了,就如同它在这个文件中定义的一样
  • 好处:
    通过将类移到一个模块中,并导入该模块。你依然可以使用其所有功能,但主程序文件变得简洁而易于阅读,这还将让你将大部分逻辑存储在独立的文件中

7:类编码风格

7.1:起名

  • 1:类名的使用双驼峰起名
  • 2:实例名和方法名用下划线起名

7.2:文档字符串

  • 对于每一个类,后面都应该紧跟一个文档字符串,用来描述类的用法
  • 对于每一个模块,也应该有一个文档字符串

7.3:代码间的空行

  • 在类里面用一个空行来分割方法
  • 在模块里面用两个空行来分割类

7.4:导库操作

  • 在导入库的时候,先导入标准库,再导入自定义的库,这样有助于观看代码的人的同一认识导库标准
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值