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
相关推荐
极序时代GEO品牌优化8 分钟前
杭州极序时代|面向地域、设备与用户画像的动态GEO
人工智能·python·算法·极序时代geo
mlidongfeng27 分钟前
[AI][C++26] SIMD 编程模型思考
开发语言·c++·人工智能
j7~28 分钟前
【Linux】二十七.线程篇四《Linux多线程编程:线程互斥(互斥量的底层到封装)、线程安全和冲入、死锁》---详解
linux·开发语言·c++·线程安全·死锁·线程互斥·重入
刘名喜38 分钟前
第09篇-协程基础-Kotlin异步编程
开发语言·kotlin·springboot
其实防守也摸鱼43 分钟前
HackBar 工具完全指南:信息探测、漏洞验证与安全测试实战
开发语言·人工智能·学习·安全·网络安全·安全威胁分析·安全性测试
qq_22589174661 小时前
基于Python的外卖订单数据分析可视化系统
python·信息可视化·django
MC皮蛋侠客1 小时前
SQLAlchemy 系列(三):声明式映射与 Schema——让类型、默认值和约束一致
数据库·python
会博通·代码搬运工1 小时前
会博通API对接实战:工程企业文档分布式采集系统的技术实现与Python SDK详解
开发语言·分布式·python·线性代数·矩阵·架构·电子档案合规
空堂与归1 小时前
大模型再火,也得先过 class 这一关
python
Muselit1 小时前
Python 泛型:把 list[User] 讲明白
python·fastapi