python 面向对象调用问题

#-*-coding:cp936-*-#python27#xiaodeng#[面向对象]运算符重载classMylist():__mylist=[]def__init__... # -*- coding: cp936 -*-
#python 27
#xiaodeng
#[面向对象]运算符重载
class Mylist():
__mylist=[]
def __init__(self,*args):#重载__init__方法
self.__mylist=[]
for arg in args:
self.__mylist.append(arg)
print self.__mylist

def __add__(self,n):
for i in range(0,len(self.__mylist)):
self.__mylist[i]=self.__mylist[i]+n
return self.__mylist

def __sub__(self,n):#重载减法运算
for i in range(0,len(self.__mylist)):
self.__mylist[i]=self.__mylist[i]-n

def __mul__(self,n):#重载乘法运算
for i in range(0,len(self.__mylist)):
self.__mylist[i]=self.__mylist[i]*n

def __div__(self,n):#重载除法运算
for i in range(0,len(self.__mylist)):
self.__mylist[i]=self.__mylist[i]/n
def __len__(self):
return len(self.__mylist)
def show(self):
print self.__mylist

请问大神们,这个class该怎么调用__sub__等办法,能麻烦帮忙举例子吗?
展开
 我来答
山水阿锐
推荐于2016-08-03 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.3亿
展开全部
您好,第二种相当于是局部变量,除了init函数外,其他的地方都不能访问
第三种相当于是类的属性,每个具体的对象有不同的值,在其他类中如果生成了对象b,如b=a(),使用b.aa可以访问到。
第一种是定义了类的变量,所有的对象共享该变量,在其他类中使用a.aa可以访问到,注意这里a是类的名字,也可以通过每个对象访问到,如b=a() c=a() ,则b.aa与c.aa及a.aa都是访问的一个东西,值是一样的。
我心我在
2015-04-18 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:630万
展开全部
a=Mylist()

print a.show()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式