gpt4 book ai didi

python - python 有内置的类型值吗?

转载 作者:太空狗 更新时间:2023-10-30 01:49:04 24 4
gpt4 key购买 nike

不是错字。我的意思是类型值。值 who 的类型是 'type'。

我想写一个条件来问:

if type(f) is a function : do_something()

我是否需要创建一个临时函数并执行以下操作:

if type(f) == type(any_function_name_here) : do_something()

还是我可以使用的一组内置类型?像这样:

if type(f) == functionT : do_something()

最佳答案

对于你通常会检查的函数

>>> callable(lambda: 0)
True

尊重鸭子打字。但是有 types 模块:

>>> import types
>>> dir(types)
['BooleanType', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'ClassType', 'CodeType', 'ComplexType', 'DictProxyType', 'DictType', 'DictionaryType', 'EllipsisType', 'FileType', 'FloatType', 'FrameType', 'FunctionType', 'GeneratorType', 'GetSetDescriptorType', 'InstanceType', 'IntType', 'LambdaType', 'ListType', 'LongType', 'MemberDescriptorType', 'MethodType', 'ModuleType', 'NoneType', 'NotImplementedType', 'ObjectType', 'SliceType', 'StringType', 'StringTypes', 'TracebackType', 'TupleType', 'TypeType', 'UnboundMethodType', 'UnicodeType', 'XRangeType', '__builtins__', '__doc__', '__file__', '__name__', '__package__']

但是你不应该检查 type 是否相等,而是使用 isinstance

>>> isinstance(lambda: 0, types.LambdaType)
True

关于python - python 有内置的类型值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16977490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com