python2学习------基础语法3(类、类的继承、类成员函数、防御式编程)
1、类的定义以及实例化
# 类定义
class p:
""" this is a basic class """
basicInfo={"name":"lxh","nation":"China"}; # 类成员变量
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、
python2学习------基础语法3(类、类的继承、类成员函数、防御式编程)的更多相关文章
- python2学习------基础语法4(模块)
1.整体结构层次(a.py,b.py) 目标:b.py文件中导入a.py里面定义的class A,并调用A类里面的属性或相关方法. 2.模块导入 <1> __init__.py < ...
- python2学习------基础语法5(文件操作)
1.文件内容读取 a.txt teestttttttttttttt teestttttttttttttt teestttttttttttttt teestttttttttttttt teesttttt ...
- python2学习------基础语法5(常用容器以及相关操作)
1.list(列表) #生成数据list a=[x for x in range(10)]; #print a; #遍历list for i in a: pass; #print i; #追加元素 a ...
- python2学习------基础语法2(函数)
1.函数 # 无参数函数 def loopTest2(): a=1; while a<40: print a; a=a+1; if a==35: continue; else: print 'o ...
- python2学习------基础语法1 (变量、分支语句、循环语句、字符串操作)
1.变量类型 Numbers(数字):int,float,long String(字符串) List(列表) tuple(元组) dict(字典) bool(布尔):True,False # 删除变量 ...
- c++基类指针指向继承类调用继承类函数
类里面重载运算符>>, 需要使用友元函数,而友元函数,不能作为虚函数. 所以,基类指针无法直接调用继承类里重构的 >> ; 使用类转换,能解决掉,基类指针 调用 继承类 ...
- 类1(this指针/const成员函数/类作用域/外部成员函数/返回this对象的函数)
假设我们要设计一个包含以下操作的 Sales_data 类: 1.一个 isbn 成员函数,用于返回对象的 book_no 成员变量 2.一个 combine 成员函数,用于将一个 Sales_dat ...
- C++ 空类,默认产生哪些成员函数
C++ 空类,默认产生哪些成员函数. 默认构造函数.默认拷贝构造函数.默认析构函数.默认赋值运算符 这四个是我们通常大都知道的.但是除了这四个,还有两个,那就是取址运算符和 取址运算符 con ...
- 函数响应式编程及ReactiveObjC学习笔记 (-)
最近无意间看到一个视频讲的ReactiveObjC, 觉得挺好用的 但听完后只是了解个大概. 在网上找了些文章, 有的写的比较易懂但看完还是没觉得自己能比较好的使用RAC, 有的甚至让我看不下去 这两 ...
随机推荐
- 判断ie8以下 或者ie9以下
1.各种浏览器下载 http://browsehappy.osfipin.com/ 2.ie8浏览器以下 if(![].map) { // IE8浏览器 alert('ie8浏览器') } 3.ie9 ...
- mybatis=<>的写法
第一种写法(1): 原符号 < <= > >= & ' "替换符号 < <= > >= & ' " ...
- Python之字符
关于字符的常用操作:(字符为不可变长度的类型,故不能“增”.“删”等改变长度的操作) 1.改:改变字符串中的某个值.但为浅改变: name = "Python3.5" print( ...
- js学习:基本语法结构
语句 JavaScript 程序的执行单位为行(line),也就是一行一行地执行.一般情况下,每一行就是一个语句. 语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句. ...
- scrapy extention实战-空闲时关闭爬虫
scrapy extention实战 1. 空闲-关闭 使用扩展+spider_idle信号关闭爬虫. 启用扩展:settings.py EXTENSIONS = { #'scrap ...
- Vue——解决使用第三方组件库时无法修改默认样式的问题(使用 /deep/ )
最近在开发一个基于Vue的后台管理系统,其中使用了element-ui第三方ui组件库.使用过组件库的人都知道,第三方组件往往会有一些默认的样式,而有些又是我们想要改变的. 一.基础(了解 <s ...
- Socket通信实现步骤
public class Server { public static void main(String[] args) { try { ServerSocket serverSocket = new ...
- java各种面试问题
二.Java多线程相关 线程池的原理,为什么要创建线程池?创建线程池的方式: 线程的生命周期,什么时候会出现僵死进程: 说说线程安全问题,什么实现线程安全,如何实现线程安全: 创建线程池有哪几个核心参 ...
- H5新增的标签和属性
声明 Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML ...
- rhel7 系统服务——unit(单元)
Linux内核版本从3.10后开始使用systemd管理服务,这也是系统开机后的第一个服务.systemd通过unit单元文件来管理服务. 它保存了服务.设备.挂载点和操作系统其他信息的配置文件,并能 ...