python 类的实例
import sysclass A:
def number(self,cnt):
if 1<= cnt and cnt <= 500:
num = list(map(int,input("这%d个数字是,用空格隔开:" % cnt).split(" ")))
repeat = #是否有重复
if len(num) != cnt:
print("输入的数字和有多少个不一样")
sys.exit(0)
elif len(repeat) > 0:
print("有重复的数字")
sys.exit(0)
return cnt
else:
print("请输入1~500的数量")
sys.exit(0)
def contrary(self):
for each in number.num:
print(each)
请问contrary 函数怎么调用number函数的num变量 除非返回num,不然你就在外面初始化一个 qiuyouzhi 发表于 2020-3-23 11:20
除非返回num,不然你就在外面初始化一个
请问,具体是哪边需要添加一行代码呢 BIO-张磊 发表于 2020-3-23 11:22
请问,具体是哪边需要添加一行代码呢
你是只要方法调用还是实例化调用? qiuyouzhi 发表于 2020-3-23 11:27
你是只要方法调用还是实例化调用?
实例化调用 只能在类定义下设置一个def __init__(self),把属性放在里面,在方法下面设置属性就会难以调用,因为你在contrary方法中又需要用到一些变量,所以整个代码都要动一下。 BIO-张磊 发表于 2020-3-23 11:31
实例化调用
那就写个__init__ import sys
class A:
def __init__(self,cnt):
self.cnt = cnt
self.number()
def number(self):
if 1<= self.cnt and self.cnt <= 500:
self.num = list(map(int,input("这%d个数字是,用空格隔开:" % self.cnt).split(" ")))#如果只是map那只是输出了对象地址
repeat = #是否有重复,生成一个表格
if len(self.num) != self.cnt:
print("输入的数字和有多少个不一样")
sys.exit(0)
elif len(repeat) > 0:
print("有重复的数字")
sys.exit(0)
else:
print("请输入1~500的数量")
sys.exit(0)
def contrary(self):
for each in self.num:
print(each)
class B:
def number(self,cnt):
if 1<= cnt and cnt <= 500:
global num
num = list(map(int,input("这%d个数字是,用空格隔开:" % cnt).split(" ")))#如果只是map那只是输出了对象地址
repeat = #是否有重复,生成一个表格
if len(num) != cnt:
print("输入的数字和有多少个不一样")
sys.exit(0)
elif len(repeat) > 0:
print("有重复的数字")
sys.exit(0)
else:
print("请输入1~500的数量")
sys.exit(0)
def contrary(self):
for each in num:
print(each)
A和B均可 BIO-张磊 发表于 2020-3-23 12:06
import sys
class A:
A(3).contrary
B().number(3) 然后B().contrary()
页:
[1]