python-基础笔记4-面向对象
2017-09-29 14:17
483 查看
面向对象最主要的是(类和继承) 类:用来描述相同属性和方法的集合
class Employee: ''' python多行注释,在import引入类之后,可以用help(className)来查看类的方法和属性,这段注释就是该类的说明,会一起显示。 this is a test demo class ''' classtr="itis a test class" def __init__(self, name, pay): self.name=name self.pay=pay def hello(self): ''' say hello ''' print self.name print "say hello" # python json.py # python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import json #使用类就引入类,python类相当于python的一个模块 >>> worker = json.Employee('xiaoming', 10000) >>> type(worker) <type 'instance'> >>> worker.hello <bound method Employee.hello of <json.Employee instance at 0x7f34422f82d8>> >>> worker.hello() xiaoming say hello >>> worker2=json.Employee('zhangqiaong',2) >>> worker2.hello() zhangqiaong say hello >>> help(json.Employee) >>> help(worker2)
python内置类属性
__dict__ 类的属性(包含一个字典,由类的数据属性组成) __doc__ 类的文档字符串 __name__ 类名 __moudle__ 类定义所在的模块(类的全名是'__main__className',如果类位于一个导入模块mymod中,那么'className__moudle__' 等于 mymod) __bases__ 类的所有父类构成元素
类的继承:
class Parent: parentAttr=100 def __init__(self): print "调用父类构造方法" def parentMethod(self): print "调用父类方法" def setAttr(self, attr): Parent.parentAttr = attr def getAttr(self): print '父类属性:', Parent.parentAttr class Child(Parent): #继承父类 def __init__(self): print "调用子类构造方法" def childMethod(self): print '调用子类方法 child method' >>> import json >>> from json import Parent,Child >>> p1=Parent() 调用父类构造方法 >>> p1.parentMethod() 调用父类方法 >>> p1.getAttr() 父类属性: 100 >>> p1.setAttr(200) >>> p1.getAttr() 父类属性: 200 >>> p2=Child() 调用子类构造方法 >>> p2.childMethod() 调用子类方法 child method >>> p2.parentMethod() 调用父类方法 >>> p2.getAttr() 父类属性: 200 class Child(Parent): #定义子类 def __init__(self): Parent() #调用父类的构造方法 print "调用子类构造方法" def childMethod(self): print '调用子类方法 child method' >>> from json import Parent, Child >>> p2=Child() 调用父类构造方法 调用子类构造方法
类的私有属性不能在类外部访问或直接使用
__private_attr class Parent: #定义父类 parentAttr=100 __six = 'man' #定义私有属性 def __init__(self): print "调用父类构造方法" def showsix(self): print self.__six
from json import* #导出json文件包的所有类(一个文件包含多个类)
globals() 打印全局变量 locals() 打印局部变量
相关文章推荐
- 学习笔记☞ python 基础(python3)【六】(id,面向对象-2)
- 【Python基础】07、Python类与面向对象
- python基础教程_学习笔记1:序列-1
- 廖雪峰python3.6教程笔记3-Python基础之数据类型和变量
- python基础教程_学习笔记23:图形用户界面
- Python基础09 面向对象的进一步拓展
- JAVA学习笔记——JAVA基础语法(三)——面向对象三大特征
- Python2.7 学习笔记 (一)——基础知识
- Python学习笔记(一)基础语法
- <<Python基础教程>>学习笔记 | 第04章 | 字典
- Python学习笔记 02 Python基础
- Python学习笔记(一)——编程0基础数据分析进阶之路
- 【python学习笔记】基础知识
- Python基础学习笔记(二)
- python基础学习笔记(五)
- python基础教程_学习笔记18:标准库:一些最爱——shelve
- Java基础:Day07笔记内容 (面向对象)
- <<Python基础教程>>学习笔记 | 第11章 | 文件和素材
- Python学习笔记三:面向对象