python函数分为哪几类_类型模块中的哪种类型描述类?什么类型的函数?

python3.5中新的typing模块提供了许多用于类型注释的工具。它是否提供了一个封装类概念的对象或类型?关于函数的想法怎么样?在

在下面定义修饰符的代码中,class_应该代表什么?function应该代表什么?(typing.Callable是不够的,因为例如一个类是可调用的,但是代码正在尝试标识方法。)(no_type_check()装饰器本身可能是这样的装饰器的原型。no_type_check()本身没有任何注释、类型提示或其他内容。)import typing

def is_double_underscore_name (name):

return len(name) > 4 and name.startswith('__') and name.endswith('__')

# This code will not run, because 'class_' and 'function' are names that do not have any

# predefined meaning. See the text of the question.

# Note: This modifies classes in-place but (probably) does not modify functions in-place;

# this is not a considered design decision; it is just the easiest thing to do in a very

# basic example like this.

def do_something (class_or_function: typing.Union[class_, function]):

if isinstance(class_or_function, class_):

for name in class_or_function.__dict__:

if not is_double_underscore_name(name):

object = class_or_function.__dict__[name]

if isinstance(object, function):

class_or_function.__dict__[name] = do_something(object)

return class_or_function

else:

... # return the function, modified in some way

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值