1.
class A:
def __init__(self, a, b):
self.a = a
self.b = b
print(a, b) class B(A):
def __init__(self, aa, bb): 此处最好写成 a,b因为self.a=a 父类是如此,子类亦应如此,不容易混淆
a.__init__(self, aa, bb) #如此调用等价于 super(B,self).__init__(aa,bb)
print('wosinibaba')
print(self.a)
print(self.b) aaa = b('', '') 2.
class person:
def __init__ (self, name, age):
self.name = name
self.age = age
class friend:
def __init__(self, sex):
self.sex = sex
def ff(self):
print('i is your friend')
class man(person, friend):
def __init__(self, name, age, sex):
person.__init__(self, name, age)
friend.__init__(self, sex) m = man('zhangsan', 20, 'boy')
m.ff()
print(m.sex) 多继承如果参数不一样只能分开调用,如果参数一样可以用super()函数 一个下划线开头表示保护成员 例如_name
两个下划线开头表示私有成员 例如__name 定义类的时候首字母应该大写 3.
class A:
'''erza erza woshi ni baba'''
def __init__(self):
self.name = 'erza'
def __str__(self):
return "<obj:%s>" % self.name
print(A.__doc__) #打印第一行类的注释
print(A.__dict__) #打印所有类变量 实例调用的话是所有实例变量
print(A) #__str__方法改变打印A对象 例如此时打印<class '__main__.A'> 4.
可以把一个类封装成字典 class Dict:
def __init__(self):
self.data = {}
def __getitem__(self, item):
return self.data[item]
def __setitem__(self, key, value):
self.data[key] = value
def __delitem__(self, key):
self.data.pop(key) d = Dict()
d['name'] = 'zhangsan'
print(d['name'])
del d['name']
print(d['name']) 5. 类的类型为 type 可以用type创建类
def __init__(self, name, age):
self.name = name
self.age = age
def talk():
print('Wang Wang Wang!!!') Foo = type('Foo',(object,), {'__init__':__init__,'talk':talk}) f =Foo('ZhangSan', 10)
print(f.age)
print(f.name) 6.
反射:hasattr判断对象中是否有字符串表示的方法,getattr获得对象中字符串表示的方法,setattr在对象中添加bluck方法添加为的方法名为chocie,delattr删除字符串表示的方法
def bluck(self):
print('%s is blucking!' % self.name)
class A:
def __init__(self, name):
self.name = name
def talk(self):
print('wangwang!')
def eat(self):
print('%s is eating !' % self.name) a = A('dog')
choice = input('>>:')
if hasattr(a, choice):
# getattr(a, choice)()
func = getattr(a, choice)
func()
else:
setattr(a, choice, bluck) #setattr添加的方法和静态方法类似,如果用到对象需要传递对象
getattr(a, choice)(a)
delattr(a, 'talk')
a.talk()

最新文章

  1. OWIN与Katana详解
  2. [Java面试七]Mybatis总结以及在面试中的一些问题.
  3. Atitit.&#160;Atiposter&#160;发帖机 新特性 poster new feature v11 &#160;.docx
  4. 9. Android框架和工具之 SlidingMenu(抽屉菜单)
  5. 3月3日[Go_deep]Populating Next Right Pointers in Each Node
  6. 在Window IIS中安装运行node.js应用—你疯了吗
  7. Java StringTokenizer Example
  8. as3用鼠标拖动图形拼图——灰常简单的教程
  9. Linux之用户管理--初级上
  10. Github 的系统内部都在用什么开源软件?
  11. 深度剖析Java变量栈&对象堆
  12. 用正则表达式(regex)匹配多项式(polynomial)
  13. File I/O
  14. JavaFX - 富互联网应用
  15. 关于eclipse常用的一些快捷键
  16. 05 python 初学(列表)
  17. pwntools简介
  18. P1339 热浪 最短路径模板题
  19. 机器学习进阶-目标追踪-SSD多进程执行 1.cv2.dnn.readnetFromCaffe(用于读取已经训练好的caffe模型) 2.delib.correlation_tracker(生成追踪器) 5.cv2.writer(将图片写入视频中) 6.cv2.dnn.blobFromImage(图片归一化) 10.multiprocessing.process(生成进程)
  20. Toast优化,解决频繁点击多次出现

热门文章

  1. [转] 【Monogdb】MongoDB的日志系统
  2. delphi使用sqlite数据库时的中文路径问题
  3. mysql四大特性与四种隔离级别
  4. (6).NET CORE微服务 Micro-Service ---- AOP框架
  5. 选择结构switch
  6. MVC5干货篇,目录和路由
  7. day6.python字典练习题
  8. selenium课程笔记
  9. 01. Numpy模块
  10. 055 kafka可靠性与高性能