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())

    返回目录

  • 相关阅读:
    使用ngx_lua构建高并发应用(1)
    nginx+lua项目学习
    学习乱
    if---(switch-case)语句初步学习总结
    数据类型转换
    总结:C#变量,占位符等相关知识
    学习随笔
    开始我的.NET的学习旅程
    Python 网络爬虫 008 (编程) 通过ID索引号遍历目标网页里链接的所有网页
    Python 网络爬虫 007 (编程) 通过网站地图爬取目标站点的所有网页
  • 原文地址:https://www.cnblogs.com/hankleo/p/10503740.html
Copyright © 2011-2022 走看看