python第五十二课--自定义异常类
myexception.py
'''
实现自定义异常类:
'''
class MyException(Exception):
def __init__(self,msg):
super().__init__(msg)
封装一个Person类.py
from myexception import MyException class Person:
def __init__(self,name,age):
self.name=name
self.__age=age def setAge(self,age):
#合法性校验
if age<0 or age>130:
raise MyException('年龄有误...')
else:
self.__age=age # def getAge(self):
# return self.__age def __str__(self):
return 'name: %s, age:%s' %(self.name,self.__age) #实例化对象
p=Person('李四',50)
print(p) p.setAge(180)
print(p.setAge())
property和属性名setter注解的使用.py
from myexception import MyException
'''
4.@property和@属性名.setter注解的使用 作用:简化getter和setter函数,让你在使用过程中仿佛又回来了对象操作属性那般丝滑... 举例: @property def age(self): return self.__age @age.setter def age(self,age): self.__age = age p.age = 50 print(p.age) from myexception import MyException
''' #@property注解的使用:
class Person:
def __init__(self,name,age):
self.name=name
self.__age=age def setAge(self,age):
#合法性检验
if age<0 or age>130:
raise MyException('年龄有误...')
else:
self.__age=age def getAge(self):
return self.__age @property
def age(self):
print('aaaaaaaaaa')
return self.__age @age.setter
def age(self,age):
print('bbbbbbbbbbbb')
#合法性校验
self.__age=age def __str__(self):
return 'name:%s,age:%s' %(self.name,self.__age) #实例化对象
p=Person('lily',25)
print(p) p.age=250
print(p.age) p.setAge(100)
print(p.getAge())
python第五十二课--自定义异常类的更多相关文章
- python第三十二课——队列
队列:满足特点 --> 先进先出,类似于我们生活中的买票.安检 [注意] 对于队列而言:python中有为其封装特定的函数,在collections模块中的deque函数就可以获取一个队列对象; ...
- JAVA学习第五十二课 — IO流(六)File对象
File类 用来给文件或者目录封装成对象 方便对文件与目录的属性信息进行操作 File对象能够作为參数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo( ...
- Python学习第十二课——json&pickle&XML模块&OS模块
json模块 import json dic={'name':'hanhan'} i=8 s='hello' l=[11,22] data=json.dumps(dic) #json.dumps() ...
- python第四十二课——__str__(self)函数
4.__str__(self): 作用: 创建完对象,直接打印对象名/引用名我们得到的是对象的内存信息(十六进制的地址信息), 这串数据我们程序员并不关心,我们更希望看到的是属性赋值以后的内容(属性赋 ...
- python第三十二课——栈
栈:满足特点 --> 先进后出,类似于我们生活中的子弹夹 [注意] 对于栈结构而言:python中没有为其封装特定的函数,我们可以使用list(列表)来模拟栈的特点 使用list对象来模拟栈结构 ...
- Python学习第二十二课——Mysql 表记录的一些基本操作 (增删改)
记录基本操作: 增:(insert into) 基本语法: insert into 表名(字段) values(对应字段的值): 例子1: insert into employee(id,name,a ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
- Kali Linux Web 渗透测试— 第十二课-websploit
Kali Linux Web 渗透测试— 第十二课-websploit 文/玄魂 目录 Kali Linux Web 渗透测试— 第十二课-websploit..................... ...
- NeHe OpenGL教程 第四十二课:多重视口
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
随机推荐
- Jmeter获取接口返回数组的长度
添加BeanShell PostProcessor来获取,具体代码如下: import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath ...
- [转]Building a REST-Backend for Angular with Node.js & Express
本文转自:https://malcoded.com/posts/angular-backend-express Angular is a single page application framewo ...
- datatable删除行之datatable.Rows[i].Delete()。标记之后行没有了
使用Delete()之后行消失了 先在for循环外加上dt.AcceptChanges(); 删除时在dt.AcceptChanges();
- Extjs 项目中常用的小技巧,也许你用得着(1)
我在项目中遇到的一些知识点: 1.在GridPanel中显示图片,效果 对应的代码实现 { text: '是否启用', width: 80, // xtype: 'checkcolumn', data ...
- T-SQL:是NULL不是NULL(七)
首先SQL SERVER 是一个三值逻辑 即谓词计算结果为TRUE,FALSE,UNKNOWN 标准的谓词都是遵循这种规则的 如 slary>0 会返回计算结果为TRUE 结果的行拒绝FALS ...
- 探秘小程序(10):分享功能+webview
场景: 小程序页面用webview嵌入了h5页面,h5页面需要与小程序进行交互,h5页面内容不同,分享的链接也不一样 分享功能: 小程序的分享功能即用户点击小程序右上角,转发功能页面.可以指定分享卡片 ...
- 【Spring】19、spring配置数据源的4种方式
不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的数据源配置方式: spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源 ...
- linux部分常见指令
游走指令 cd: 进入指定位置 cd / 进入到根目录 cd /home 进入到home文件夹 cd - 进入上次所在文件夹 比如 在 / 时 cd /usr/local到loca ...
- Shaping Regions(dfs)
Shaping Regions Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 124 Solved: 39[Submit][Status][Web B ...
- 笔记-返回到前一个页面时显示前一个页面中ajax获取的数据
笔记第一部分:http://www.cnblogs.com/zczhangcui/p/6869219.html 在第一部分遇到的问题是,用ajax获取了一系列列表信息后,拼接好html后插入到了原有页 ...