zoukankan      html  css  js  c++  java
  • 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())

    返回目录

  • 相关阅读:
    在javaWeb 工程中 tomcat 的 web.xml 文件配置
    Spring 框架详解
    构建工具 Maven和Gradle对比
    idea 创建Javaweb 动态工程
    服务器后端 项目代码常用目录图
    ET模式下的EPOLLOUT
    linux recv 参数len设置为0
    fork 和 exec 对子进程继承父进程处理信号处理函数的影响
    lua元表以及元方法
    Linux网络编程“惊群”问题总结
  • 原文地址:https://www.cnblogs.com/hankleo/p/10503740.html
Copyright © 2011-2022 走看看