zoukankan      html  css  js  c++  java
  • py 5.31

    #1.try except /2.try except else /3.try except else finally /4.try finally
    # try:
    #     lis = [1,2,3]
    #     content = int(input('请输入数字'))
    #     print(lis[content])
    #     # name
    # except IndexError:
    #     print('超出范围')
    # except ValueError:
    #     print('您输入的不是数字哦')
    # except Exception as e:   #万能异常(可省略),但是省略以后无法看见具体报错原因。
    #     print(e)
    # else:
    #     print('成功执行')   #没有错误的时候执行else后面的代码
    #  finally:  #无论任何时候,正确还是错误还是其它  ,都执行finally.
    #     print('我是finally后面的代码')
    #else(没有错误的时候执行,可用于显示成功或结果)
    #finally(无论如何都执行,可用于操作文件的最后关闭文件)
    # def func():
    #     try:
    #         print('777')
    #         return 888
    #     finally:       #就算前面有return也要继续执行,挡不住。
    #         print('还执行我')
    # func()
    异常处理
    # 7.创建一个对象:触发两个方法:
    #              1.构造方法:__new__(cls,*args,**kwargs)
    #              2.初始化方法:__init__(self)
    #__new__方法是由object调用的类,生成的对象。object.__new__(cls)
    # class A:
    #     def __init__(self,name):#再触发init方法
    #         self.name = name    #进而进行属性赋值等操作
    #     def __new__(cls, *args, **kwargs):#触发new方法
    #         return object.__new__(cls)    #得到对象的返回值
    # b = A('alex')#创建一个对象
    #与此方法相关的一个模式:单例模式(只存在一个对象)
    # class A:
    #     _instance = None
    #     def __init__(self,name):
    #         self.name = name
    #     def __new__(cls, *args, **kwargs):
    #         if not cls._instance:
    #             cls._instance = object.__new__(cls)
    #             return cls._instance
    #         else:return cls._instance
    # a = A('alex')#首先创建一个对象,_instance值为None
    # b = A('alex')#再创建一个对象,_instance值为第一个对象,直接返回,得到的还是第一个对象的值。
    #8.删:1.@property的deleter:删除伪装成属性的方法。
    #    2.delattr:删除属性。
    #    3.__del__:del 对象名,主动触发__del__方法。主动触发一般用来做关闭文件的动作,在__del__方法下面做关闭文件的操作,
    #                                              防止用户忘记关闭文件资源。
    #              如果不主动触发,程序结束后,也会自动触发__del__方法,清除数据。缺点是无法在删除前进行作为。
    #9.item系列:
    #*对象[参数]:触发__getitem__方法。
    # class A:
    #     def __getitem__(self, item):#对象[item] 得到一个getitem代码中返回值
    #         return 'b'
    # obj = A()
    # print(obj['a'])
    #*对象[参数] = 值:触发__setitem__方法。
    # class A:
    #     def __setitem__(self, key, value):
    #         self.__dict__[key]= value
    #     def __getitem__(self, item):
    #         return self.__dict__[item]
    # b = A()
    # print(b['a']) #没有值
    # b['a'] = 'liujunjie' #赋值
    # print(b['a'])
    #*del 对象名:触发 __delitem__:
    # class A:
    #     def __setitem__(self, key, value):
    #         self.__dict__[key]= value
    #
    #     def __getitem__(self, item):
    #         return self.__dict__[item]
    #     def __delitem__(self, key):
    #         return self.__dict__.pop(key)
    # b = A()
    # b['a'] = 'liujunjie'
    # print(b['a'])
    # del b['a']          #触发 __delitem__方法,执行其中的代码,删除key
    # print(item.__dict__)
    #类的内置方法一般也用于模块的一些内置方法,如:
    #random模块的choice/shuffle
    #choice(对象):触发__len__和__getitem__方法。
    # 1.触发__len__:计算对象的长度,以此来根据概率随机抽取。
    # 2.触发__getitem__:使对象变成一个可迭代对象(可以用[]取值的对象)
    #shuffle(对象):打乱顺序。触发__len__和__getitem__方法、以及__setitem__方法。
    #纸牌
    # class Paper:
    #     ranks = [str(i) for i in range(2,11)] + list('JQKA')
    #     suits = ['红心','方片','黑桃','草花']
    #     def __init__(self):
    #         self._cards = [(rank,suit) for rank in Paper.ranks for suit in Paper.suits]
    #     def __len__(self):
    #         return len(self._cards)
    #     def __setitem__(self, key, value):
    #         self._cards[key] = value   #shuffle触发此方法。
    #     def __getitem__(self, item):
    #         return self._cards[item]
    # a = Paper()
    # print(a[5]) #返回纸牌列表的第五个索引的元素('3', '方片')
    # import random
    # print(random.choice(a)) #getitem将a变成了可迭代对象,可以用choice随机抽取其中的元素
    # random.shuffle(a) #打乱顺序
    # print(a._cards)
    类的内置方法
  • 相关阅读:
    c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
    linux服务之rsyslog
    java实现第五届蓝桥杯李白打酒
    java实现第五届蓝桥杯李白打酒
    java实现第五届蓝桥杯猜字母
    java实现第五届蓝桥杯猜字母
    java实现第五届蓝桥杯大衍数列
    java实现第五届蓝桥杯大衍数列
    redis 安装启动及设置密码<windows>
    redis密码设置、访问权限控制等安全设置
  • 原文地址:https://www.cnblogs.com/liujjpeipei/p/9118472.html
Copyright © 2011-2022 走看看