python内置函数 T

python内置函数 T

Python 解释器内置了很多函数和类型,任何时候都能使用。

T

名称描述
tuple创建一个元组。
type返回对象的类型。
tuple

class tuple

class tuple(iterable)

虽然被称为函数,但 tuple 实际上是一个不可变的序列类型,参见在 元组序列类型 — list, tuple, range 中的文档说明。

# 创建一个空的元组  
empty_tuple = tuple()  
print(empty_tuple)  # 输出: ()  
  
# 创建一个包含一个元素的元组(注意,单个元素后面必须有一个逗号)  
singleton_tuple = (42,)  
print(singleton_tuple)  # 输出: (42,)  
  
# 创建一个包含多个元素的元组  
multi_element_tuple = tuple([1, 2, 3, 4, 5])  
print(multi_element_tuple)  # 输出: (1, 2, 3, 4, 5)  
  
# 从其他可迭代对象创建元组  
iterable = [6, 7, 8]  
tuple_from_iterable = tuple(iterable)  
print(tuple_from_iterable)  # 输出: (6, 7, 8)  
  
# 从字符串创建元组(字符串将被拆分为单个字符)  
str_tuple = tuple("hello")  
print(str_tuple)  # 输出: ('h', 'e', 'l', 'l', 'o')

当你尝试将一个单独的元素转换为元组时,你必须在该元素后面加上一个逗号,否则Python会将其视为该元素的普通表示,而不是一个元组。

元组常用于存储一系列不需要更改的值,例如函数的返回值、数据库查询的结果或用作字典的键(因为字典的键必须是不可变的)。由于元组是不可变的,它们在某些情况下比列表更安全、更高效。

type(object)

class type(object)

class type(name, bases, dict, **kwds)

type() 是一个内置函数,用于返回对象的类型。当你对一个对象使用 type() 函数时,它会返回一个表示该对象类型的类型对象。

传入一个参数时,返回 object 的类型。 返回值是一个 type 对象,通常与 object.__class__ 所返回的对象相同。

推荐使用 isinstance() 内置函数来检测对象的类型,因为它会考虑子类的情况。

传入三个参数时,返回一个新的 type 对象。 这在本质上是 class 语句的一种动态形式,name 字符串即类名并会成为 __name__ 属性;bases 元组包含基类并会成为 __bases__ 属性;如果为空则会添加所有类的终极基类 objectdict 字典包含类主体的属性和方法定义;它在成为 __dict__ 属性之前可能会被拷贝或包装。 下面两条语句会创建相同的 type 对象:

>>> class X:
...     a = 1
...
>>> X = type('X', (), dict(a=1))

另请参阅 类型对象

提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当于类定义中关键字 (除了 metaclass) 的行为方式。

另请参阅 自定义类创建

在 3.6 版本发生变更: type 的子类如果未重写 type.__new__,将不再能使用一个参数的形式来获取对象的类型。

# 获取整数类型的类型对象
int_type = type(123)
print(int_type)  # 输出: <class 'int'>

# 获取字符串类型的类型对象
str_type = type("hello")
print(str_type)  # 输出: <class 'str'>

# 获取列表类型的类型对象
list_type = type([])
print(list_type)  # 输出: <class 'list'>

# 获取元组类型的类型对象
tuple_type = type(())
print(tuple_type)  # 输出: <class 'tuple'>

# 获取自定义类的类型对象
class MyClass:
    pass

my_class_type = type(MyClass())
print(my_class_type)  # 输出: <class '__main__.MyClass'>
print(type(MyClass))  # 输出: <class 'type'>

除了直接对对象使用 type() 函数外,还可以在定义类时使用 type() 动态地创建类。这在元编程和高级Python编程中很有用。

# 使用type()动态创建一个类  
DynamicClass = type('DynamicClass', (object,), {'attribute': 'value'})  
instance = DynamicClass()  
print(instance.attribute)  # 输出: value

在这个例子中,type() 函数接收三个参数来创建类:类名(一个字符串)、基类元组(一个包含所有父类的元组)和一个包含属性和方法定义的字典。

type() 函数也常用于检查对象的类型,经常与 isinstance() 函数一起使用。虽然它们都可以用来检查类型,但 isinstance() 更常用于检查对象是否是一个类的实例或者是否继承自某个类,因为它会考虑继承关系。而 type() 只会检查对象是否严格等于给定的类型。

参考:内置函数 — Python 3.12.2 文档

  • 26
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棠越

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值