class Person:def __init__(self, name, age):self.name = nameself.age = ageperson = Person("小贵", 25)
print(type(person))
print(type(Person))

 输出

<class '__main__.Person'>
<class 'type'>

 上述代码中,person 是通过 Person 类实例化的对象,其实,不仅 person 是一个对象,Person类本身也是一个对象,因为在Python中一切事物都是对象

 如果按照一切事物都是对象的理论:person对象是通过执行Person类的构造方法创建,那么Person类对象应该也是通过执行某个类的 构造方法 创建。

 所以,person对象是Person类的一个实例Person类对象是 type 类的一个实例,即:Person类对象 是通过type类的构造方法创建。

type是如何创建一个类的呢?

def __init__(self, age):self.age = agedog_class = type("Dog", (), {"role": "dog","__init__": __init__})
print(dog_class.role)dog = dog_class(25)
print(dog.age)

 输出

dog
25

 了解类本身是通过type创建的还是挺重要的,以后我们在代码中就可以动态的生成类了,而不是提前必须先定义好。 以后学到django web框架时,生成动态表单就用到这个知识点。

python基础 -34- 面向对象(动态生成一个类)相关推荐

  1. JAVA基础加强(张孝祥)_类加载器、分析代理类的作用与原理及AOP概念、分析JVM动态生成的类、实现类似Spring的可配置的AOP框架...

    1.类加载器 ·简要介绍什么是类加载器,和类加载器的作用 ·Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader ...

  2. 【Java进阶】有哪些方法可以在运行时动态生成一个Java类?

    在开始今天的学习前,我建议你先复习一下专栏第 6 讲有关动态代理的内容.作为 Java 基础模块中的内容,考虑到不同基础的同学以及一个循序渐进的学习过程,我当时并没有在源码层面介绍动态代理的实现技术, ...

  3. Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程–>错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个人 ...

  4. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  5. python基础之面向对象编程

    python基础之面向对象编程 面向对象编程思想 面向对象是一门编程思想,编程思想仅仅是一门思想,与任何技术无关 核心是对象两字,对象可以理解为特征与技能的结合体 基于该编程思想编写程序,就好比创造世 ...

  6. 5.Python基础之面向对象

    文章目录 Python基础之面向对象 面向对象的三大特性 类和对象的关系 类的组成 类的书写规则 实例化对象 检测类和对象的成员 类和对象成员的操作 类成员操作 对象成员操作 关于self 封装特性 ...

  7. Python基础_07_面向对象1

    python基础7_面向对象1 文章目录 python基础7_面向对象1 一.面向对象:类和对象.魔法方法 1. 面向对象编程概述 1.1[了解]面向过程和面向对象的区别 1.2[知道]类和对象介绍 ...

  8. 9.动态生成实体类,根据XML模板使用Emit生成动态类绑定到DataGrid

    在实际项目中,我们可能会遇到用户自定义XML模板字段,根据这个模板上的字段来显示相应的字段的值到DataGrid.在这种情况下,需要使用 XmlReader解析获取这个用户自定义的XML模板上有哪些字 ...

  9. 通过爬取天猫商品评论实例分析Python爬取ajax动态生成的数据

    本文主要通过爬取天猫商品kindle的评论为例来说明利用python爬取ajax动态生成的数据的方式,本文使用的工具如下: 工具 chrome浏览器[寻找评论的动态链接] python3.5[执行代码 ...

最新文章

  1. java中8种基本类型与运算符
  2. labelImg 使用教程 图像标定工具
  3. 简化软件产品的实际步骤
  4. php日期的怎么判断同一天,php如何判断两个时间戳是一天
  5. linux之mutex(互斥锁)
  6. jMatter:提高开发速度10倍!
  7. Ubuntu 扩展内存或断电之后卡在 /dev/sda1 clean 和 /dev/sda1 recovering journal
  8. C#非泛型集合类-使用HashTable组织数据
  9. 钉钉怎么设置考勤打卡规则
  10. java中查询redis中hash结构的值_阿里面试官:HashMap 熟悉吧?来聊聊 Redis 吧
  11. NEXTCHIP图像品牌ISP和AHD都是有哪些功能?型号有多少型号?
  12. 猫加路由加服务器加交换机怎么配置文件,光猫接交换机和路由器,怎么设置?...
  13. unbalanced calls to begin/end appearance transitions for uiviewcontroller的解决方法
  14. android 带刻度的滑动条_Android实现滚动刻度尺效果
  15. 【Day5.4】高棉风格的柴瓦塔纳兰寺
  16. Appgamekit制作消消乐小游戏(附代码)# 4
  17. Android传感器介绍及指南针的实现
  18. 一个机器人,主要由哪几部分组成?
  19. 只是有一天freeeim
  20. UVa12099书架

热门文章

  1. 微积分:闭区间上 有界、可积、连续、可导 的强弱关系
  2. 包含min函数的栈和两个栈实现一个队列
  3. SQL回炉重造07_函数
  4. SpringBoot普通参数与基本注解(@PathVariable、@RequestHeader、@RequestParam、@RequestBody)
  5. 最全-python教程示例大全 同步学习
  6. 虚拟机 xp 3d加速问题
  7. 家用计算机中PCB板材质,介绍PCB电路板的主要原材料
  8. Springboot母婴店购物系统9j5v8计算机毕业设计-课程设计-期末作业-毕设程序代做
  9. hadoop dremel Caffeine Pregel
  10. rust怎么拆除墙壁指令_腐蚀RUST基本指令及服务器指令大全