博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
py 5.31
阅读量:5732 次
发布时间:2019-06-18

本文共 3342 字,大约阅读时间需要 11 分钟。

#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)
类的内置方法

 

转载于:https://www.cnblogs.com/liujjpeipei/p/9118472.html

你可能感兴趣的文章
计算A/B Test需要的样本量
查看>>
二叉树前序中序后序遍历的非递归方法
查看>>
nginx+tomcat实现负载均衡
查看>>
mysql 行转列列转行
查看>>
《设计模式系列》---桥接模式
查看>>
[Unity3d]Shader 着色器 学习前了解知识
查看>>
Linux中文件颜色所代表的属性和颜色
查看>>
Redrain duilib中事件委托存在的问题
查看>>
43、我的C#学习笔记9
查看>>
网站建表实践及优化
查看>>
字符串的简单操作
查看>>
C#新功能--命名参数与可选参数
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(22)-权限管理系统-模块导航制作...
查看>>
strtok和strtok_r
查看>>
维辰超市:借助云商城成功转型新零售
查看>>
[Linux]Web性能测试http_load
查看>>
Airbnb 宣布放弃使用 React Native,回归使用原生技术
查看>>
中外RFID技术差异何在?
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
python之路---进程
查看>>