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
相关推荐
老虎06276 小时前
数据结构09(Java)-- 二分查找模板
java·开发语言·数据结构
蓝天星空6 小时前
C#中for循环和foreach循环的区别
开发语言·c#
傻啦嘿哟6 小时前
如何使用 Python 操作 Excel 图片:插入、提取与压缩
开发语言·python·excel
Dxy12393102166 小时前
Python 如何反向 `enumerate` 遍历枚举
python
weixin_433431446 小时前
Centos Stream9 + Docker 配置 OpenClaw完整流程
java·开发语言
lsx2024066 小时前
Bootstrap4 导航栏详解
开发语言
程序员杰哥6 小时前
软件测试之黑盒测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
cool32006 小时前
Kubernetes集群节点扩容实战-kubeasz
java·开发语言·kubernetes
liulilittle6 小时前
OPENPPP2 CTCP 协议栈 + 内置 TC Hairpin NAT 内核态程序
c语言·开发语言·网络·c++·信息与通信·通信
第一程序员7 小时前
Python深度学习实战:从理论到应用
python·github