属性
>>> class Pyclass :
lesson="python" #lesson:类属性
def __init__(self,name):
print ("this in __init__")
self.name=name #name : 实例属性
-
类属性(静态的)的调用:
>>> Pyclass.lesson 'python'
-
实例属性(动态的)的调用:
>>> p=Pyclass("A") this in __init__ >>> p.name 'A'
例子:
>>> class Foo:
def m(self,x):
return x**2
>>> a=Foo(1) #由于没有定义初始化方法,实例化时不需要传参数
Traceback (most recent call last):
File "<pyshell#100>", line 1, in <module>
a=Foo(1)
TypeError: Foo() takes no arguments
>>> a=Foo() #直接实例化
>>> a.m(2)
4
方法和属性
- 相同
1,都是使用关键词def
2,使用return(init 方法除外) - 不同
1,方法必须写在类之中
2,方法的第一个参数必须是self - 参数self 引用的是实例