首页 > 编程语言 >python面向对象-学习笔记(四、类相关的补充)

python面向对象-学习笔记(四、类相关的补充)

时间:2023-10-29 15:44:40浏览次数:47  
标签:__ 元类 run python 笔记 pydoc 面向对象 metaclass

元类

  • 创建类对象的类
  • 对象怎么产生的?由类创建出来的。
  • 类是不是对象?是
  • 所以类对象是不是由另外一个类创建出来的?是,元类
创建类对象的另外一种方式
# 创建类对象的另外一种方式
def run(self):
    print("run ", self)


dog = type("Dog", (), {"count": 1, "run": run})
print(dog)

# 类实例化
d = dog()
print(d.count)
print(d.run())

image

元类的检索机制
# 往上找(元类检索机制)
# 1.检测类中是否有明确的__metaclass__属性
# 2.检测父类中是否有明确的__metaclass__属性
# 3.检测模块中是否有明确的__metaclass__属性
# 4.通过内置的type这个元类来创建类对象

__metaclass__ = xxx


class Person(metaclass=xxx):
    __metaclass__ = xxx
    pass

类的描述

类的描述
class Person:
    """
    关于这个类的描述,类的作用,类的构造函数等等;类属性的描述
    Attributes:
        count: int 代表是人的个数
    """
    # 这个表示,是人的个数
    count = 1

    def run(self, distance, step):
        """
        这个方法的作用效果
        :param distance: 参数的含义 ,参数的类型,是否有默认值
        :param step:
        :return: 返回的结果的含义(时间),返回数据的类型
        """
        print("人在跑")


help(Person)

image

pydoc的使用

  • python -m pydoc 类的描述(模块名)
    image

  • python -m pydoc -p 1234
    image
    image
    image

  • python -m pydoc -b
    跟上面命令的作用一致,端口不需要指定,自动查找可用的端口

  • python -m pydoc -w classDesc(模块名)
    将模块的描述写入到html中

当然我们也可以使用第三方模块Sphinx、epydoc、doxygen


学习链接: 【Python】零基础入门 面向对象编程(强烈推荐)

标签:__,元类,run,python,笔记,pydoc,面向对象,metaclass
From: https://www.cnblogs.com/amanzhj/p/17795935.html

相关文章

  • python面向对象-学习笔记(五、属性相关的补充)
    私有化属性注意python并没有真正支持私有化,但是可以使用下划线完成伪私有的效果类属性(方法)和实例属性(方法)遵循相同的规则公有属性a在类的内部可以访问在子类的内部可以访问在模块其他地方类的属性可以访问子类的属性可以访问类的实例的属性可以访问子类的......
  • python面向对象-学习笔记(二、类&对象的属性)
    如何定义一个类?创建类的格式class类名: pass怎么通过类,创建出一个对象?创建类,并实例化对象classMoney:passone=Money()#打印类print(Money)#打印类的实例print(one)类的别名和打印类的名称classMoney:pass#打印类的名称print(Money.__na......
  • 学习笔记7
    苏格拉底挑战第四章并发编程一、知识点归纳(一)线程1.线程的原理2.线程的优点(1)线程创建和切换速度更快(2)线程的响应速度更快(3)线程更适合并行计算3.线程的缺点(1)由于地址空间共享,线程需要来自用户的明确同步。(2)许多库函数可能对线程不安全。(3)在单CPU系统......
  • Python 实现 xls 文件转 xlsx 的若干方法
    在Python中,可以采用pandas、pyexcel、win32com和xls2xlsx这四个模块,实现xls转xlsx格式。以Excel示例文件test_Excel.xls为例,具体内容如下图所示:  pandas 安装命令pipinstallpandas-ihttps://mirrors.aliyun.com/pypi/simple具体使用方法importpa......
  • 《Attention Is All You Need》阅读笔记
    论文标题《AttentionIsAllYouNeed》XXXIsAllYouNeed已经成一个梗了,现在出现了很多叫XXXIsAllYouNeed的文章,简直标题党啊,也不写方法,也不写结果,有点理解老师扣论文题目了。作者这个作者栏太夸张了。八个作者全部标星,均等贡献。甚至专门写了一段介绍每个人的工......
  • 学习笔记7
    第四章总结并行计算导论要求解某个问题,先要设计一种算法,描述如何一步步地解决问题,然后用计算机程序以串行指令流的形式实现该算法。在只有一个CPU的情况下,每次只能按顺序执行某算法的一个指令和步骤。但是,基于分治原则(如二又树查找和快速排序等)的算法经常表现出高度的并行性,......
  • Unity学习笔记--入门
    Unity引擎学习入门:Unity中的坐标系:左手坐标系(z轴正方向向里面)x轴:平行屏幕向右正方向y轴:平行屏幕向上正方向Z轴:垂直屏幕向内为正方向【补】openGL是右手坐标系DirectX是左手坐标系窗口:窗口布局Layout:Scene这里我们可以看见所有的场景内容。窗口上的工具栏:有关......
  • 《信息安全系统设计与实现》第八周学习笔记
    《信息安全系统设计与实现》第八周学习笔记第四章并发编程并行计算尝试使用多个执行并行算法的处理器更快速的解决问题顺序算法与并行算法顺序算法:所有步骤通过单个任务依次执行,每次执行一个步骤,当所有步骤执行完成时,算法结束。并行算法:cobegin-coend代码块来指定独立......
  • Python 模块:创建、导入和使用
    什么是模块?将模块视为代码库。模块是一个包含一组函数的文件,您想要在应用程序中包含这些函数。创建一个模块要创建一个模块,只需将要包含在其中的代码保存在扩展名为.py的文件中:示例:将以下代码保存在名为mymodule.py的文件中:defgreeting(name):print("Hello,"+name)......
  • win10 openocd通过vscode远程调试stm32的uboot--Apple的学习笔记
    一,前言我在uboot支持的cortex-M4内核启动流程分析--Apple的学习笔记中就说过了,我计划要单步调试uboot,但是我只有stlink,所以要基于openocd的gdb来调试,所以就做了尝试,花费约2天时间,虽然做了些无用功,专门还装了ubuntu18.04,且基于ubuntu还安装了openocd这些其实都无用的,但是就是这些过......