Python和C#的两个小区别

Decorator

Decorator在C#里实际上应该算Attribute,所有的Attribute都是类定义,且都继承自System.Attribute。C#的Attribute可以加在类、方法、属性、方法的参数上。在Python中的decorator要简洁不少,但更有意思。只能作用于方法或者函数,一个decorator相当于是一个隐含的包裹函数,它返回被“装饰”的目标方法或函数,文字描述很费劲:

@dec2
@dec1
def func(arg1, arg2, ...):
    pass

相当于:

def func(arg1, arg2, ...):
    pass
func = dec2(dec1(func))

了解更多关于python的decorator >>

import和using

写多了C#会有些不习惯python的import,如果不import一个module,就不可能通过某个“路径”来访问该module下的定义函数或类;而在C#中无论是否使用using来引用一个名称空间,你都可以用名称空间的完整路径来访问所定义的类,using只是起到了简化书写的作用。

暂无评论

评论

暂无评论。

发表评论

*必填

*必填 (不会被公开)