python中的隐式参数

implicits的Python项目详细描述


#隐式
全局状态可能很难解释,但将依赖关系从一个函数传递到另一个函数是一件痛苦的事。使用隐式,可以显式地确定哪些函数参数是隐式依赖项。调用函数时,无需明确提供这些参数;相反,这些参数将被隐式传递!所有需要的范围内存在与您调用的参数的名称匹配的局部变量。
‘Python 3bR/> @暗示(
DEF CREATEY任务(title,*,CurriteUsAuthor):< BR/>打印(F){CurriteUsAuth}创建了一个名为“{title }”的任务)
Br/> CurrnthUpAs=“杰登”< BR/> CeaTyTeTo任务(“Hooray,任务!”)#杰登创建了一个名为“万岁,任务!”
create_task(“buy some trackpants”)jaden创建了一个名为“buy some trackpants”的任务
````

“参数”)`.

示例
`` python3
导入日志
从隐式导入隐式导入boto3


logger):
self.name=name
logger.info(f“创建名为{name}的长颈鹿”)

@property
@implicits(“logger”)
def full\u name(self,*,记录器):
logger.info(f“获取{self.name}的全名”)
返回f“{self.name}长颈鹿”

@property
@implicits(“food”)
def饥饿(self,*,food):
return“leaves”in food

@implicits(“logger”)
def main(*,记录者):
jeff=giraffe(“jeff”)创建一个名为jeff的长颈鹿“污垢”]
logger.info(jeff.is'u hung肚子)false
food.append(“leaves”)
logger.info(jeff.is'u hung肚子)false
food.append(“leaves”)
logger.info(jeff.is'u hung肚子)true

logger=logging.getlogloglogloglogger()
logger.setlevel(logging.info)
logger.addhandler(logging.streamhandler())



>main()
//>main()
`````>br/>
```啊!许多其他语言支持隐式参数。这些语言中最主流的是scala。[看看它在scala中是如何工作的!](https://docs.scala-lang.org/tour/implicit parameters.html)



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在java中模拟按键?   尽管元素存在,但HtmlUnit中的java ElementNotFoundException   在Java中,长双精度并发写入不是原子的吗?   java如何在另一个对象数组中打印对象的int值?   java在显示或更改视图后执行一些代码   java JFR:读取时发生OutOfMemoryError。jfr文件   java Android助手检查是否购买   java这种设计模式的好处是什么?   Weblogic 10.3中针对托管服务器的java部署问题   java如何获取字符串。在编译时投诉的格式   声明字符串数组时发生java错误   java JPA在多个并行线程中从表中删除时发生死锁   java Android:在按钮动画之后启动活动   java并发与JMS主题在春季   使用Lucene spatial search/DateRangePrefixTree进行java日期范围查询?   java可选接口问题   JavaDbUnit没有在每个方法之后清洗和插入数据库,所以测试不是独立的   java在IAIK PKCS11包装器中一对私钥和证书如何匹配?