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__(其他参数) ...
随机推荐
- 七种经典排序算法及Java实现
排序算法稳定性表示两个值相同的元素在排序前后是否有位置变化.如果前后位置变化,则排序算法是不稳定的,否则是稳定的.稳定性的定义符合常理,两个值相同的元素无需再次交换位置,交换位置是做了一次无用功. 下 ...
- Java面试题中常考的容易混淆的知识点区别
以下是我收集的Java编程里各种区别,供Java学习爱好者参考,这些区别都是每次Java面试中常考的,大家好好掌握,如有失误请留言指出.想要获取Java详细全套学习资料请到上海尚学堂官网获取. 1.H ...
- [Swift]LeetCode273. 整数转换英文表示 | Integer to English Words
Convert a non-negative integer to its english words representation. Given input is guaranteed to be ...
- [Swift]LeetCode481. 神奇字符串 | Magical String
A magical string S consists of only '1' and '2' and obeys the following rules: The string S is magic ...
- [Swift]LeetCode995. K 连续位的最小翻转次数 | Minimum Number of K Consecutive Bit Flips
In an array A containing only 0s and 1s, a K-bit flip consists of choosing a (contiguous) subarray o ...
- 关于video标签移动端开发遇到的问题,获取视频第一帧,全屏,自动播放,自适应等问题
最近一直在处理video标签在IOS和Android端的兼容问题,其中遇到不少坑,绝大多数问题已经解决,下面是处理问题经验的总结: 1.获取视频的第一帧作为背景图: 技术:canvas绘图 windo ...
- python编程实战
1.计算对称平方数 题目描述 打印所有不超过n(n<256)的,其平方具有对称性质的数,如11*11=121. 输入描述 无 输出描述 每行一个数,表示对称平方数 def f(n): flag ...
- linux中一些简便的命令之sort
1.sort file 直接按照顺序排列 2.sort -r file 按照反序排列 3.sort -t [符号]file 指定符号的分隔符,默认为空格 sort -t ';' file 4.sort ...
- 根据地址查询经纬度Js
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>根据地址查询经纬度</ ...
- redis 系列6 数据结构之字典(下)
一.概述 接着上篇继续,这篇把数据结构之字典学习完, 这篇知识点包括:哈希算法,解决键冲突, rehash , 渐进式rehash,字典API. 1.1 哈希算法 当一个新的键值对 需要添加到字典里面 ...