class Ball:
#def setname(self,name):
def __init__(self,name):
self.name = name
def __kick(self): #__:私有
print('我叫%s,谁踢我'%self.name) >>> tt = Ball()
>>> tt.kick('西瓜')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
tt.kick('西瓜')
TypeError: kick() takes 1 positional argument but 2 were given
>>> tt.setname('nihao')
>>> tt.kick
<bound method Ball.kick of <__main__.Ball object at 0x000002146E286898>>
>>> tt.kick()
我叫nihao,谁踢我 >>> tt = Ball('nihaoya')
>>> tt._Ball__kick
<bound method Ball.__kick of <__main__.Ball object at 0x000001B6B2C36898>>
>>> tt._Ball__kick()
我叫nihaoya,谁踢我
class Father1:
def hello(self):
print('你好,这是在运行父程序') class Chilrd(Father1):
pass import random as r class Fish:
def __init__(self):
self.x = r.randint(0,10)
self.y = r.randint(0,10)
def move(self):
self.x -= 1
print('现在的位置是:',(self.x,self.y))
class Goldfish(Fish):
pass
class Shtingfish(Fish):
pass class Shark(Fish):
def __init__(self): #重写了__init__(self)方法,新的__init__方法里没有初始化鲨鱼的x,y坐标
super().__init__() #super__init__()方法,先调用了Fish.__init__()方法
self.hungry = True
def eat(self):
if self.hungry:
print('好香,在吃会')
self.hungry = False
else:
print('不能吃了')
>>> sharkfish = Shark()
>>> sharkfish.move() ##重写了__init__(self)方法,新的__init__方法里没有初始化鲨鱼的x,y坐标
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
sharkfish.move()
File "C:\Users\tpuser\Desktop\python_20180328\复习第二个.py", line 42, in move
self.x -= 1
AttributeError: 'Shark' object has no attribute 'x'
>>> sharkfish.eat()
好香,在吃会
>>> sharkfish.eat() #super.__init__() :super__init__()方法,先调用了Fish.__init__()方法
>>> sharkfish = Shark()
>>> sharkfish.eat()
好香,在吃会
>>> sharkfish.move()
现在的位置是: (8, 9)
#多重继承
class Base1:
def foo1(self):
print('1')
class Base2:
def foo2(self):
print('2') class Bss(Base1,Base2):
pass >>> bb= Bss()
>>> bb.foo1()
1
>>> bb.foo2()
2 #组合
class Lala:
def __init__(self,x): #self 表示类class本身: Lala
self.num= x
class Eilinge:
def __init__(self,x,):
self.num = x
class Family(Lala,Eilinge):
def __init__(self,x,y):
self.lala= Lala(x)
self.eilinge = Eilinge(y)
def love(self):
#print(type(self.lala.num))
print(self.lala.num+' i love you'+self.eilinge.num)
class BB:
def print1():
print('hhaha')
>>> BB.print1()
hhaha
>>> cc= BB()
>>> cc.print1()
Traceback (most recent call last):
File "<pyshell#69>", line 1, in <module>
cc.print1()
TypeError: print1() takes 0 positional arguments but 1 was given Family.__dict__
mappingproxy({'__module__': '__main__', '__init__': <function Family.__init__ at 0x0000019EF2E528C8>,
'love': <function Family.love at 0x0000019EF2E52950>, '__doc__': None})

最新文章

  1. OC 类别与扩展(匿名类别)
  2. 家有学霸的CEO
  3. 用c++编写一个不能被继承的类(但是可以在类外部定义该类的对象)
  4. bootstrap简章
  5. 合作开发,导入MyEclipse项目报错问题
  6. 设置Linux可以查看历史命令的执行时间
  7. winform在鼠标操作时要判断是否按下Ctrl键
  8. cp 命令详解
  9. SpringMVC中利用@CrossOrigin注解解决ajax跨域请求的问题
  10. 操作docker容器
  11. Mad libs
  12. Django相关面试题
  13. Java 大数值类型执行精确计算
  14. 学习DDD之路--勇于纠正自己的错误
  15. hadoop 集群中数据块的副本存放策略
  16. maven使用fingbugs插件
  17. PHP7新特性 What will be in PHP 7/PHPNG
  18. 自己定义带三角形箭头的TextView
  19. tp5.1报错 页面错误!请稍后再试
  20. ambassador 学习八 流量拷贝说明

热门文章

  1. HBuilder更换部分
  2. fetch技术
  3. 基于HTTP协议之WEB消息实时推送技术原理及实现
  4. CSS3的Animation
  5. orientationchange事件
  6. AngularJS表单验证开发案例
  7. C++ Knowledge series Inheritance &amp; RTTI &amp; Exception Handling
  8. [c/c++]判断一个字符串是不是UTF-8字符串
  9. union和struct的区别之处,在于内存的共享上
  10. Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等