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
相关推荐
XiaoMaqqqq4 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
菜鸟~noob2334 小时前
【电子战】第三季预告—波武器与电子系统强力毁伤
开发语言·数据库·matlab·电子战
ShyanZh4 小时前
【Python3基础】19-Socket 与 TCP、UDP 编程
python·网络协议·tcp/ip·udp
惊讶的猫5 小时前
工具选对之后还不够:商城 Agent 的参数与权限治理
开发语言·python
cmpxr_5 小时前
【MicroPython】如何刷新ESP8266的固件
开发语言·micropython
天赐范式5 小时前
天赐范式第186天:让方差开始自洽——Bulmer效应的闭式验证
python·数字生命·天赐范式·动态运行时·遗传方差·bulmer效应
泡茶喝茶写代码5 小时前
A股量化数据工程:从 REST 接口到策略信号(第 8 篇):成长能力因子:营收与利润增速
java·python·股票数据api·股票数据api接口·股票量化数据api·股票量化数据接口·股票数据api数据
搭贝6 小时前
上厕所的时间搭好一套系统:AI自动生成实测
开发语言·人工智能·低代码·ai·php·搭贝
智感子6 小时前
智能称重·数据上云:从仪表读数到可追溯的计量凭证
开发语言·php
\光辉岁月/6 小时前
7.javase-面向对象
java·开发语言