Python type函数详解

在 Python 中,type() 是一个内置函数,有两种主要用途:

  1. 返回对象的类型 (最常用)
  2. 动态创建新的类 (元类用法)

1. 获取对象类型

当你向 type() 传递一个参数时,它会返回该参数的数据类型(即对象所属的类)。

语法

python

复制代码
type(object)

示例

python

复制代码
print(type(123))          # <class 'int'>
复制代码
print(type(3.14))         # <class 'float'>
复制代码
print(type("hello"))      # <class 'str'>
复制代码
print(type([1, 2, 3]))    # <class 'list'>
复制代码
print(type((1, 2)))       # <class 'tuple'>
复制代码
print(type({'a': 1}))     # <class 'dict'>
复制代码
print(type(True))         # <class 'bool'>
复制代码
print(type(None))         # <class 'NoneType'>
复制代码
复制代码
# 自定义类的对象
复制代码
class MyClass:
复制代码
    pass
复制代码
复制代码
obj = MyClass()
复制代码
print(type(obj))          # <class '__main__.MyClass'>

2. 动态创建类(元类用法)

当 type() 被传入三个参数时,它会动态地创建一个新的类。这相当于使用 class 语句,但允许在运行时生成类。

语法

python

复制代码
type(name, bases, dict)
  • name:新类的名称(字符串)。
  • bases:一个元组,包含新类继承的基类。
  • dict:一个字典,包含新类的属性和方法(名称映射到实现)。

示例

python

复制代码
# 定义一个类,等价于:
复制代码
# class MyClass:
复制代码
#     x = 5
复制代码
#     def show(self):
复制代码
#         print(self.x)
复制代码
MyClass = type('MyClass', (), {'x': 5, 'show': lambda self: print(self.x)})
复制代码
复制代码
obj = MyClass()
复制代码
print(obj.x)       # 5
复制代码
obj.show()         # 5
相关推荐
2301_803875612 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623922 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
2401_873479402 小时前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
我爱cope3 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
2501_914245933 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
菜鸟学Python3 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
<-->3 小时前
Megatron(全称 Megatron-LM,由 NVIDIA 开发)和 DeepSpeed(由 Microsoft 开发)
人工智能·pytorch·python·深度学习·transformer
测试19984 小时前
2026最新软件测试面试八股文【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
浪浪小洋4 小时前
c++ qt课设定制
开发语言·c++
charlie1145141914 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构