python 这是一个小型的演示,我们用它来了解上下文管理器如何在python中工作,显然它们的工作更像是宏而不是fu
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 这是一个小型的演示,我们用它来了解上下文管理器如何在python中工作,显然它们的工作更像是宏而不是fu相关的知识,希望对你有一定的参考价值。
class pre_post():
def __init__(self, pre, post,*args):
self.pre = pre
self.post = post
#print('init',args)
def __enter__(self, *args):
##print('enter',args)
#print(inp,inp,inp,inp)
self.pre()
def __exit__(self, *args):
##print('exit',args)
self.post()
#print(inp,inp,inp)
import math
from random import random
def preconditions():
assert isinstance(inp,(int,float)), 'need int or float, got: {}'.format(inp)
assert inp>0, 'inp is too small'
def postconditions():
assert isinstance(inp, float)
inp = random()
with pre_post(pre=preconditions,post=postconditions):
inp = math.log(inp)
print(inp)
以上是关于python 这是一个小型的演示,我们用它来了解上下文管理器如何在python中工作,显然它们的工作更像是宏而不是fu的主要内容,如果未能解决你的问题,请参考以下文章
powershell 这是导入模块的comppnad。我用它来导入自定义模块
JAVA-初步认识-常用对象API(集合框架-重点方法entryset演示图解)
TweetNaCl.js 最小公钥签名示例
QT之插件Plugin生成与使用(想一想,我有什么功能需要用它来实现呢?)
设计模式之创建型单例模式
flask框架有啥用?