python2学习------基础语法2(类、类的继承、类成员函数、防御式编程)

1、类的定义以及实例化

# 类定义
class p:
    """ this is a basic class """
    def __init__(self): # 类成员函数需要传入self关键字
        """ this is a init function of basic class """
        print "this is a init function ... ";
    def sub(self,a,b): # 类成员函数需要传入self关键字
        """ this is a common function of basic class """
        return a-b;
# 类实例化
a=p();
# 调用类方法
print a.sub(40,5); # -1

2、类的继承

# 继承类
class m(p): # 参数为需要被继承的类的名称
    """ this is a sub-class of basic class """
    def __init__(self):# 专有函数(函数名首尾带有双下划线)
        print "sub class init function ... ";
        self.__test();
    def loopOutputFun(self,n):
        if n<0:
            print n,"is not a postive integer "
            retrun;
        for i in range(1,n,3):
            print i;
        else:
            print "loop output over ... ";
    def __test(self):# 私有函数(函数首部带有双下划綫)
        print "类的私有函数,不能被类的实例直接调用,只能被专有函数调用(需要带self关键字)";
    def __my__(self):# 专有函数(函数名首尾带有双下划线)
        self.__test();
    def dev__(self,a,b):
        """演示异常"""
        try:
            return a/b;
        except Exception,e:
            print e.message;
    def __passTest__(seLf):
        """函数逻辑暂未规划好时,采用pass关键字进行处理"""
        pass;
# 子类实例化
b=m();
# 调用子类方法
print b.sub(100, 55);
b.loopOutputFun(10);
b.__my__();
print b.dev__(10,2);
b.__passTest__();

3、

原文地址:https://www.cnblogs.com/lvlin241/p/9443019.html

时间: 2024-11-05 19:36:45

python2学习------基础语法2(类、类的继承、类成员函数、防御式编程)的相关文章

python2学习------基础语法

1.变量类型 Numbers(数字):int,float,long String(字符串) List(列表) tuple(元组) dict(字典) bool(布尔):True,False # 删除变量  del 变量名; 2.常用函数 <1> 输出信息 print 输出信息; <2> 交互 raw_input('请输入内容'); <3> 类型转换 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x)

python2学习------基础语法2(函数)

1.函数 # 无参数函数 def loopTest2(): a=1; while a<40: print a; a=a+1; if a==35: continue; else: print 'over'; loopTest2(); # 有参数函数 def loopTest1(a): for i in xrange(a): print i; i=i+1; else: print "over"; loopTest1(10); # 有参函数,有返回值 def givenParamete

VBA 开发学习--基础语法2

VBA中的运算符 算数运算符及其作用 + 求两个数的和 -  求两个数的差:求一个数的相反数 *  求两个数的积 /   求两个数的商(保留小数位   5/2=2.5) \   整除 (保留整数位  5\2=2) ^  指数运算(5^3=5*5*5=125) Mod  两数相除取余数  12 Mod 9=3 比较运算符 =   等于 <   小于 > 大于 <= 小于或等于 >= 大于或等于 <> 不等于 IS  比较两个对象的引用变量 Like   比较两个字符串是否

【C++】编写一个简单的类。包含构造函数,成员函数等。

<pre name="code" class="cpp">//编写一个简单的类.包含构造函数,成员函数等. #include <iostream> using namespace std; class Rec { public: Rec(int l,int w); int Area(); void Print(); private: int length,wide; }; Rec::Rec(int l,int w) { length=l; w

函数响应式编程及ReactiveObjC学习笔记 (-)

最近无意间看到一个视频讲的ReactiveObjC, 觉得挺好用的 但听完后只是了解个大概. 在网上找了些文章, 有的写的比较易懂但看完还是没觉得自己能比较好的使用RAC, 有的甚至让我看不下去 这两天刚好公司项目交付闲下来, 想自己去啃下官方文档 ReactiveCocoa是一个基于函数响应式编程的OC框架. 那么什么是函数式响应式编程呢?概念我就不讲了 因为我讲的也不一定准确, 大家可以去baidu看看大神们的解释 下面我大概演示下响应式编程的样子 Masonry是比较常见的一个响应式框架,

.bat学习-基础语法

一般来说,脚本或者语言都有相同地方 定义变量,输入,输出,判断条件等等.知道的相同之处,我们就可以借助强大的搜索引擎进行查找我们想要知道的东西. bat为批处理脚本BATCH.现在只知道是使用于windows操作系统用来执行操作的批处理脚本 基础之前setlocal和endlocal 在一个bat文件内定义变量之前,一定要文件头部调用一个命令 setlocal 设置临时改变系统变量,,这样我们定义或修改变量,只对本bat文件有效. 我们获取到的系统环境变量如PATH,或者JAVA_HOME只是系

C#中Stack&amp;lt;T&amp;gt;类的使用及部分成员函数的源代码分析

Stack<T>类 Stack<T> 作为数组来实现. Stack<T> 的容量是 Stack<T> 能够包括的元素数. 当向 Stack<T> 中加入元素时,将通过又一次分配内部数组来依据须要自己主动增大容量. 可通过调用 TrimExcess 来降低容量. 假设 Count 小于堆栈的容量,则 Push 的运算复杂度是 O(1). 假设须要添加容量以容纳新元素,则 Push 的运算复杂度成为 O(n).当中 n 为 Count. Pop 的运

C#中Stack&lt;T&gt;类的使用及部分成员函数的源码分析

Stack<T>类 Stack<T> 作为数组来实现. Stack<T> 的容量是 Stack<T> 可以包含的元素数. 当向 Stack<T> 中添加元素时,将通过重新分配内部数组来根据需要自动增大容量. 可通过调用 TrimExcess 来减少容量. 如果 Count 小于堆栈的容量,则 Push 的运算复杂度是 O(1). 如果需要增加容量以容纳新元素,则 Push 的运算复杂度成为 O(n),其中 n 为 Count. Pop 的运算复杂

类的六个默认成员函数-&gt;构造函数

在C++中当你创建一个空类时,编译器会默认声明一个default构造函数,copy构造函数,一个copy assignment操作符,一个析构函数.注意,编译器只声明,只有当这些函数被调用时,他们才会被创建. 举个栗子,当你写下 class Empty() {}; 实际上在编译器中为你实现了这样的代码 class Empty { Empty(){} Empty(const Empty& rhs){} ~Empty(){} Empty& operator=(const Empty&