|
发表于 2005-4-27 10:30:03
|
显示全部楼层
Post by liweioop
什么是"单独方法"
如果
- class myclass:
- def hellow():
- print 'Hellow'
- #此处是创建了一个实例,其实用new运算更好,因为有删除一个对像用的是del
- obj=myclass()
- obj.hellow() #此处会出错
- myclass.hellow() #同样出错,提示没有这个attribute
复制代码
上面的类的定义中,定义了一个方法hellow(),那么这个方法好像是个死的一样,
永远也无法调用到hellow()这个方法.
而语法是,却不会有任何提示说,hellow这个方法无法执行.这是为什么? 请指点
这些都已经说明了啊:
假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。
单独方法就是不存在于类(或对象)中的方法。
ps: java中没有单独方法, static方法倒是有点类似。这样做非常严谨。就跟断言一样,很大程度上断言是不需要的,但是确实可以靠它发现一些很幼稚的bug。 |
|