python 类继承演示范例的代码
把做工程过程重要的代码片段备份一次,下面的资料是关于python 类继承演示范例的代码。
# a simple example of a class inheritance
# tested with Python24 vegaseat 10aug2005 help('object') # test class Class1(object):
"""
Class1 inherits the most basic container class object (just a place holder)
this is the newer class writing convention, adding (object) is "still" optional
""" k = 7 def __init__(self, color='green'):
"""
Special method __init__() is called first (acts as Constructor).
It brings in data from outside the class like the variable color.
(in this case color is also set to a default value of green)
The first parameter of any method/function in the class is always self,
the name self is used by convention. Assigning color to self.color allows it
to be passed to all methods within the class. Think of self as a carrier,
or if you want impress folks call it target instance object.
The variable k is assigned a value in the class, but outside of the methods.
You can access k in a method using self.k
"""
self.color = color def Hello1(self):
print "Hello from Class1!" def printColor(self):
"""in this case self allows color to be passed"""
print "I like the color", self.color def __localHello(self):
"""
A variable or function with a double underline prefix and no or max. single
underline postfix is considered private to the class and is not inherited or
accessible outside the class.
"""
print "A hardy Hello only used within the class!" class Class2(Class1):
"""
Class2 inherits Class1 (Class2 is the subclass, Class1 the base or superclass)
Class1 has to be coded before Class2 for this to work!!!
Class2 can now use any method of Class1, and even the variable k
""" def Hello2(self):
print "Hello from Class2!"
print self.k, "is my favorite number" # the color blue is passed to __init__()
c1 = Class1('blue') # Class2 inherited method __init__() from Class1
# if you used c2 = Class2(), the default color green would be picked
c2 = Class2('red') print "Class1 says hello:"
c1.Hello1() print "Class2 says a Class1 hello:"
c2.Hello1() print "Class2 says its own hello:"
c2.Hello2() print "Class1 color via __init__():"
c1.printColor() print "Class2 color via inherited __init__() and printColor():"
c2.printColor() print "Class1 changes its mind about the color:"
c1 = Class1('yellow') # same as: c1.__init__('yellow')
c1.printColor() print "Wonder what Class2 has to say now:"
c2.printColor() # this would give an error! Class1 does not have a method Hello2()
if hasattr(Class1, "Hello2"):
print c1.Hello2()
else:
print "Class1 does not contain method Hello2()" # check inheritance
if issubclass(Class2, Class1):
print "Class2 is a subclass of Class1, or Class2 has inherited Class1" # you can access variable k contained in Class1
print "Variable k from Class1 =", c1.k # this would give an error! You cannot access a class private method
if hasattr(Class1, "__localHello()"):
print c1.__localHello()
else:
print "No access to Class1 private method __localHello()"
python 类继承演示范例的代码的更多相关文章
- python类继承
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过 继承 机制.继承完全可以理解成类之间的 类型和子类型 关系. 假设你想要写一个程序来记录学校之中的教师和学生情况.他们有一些 ...
- Python 类继承,__bases__, __mro__, super
Python是面向对象的编程语言,也支持类继承. >>> class Base: ... pass ... >>> class Derived(Base): ... ...
- 第7.7节 案例详解:Python类继承机制
本节实现一个类继承的小程序,下面一边结合代码一边介绍相关继承的知识.例子以车.汽车为例,车为父类.汽车为子类. 一. 定义父类Vehicle class Vehicle(): def __ ...
- Python类继承(转发)
目录 一.概述 二.类的继承 2.1 继承的定义 2.2 构造函数的继承 2.3 子类对父类方法的重写 三.类继承的事例 回到顶部 一.概述 面向对象编程 (OOP) 语言的一个主要功能就是“继承”. ...
- python 类 - 继承
继承 什么是继承? 编写类时,并非总要从空白开始.如果要编写的类是另一个现成类的特殊版本,可使用继承. 一个类继承另一个类时,将自动获得另一个类的所有属性和方法.现有的类称为父类,而新类称为子类. 子 ...
- python类继承的重写和super
给已经存在的类添加新的行为,继承是非常好的实现方式.但是如果要改变行为呢?比如在Python继承扩展内置类,我们的contact类只允许一个名字和一个邮箱,但是如果要对某些人增加电话号码呢?这里可以通 ...
- python 类继承与子类实例初始化
From: https://blog.csdn.net/cs0301lm/article/details/6002504?utm_source=blogxgwz4 [ 先贴参考书籍原文(中文英文对照) ...
- python 类继承
#!/usr/bin/python # Filename: inherit.py class SchoolMember: '''Represents any school member.''' def ...
- python类继承中构造子的调用
python面向对象中的继承关系中,子类对父类的构造方法的调用有两种方法: 父类名.__init__(self,参数) #注意名字是父类 super(本子类名,self)__init__(其他参数) ...
随机推荐
- [Swift]LeetCode443. 压缩字符串 | String Compression
Given an array of characters, compress it in-place. The length after compression must always be smal ...
- [Swift]LeetCode661. 图片平滑器 | Image Smoother
Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother t ...
- [Swift]LeetCode886. 可能的二分法 | Possible Bipartition
Given a set of N people (numbered 1, 2, ..., N), we would like to split everyone into two groups of ...
- [Swift]LeetCode918. 环形子数组的最大和 | Maximum Sum Circular Subarray
Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ...
- Nginx 动静分离与负载均衡的实现
一.前提 企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题. 问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环 ...
- mockjs,json-server一起搭建前端通用的数据模拟框架
无论是在工作,还是在业余时间做前端开发的时候,难免出现后端团队还没完成接口的开发,而前端团队却需要实现对应的功能,不要问为什么,这是肯定存在的.本篇文章就是基于此原因而产出的.希望对有这方面的需求的同 ...
- Python使用Xpath轻松爬虫(脑残式)
1.在PyCharm安装lxml. 2.找到源码 3.F12.copy源码的xpath 4.代码 from lxml import etree import requests wb_data = re ...
- 使用reflector对.NET反编译
reflector的下载地址:https://www.cr173.com/soft/355285.html 反编译后的结果:
- redis 系列13 集合对象
一. 集合对象概述 这里的集合是string类型的无序集合,在集合对象中集合成员是唯一的,这就意味着集合中不能出现重复的数据.集合是通过哈希表实现的,集合中最大的成员数为 232-1 (4294967 ...
- Intent简介-Android开发
一.Intent介绍: Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述 ...