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)
全局状态可能很难解释,但将依赖关系从一个函数传递到另一个函数是一件痛苦的事。使用隐式,可以显式地确定哪些函数参数是隐式依赖项。调用函数时,无需明确提供这些参数;相反,这些参数将被隐式传递!所有需要的范围内存在与您调用的参数的名称匹配的局部变量。
‘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)