python练习笔记
python练习笔记,装饰器、定制方法生成特定的类
# -*- coding: utf-8 -*- def catch_exception(func):
def wrap(self, *args, **kw):
try:
return func(self, *args, **kw)
except Exception:
self.revive()
print('An Exception raised')
return wrap class Test(object):
# 初始化
def __init__(self, path=''):
self.__slots__ = ('v1','v2','a')
self.__a = 123
self.__b = 456
self.a = 1
self.__path = path
# 使用len()
def __len__(self):
return 100
# 使用迭代
def __iter__(self):
# return iter([1,2,3,4])
return self
def __next__(self):
if self.a < 100:
self.a *= 2
return self.a
else:
raise StopIteration()
# 使用数字下表直接访问
def __getitem__(self, n):
for i in range(n):
self.a *= 2
return self.a
# 属性不存在时调用,返回属性/函数
def __getattr__(self, path):
# if attr == 'tn':
# return 'tttttt'
return Test('%s/%s' % (self.__path, path))
def get_path(self):
return self.__path
def __call__(self, *args, **kw):
# for x in args:
# print(x)
# for k,v in kw.items():
# print('%s = %s' % (k,v))
print(args)
print(kw)
return '调用自己'
# 修饰器
@catch_exception
def sum(self):
return self.__a + self.__b def revive(self):
print('revive from Exception') if __name__ == '__main__':
t = Test()
for i in Test():
print(i) print(t.sum(), t[10])
print(t.api.football.csl.s2018.get_path())
print(t(123, 'abc',no=1,name='bob'))
python练习笔记的更多相关文章
- Web Scraping with Python读书笔记及思考
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python datetime笔记
python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
随机推荐
- attention机制的实现
本文转自,http://www.jeyzhang.com/understand-attention-in-rnn.html,感谢分享! LSTM 中实现attention:https://distil ...
- 买卖股票的最佳时机 - C++
class Solution { public: /** * @param prices: Given an integer array * @return: Maximum profit */ in ...
- xml linq
这里讲解一下linq对xml的基本操作,包括: 新建xml.新建节点 查询节点 插入属性.插入节点 替换节点 在这里我封装了一些常用的方法: public class XmlHelper { /// ...
- day012-Lambda、方法引用
1. 函数式接口 有且只有一个抽象方法的接口就是函数式接口. 函数式接口的定义格式: Interface 接口名{ 抽象方法: } @Override:用来修饰方法声明,告诉编译器该方法是重写父类的方 ...
- dede如何调用一级栏目和子集栏目及其文章
{dede:channelartlist row=6} <a href='{dede:field name='typeurl'/}'>{dede:field name='typename' ...
- June 17th 2017 Week 24th Saturday
Absence sharpens love, presence strengthens it. 相聚爱益切,离别情更深. There is almost no such love that can i ...
- 用ant打包apkbuilder找不到了的解决办法
apkbuilder的情况下生成apk文件,其实apkbuilder是一个批处理文件,打开里面就能发现,其实他内部执行的是sdklib.jar里面的一个class,所以就知道怎么做了,很简单,我们自己 ...
- 【安卓】imageView.scaleType取centerCrop后,再用padding时显示异常?
imgView.setCropToPadding(true);就可以
- 初识prufer序列
前言 \(prufer\)序列应该是一个比较实用的东西. 据\(hl666\)大佬说,一切与度数有关的树上计数问题,都可以用它以及它的性质来解决. 而听说\(ZJOI\)最近特别喜欢出计数题,所以有必 ...
- POJ 2985 名次树
题意:1~n个猫,有合并操作,有询问操作,合并两只猫所在的集合,询问第K大的集合. 分析:合并操作用并查集,用size维护,询问操作用Treap.注意优化,不能刚开始就把所有size = 1放到名次树 ...