python修饰函数的简单介绍( 五 )


self.y = y
def __repr__(self):
return 'I am a {name}, my attributes: {dict}'.format(name = self.__class__.__name__, dict=self.__dict__)
## definition calculation
def add(a, b):
return Point(a.x + b.x, a.y+b.y)
p1 = Point(500, 10)
print(p1)
p2 = Point(30, -100)
print(add(p1,p2))
'Now we want to do some value-check, to make sure the x, y validation'
'比如我们现在只想要点运算时 作数值的检查: 要求点是 100*100这个范围的 (0-100 这个正方形内) ,对于异常作边界处理'
def wrapper(func):
def checker(a, b):
a. x = max(0, a.x) ; a. y = max(0, a.y)
a. x = min(100, a.x);a. y = min(100, a.y)
b. x = max(0, b.x) ; b. y = max(0, b.y)
b. x = min(100, b.x);b. y = min(100, b.y)
result = Point(a.x +b.x,a.y+b.y)
return result
return checker
add_decorator = wrapper(add)
p1 = Point(500, 10)
p2 = Point(30, -100)
# print(add(p1,p2))
print('decorator !')
print(add_decorator(p1, p2))
#= after check, it becomes100+30,10+0
# 最后 @ 符号
'因为装饰会经常使用, 为了避免上述麻烦的装饰方法 就想到一个简写'
@wrapper
def add_checked(a, b):
return Point(a.x +b.x, a.y+b.y)
print('skilled decorator using @')
print(add_checked(p1, p2))
evernote 文字版, 习惯用这个存了.
'一步步理解Python中的Decorator'
原文参考:
# 'refer: simeonfranklin.com'
推荐阅读:
Python Cookbook chapter 9 - Metaprogramming, 9.1 9.2...
Python中的常用内置函数有哪些呢?(1)Lambda函数
用于创建匿名函数python修饰函数,即没有名称的函数 。它只是一个表达式,函数体比def简单很多 。当python修饰函数我们需要创建一个函数来执行单个操作并且可以在一行中编写时,就可以用到匿名函数python修饰函数了 。
Lamdba的主体是一个表达式 , 而不是一个代码块 。仅仅能在lambda表达式中封装有限的逻辑进去 。
利用Lamdba函数,往往可以将代码简化许多 。
(2)Map函数
会将一个函数映射到一个输入列表的所有元素上,比如python修饰函数我们先创建python修饰函数了一个函数来返回一个大写的输入单词,然后将此函数应有到列表colors中的所有元素 。
我们还可以使用匿名函数lamdba来配合map函数,这样可以更加精简 。
(3)Reduce函数
当需要对一个列表进行一些计算并返回结果时 , reduce()是个非常有用的函数 。举个例子,当需要计算一个整数列表所有元素的乘积时,即可使用reduce函数实现 。
它与函数的最大的区别就是,reduce()里的映射函数(function)接收两个参数,而map接收一个参数 。
(4)enumerate函数
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中 。
它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始,也可以自定义计数器的起始编号 。
(5)Zip函数
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
当我们使用zip()函数时,如果各个迭代器的元素个数不一致 , 则返回列表长度与最短的对象相同 。
python中怎么设定函数形参的类型直接写个名字就行 。python的一切默认都是对象,参数没使用前,是没有类型的 。甚至函数写不写行参都无所谓 。
【python修饰函数的简单介绍】python修饰函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、python修饰函数的信息别忘了在本站进行查找喔 。

推荐阅读