0: 不用重新定义 或者使代码不至于太长。
1:报错
2:不会 但是会屏蔽
3:重新定义下pass 这样会屏蔽
4:木知 很强反正
5:不知道啊 你想实现什么样的呢
6:同上 不想重复嘛 用super()
7:
import math import random print(math.sqrt(25)) class point(): def __init__(self): self.x = random.randint(-100,100) self.y = random.randint(-100,100) class line(): def __init__(self): self.point1 = point() self.point2 = point() def getlen(self): length = math.sqrt(abs(self.point1.x-self.point2.x)^2+abs(self.point1.y-self.point2.y)^2) return length line1 = line() print(line1.getlen())
8:
39讲:::
0:组合就是在一个类里实例化另一个类。
1:当你需要另一个类的方法时一般用继承把 还不想产生实例
2:实例化时。
3:不知道啊 方法调用要加括号吧 尽量不要让两个相同 属性会覆盖方法。
4:num count是类 x ,y 是实例?
5:没有self 找不到家了
6:
class a(): count = 0 def __init__(self): a.count += 1 def getcount(self): return self.count def __del__(self): a.count -=1 a1 = a() print(a1.getcount()) a2 = a() print(a2.getcount()) a3 = a() print(a.count) del a3 print(a.count)
7:
class stack(): def __init__(self): self.data = [] def isEmpty(self): if len(self.data) == 0: return True else: return False def push(self,x): self.data.append(x) def pop(self): if(self.isEmpty()): print("抱歉 栈空") else: rel = self.data[len(self.data)-1] del self.data[len(self.data)-1] return rel def top(self): if(self.isEmpty()): print("抱歉 栈空") else: print(self.data[len(self.data)-1]) def bottom(self): if(self.isEmpty()): print("抱歉 栈空") else: print(self.data[0]) stack1 = stack() print(stack1.isEmpty()) stack1.push(123) print(stack1.isEmpty()) print(stack1.top()) print(stack1.bottom()) stack1.pop() print(stack1.isEmpty())
40: ;:::::::::::::::::
0: 有函数吧 issubcalss(a,b)
1:isinstance(a,b)
2:?
3:制造接口
4: x = property(getXSize,setXSize,delXSize)
5: 这修饰符完全没看懂 我直接看答案了
class CodeA: def foo(): print("调用静态方法 foo()") # 将 foo() 方法设置为静态方法 foo = staticmethod(foo)
class CodeB: def foo(cls): print("调用类方法 foo()") # 将 foo() 方法设置为类方法 foo = classmethod(foo)
改为:
class CodeA: @staticmethod def foo(): print("调用静态方法 foo()")
class CodeB: @classmethod def foo(cls): print("调用类方法 foo()")
6:
看了这题才懂了很多
@something def f(): print("I love FishC.com!") # 相当于 def f(): print("I love FishC.com!") f = something(f)
7:
41讲:
0: 双下划线把
1:__INIT__ 错了是 new
2:需要对传入参数修改,调用时
3:不对 init只会返回空对象
4: 初始化时需要有返回实例对象时。
5:没有变量去引用类时
6:
class file: def __init__(self,filename='test.txt'): self.newfile = open(filename,'r+') def __del__(self): self.newfile.close() del self.newfile
7:
class C2F: def __new__(cls,C): return C*1.8+32 print(C2F(32))
8:
class Nint(int): def __new__(cls, arg=0): if isinstance(arg,str): total = 0 for each in arg: total += ord(each) return int.__new__(cls,total) print(Nint('fish'))