python学习(6)继承
2016-03-03 23:40
507 查看
1.继承
继承的父类在定义类的括号中表示,子类与父类的关系与C++以前学到的一样:子类is父类。子类要注意在初始化函数 __init__() 对父类属性进行初始化:super(子类名, self).__init__(父类初始化函数的参数,self省略)
2.获取变量信息
(1)isinstance()方法判断一个变量是否属于某个类型:isinstance(变量名, 类名)
(2)type()方法
可以接收基本类型、变量(包括指向函数或类的变量),返回类型。可以用==判断两个变量是否同类型。
(3)dir()
获得一个对象的所有属性和方法。
3.多态
比如说父类与子类有同名同参数但内容不同的函数。class A:
def prt(self):
print "A"
class B(A):
def prt(self):
print "B"
def test(arg):
arg.prt()
a = A()
b = B()
test(a)
test(b)
输出:
A
B
4.多重继承
Python允许继承多个父类,称为多重继承。通过多重继承,子类同时获得多个父类的所有功能。class P1():
pass
class P2():
pass
class C1(P1,P2):
pass
5.getattr()、setattr()以及hasattr()
配合getattr()、setattr()以及hasattr(),我们可以直接操作一个对象的属性。>>> setattr(obj, 'y', 19) # 设置一个属性'y'
>>> hasattr(obj, 'x') # 有属性'x'吗?
True
>>> getattr(obj, 'x') # 获取属性'x'
19
>>> obj.y # 获取属性'y'
19
获取不存在的对象会抛出一个AttributeError错误。
相关文章推荐
- python学习(5)面向对象编程
- python HTMLParser 库 笔记
- python——字符串格式化
- python——字符串格式化
- python BeautifulSoup 库 笔记
- 2-6 Tutorials with python -> RPC
- 2-5 Tutorials with python -> Topics
- 用 python 实现批处理文件
- 2-4 Tutorials with python -> Routing
- 2-3 Tutorials with python Publish Subscribe
- 2-2 Tutorials with python -> Work Queues
- [学习笔记]python之面向对象编程
- python简单多线程
- Eclipse 安装 Python插件
- Python中read(),readline()和readlines()的区别
- 通过编写一个简单的漏洞扫描程序学习Python基本语句
- 关于pytho中函数iter的用法详解
- file handling in python
- python动态类型判断是否合法
- Python Socket编程