基本的类创建,self大致等于this,必须self.i,直接用i报错
#基本的类创建,self大致等于this,必须self.i,直接用i报错
class myclass:
i=123456#成员变量
def f(self):
print(self.i)
x=myclass()
x.f()
构造方法 注意__init是两个下划线,不然报错 takes no arguments
构造函数中写了a,b相当于声明了成员变量
#构造方法 注意__init是两个下划线,不然报错 takes no arguments
class myclass1:
def __init__(self,a):
self.i=a
def f(self):
print(self.i)
y=myclass1(3.5)
y.f()
self
self代表实例而非类,self.__class__代表类
方法
在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例
属性
#定义基本属性
name = ''
age = 0
#定义私有属性,私有属性在类外部无法直接进行访问
__weight = 0
运算符重载
注意:
def__str__类似于 重写tostring,两种写法 %和强制转换
构造函数中写了a,b相当于声明了成员变量
add函数里面 other就是一个实例,直接用不用 vect other
#运算符重载
class vect:
def __init__(self,a,b):
self.a=a
self.b=b
def __str__(self):
# return 'Vector (%f, %f)' % (self.a, self.b)
return "vector("+str(self.a)+","+str(self.b)+")"
def __add__(self,other):
return vect(self.a+other.a,self.b+other.b)
x=vect(1,2)
y=vect(1.5,2.2)
print(x+y)