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