博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础(三)——类的研究
阅读量:6125 次
发布时间:2019-06-21

本文共 3127 字,大约阅读时间需要 10 分钟。

class Employee:         //定义类 以冒号结束   '所有员工的基类'      //帮助信息   empCount = 0   def __init__(self, name, salary):    //调用时初始化,属性有name和salary      self.name = name      self.salary = salary      Employee.empCount += 1   def displayCount(self):     print "Total Employee %d" % Employee.empCount      //%格式化打印格式   def displayEmployee(self):      print "Name : ", self.name,  ", Salary: ", self.salary"创建 Employee 类的第一个对象"emp1 = Employee("Zara", 2000)"创建 Employee 类的第二个对象"emp2 = Employee("Manni", 5000)emp1.displayEmployee()emp2.displayEmployee()print "Total Employee %d" % Employee.empCountemp1.age = 7  # 添加一个 'age' 属性emp1.age = 8  # 修改 'age' 属性del emp1.age  # 删除 'age' 属性hasattr(emp1, 'age')    # 如果存在 'age' 属性返回 True。getattr(emp1, 'age')    # 返回 'age' 属性的值setattr(emp1, 'age', 8) # 添加属性 'age' 值为 8delattr(empl, 'age')    # 删除属性 'age'//内置类属性#!/usr/bin/python# -*- coding: UTF-8 -*-class Employee:   '所有员工的基类'   empCount = 0    def __init__(self, name, salary):      self.name = name      self.salary = salary      Employee.empCount += 1   def displayCount(self):     print "Total Employee %d" % Employee.empCount   def displayEmployee(self):      print "Name : ", self.name,  ", Salary: ", self.salaryprint "Employee.__doc__:", Employee.__doc__             //帮助文档print "Employee.__name__:", Employee.__name__           //类名print "Employee.__module__:", Employee.__module__       //模块print "Employee.__bases__:", Employee.__bases__         //类的所有父类构成元素print "Employee.__dict__:", Employee.__dict__           //类的属性//#!/usr/bin/python# -*- coding: UTF-8 -*-class Parent:        # 定义父类   parentAttr = 100   def __init__(self):      print "调用父类构造函数"   def parentMethod(self):      print '调用父类方法'   def setAttr(self, attr):      Parent.parentAttr = attr   def getAttr(self):      print "父类属性 :", Parent.parentAttrclass Child(Parent): # 定义子类   def __init__(self):      print "调用子类构造方法"   def childMethod(self):      print '调用子类方法 child method'c = Child()          # 实例化子类c.childMethod()      # 调用子类的方法c.parentMethod()     # 调用父类方法c.setAttr(200)       # 再次调用父类的方法c.getAttr()          # 再次调用父类的方法输出结果调用子类构造方法调用子类方法 child method调用父类方法父类属性 : 200//继承多个类class A:        # 定义类 A.....class B:         # 定义类 B.....class C(A, B):   # 继承类 A 和 B.....//方法重写#!/usr/bin/pythonclass parent():    def mymethod(self):        print 'this is a test'    def bp(self):        print 'how are you'class child(parent):    def __init__(self):        print 'I am bp'    def mymethod(self):        print 'this is not a test'c=child()c.mymethod()c.bp()输出结果I am bpthis is not a testhow are you//私有方法和属性class JustCounter:    __secretCount = 0  # 私有变量    publicCount = 0    # 公开变量    def count(self):        self.__secretCount += 1        self.publicCount += 1        print self.__secretCountcounter = JustCounter()counter.count()counter.count()print counter.publicCountprint counter.__secretCount  # 报错,实例不能访问私有变量输出结果122Traceback (most recent call last):  File "test.py", line 17, in 
print counter.__secretCount # 报错,实例不能访问私有变量AttributeError: JustCounter instance has no attribute '__secretCount'

转载于:https://www.cnblogs.com/biaopei/p/7730581.html

你可能感兴趣的文章
写给对前途迷茫的朋友:五句话定会改变你的人生
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
JAVA入门到精通-第86讲-半双工/全双工
查看>>
bulk
查看>>
js document.activeElement 获得焦点的元素
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
day6-if,while,for的快速掌握
查看>>
JavaWeb学习笔记(十四)--JSP语法
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>
jqgrid滚动条宽度/列显示不全问题
查看>>
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
angularjs表达式中的HTML内容,如何不转义,直接表现为html元素
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
[Usaco2015 dec]Max Flow
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>