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管线 ...
随机推荐
- PHP四大基本排序算法实例
PHP四大基本排序算法包括:冒泡排序法,快速排序法,选择排序法,插入排序法. 1. 冒泡排序 思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往 ...
- SQL Server重置INDETITY的开始值
@@IDENTITY 和SCOPE_IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值.但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值:@@IDENTITY 不受限于 ...
- Mybatis之基于XML的调用存储过程与手动回滚事务
一.调用存储过程 一.返回单个值 1.存储过程准备 这里先创建一个存储过程,传入参数为age,传出参数为count.然后先测试一下是否正确. CREATE DEFINER=`root`@`localh ...
- 如何查看oracle用户具有的权限和角色
.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; .查看用户或角色系统权限(直接 ...
- ef学习一
学习内容:https://www.cnblogs.com/5ishare/p/5801229.html 注意点: 1.NuGet程序包引入ef,使用DbSet<>必须引入ef.本例EFCo ...
- Java-关于类
java-关于类-成员初始化问题 成员初始化出现错误“ - Syntax error on token ";", , expected” java类不允许对成员进行操作,但可 ...
- 8.并发容器ConcurrentHashMap#put方法解析
jdk1.7.0_79 HashMap可以说是每个Java程序员用的最多的数据结构之一了,无处不见它的身影.关于HashMap,通常也能说出它不是线程安全的.这篇文章要提到的是在多线程并发环境下的Ha ...
- Python3 系列之 编程规范篇
编码规范 编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入 #--coding:utf-8-- 标识 缩进 统一使用 4 个空格进行缩进 引号 自然语言 使用双引 ...
- NIO 学习笔记三:DatagramChannel
Java NIO中的DatagramChannel是一个能收发UDP包的通道.因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入.它发送和接收的是数据包. 打开 DatagramChann ...
- CSS属性disabled和readonly的区别是什么
在博客园中看到这样一篇文章,关于disabled和readonly的区别,以前还真的没有注意它们的区别,还是有必要知道它们的区别的,所以转载了. 这两个属性有类似之处,但是区别也是巨大的,之所以说类似 ...