草庐IT

Annotations

全部标签

python - 如何让 SublimeText 支持 Python 3 的注解?

我测试了SublimeText2和3,但都存在问题:如果您测试这段代码,您会注意到之后的所有代码:都不会被正确地语法高亮显示。deffoo(a,b)->str:#Nothinggetsproperlycoloredfromhere#Abunchofcode…return"bar"我找到了一些解释如何添加您自己的语法高亮规则的链接,但我没有找到如何修改已经实现的规则以尝试修复它们。编辑:感谢MattDMo,现在知道在哪里修改默认语法高亮规则,我尝试更改文件的第385行end(\))\s*(?:(\:)|(.*$\n?))到end(\))\s*(?:\->\s*[A-Za-z_][A-Za

python - 解包 Python 的类型注解

我试图通过使用inspect模块中的signature()函数,根据我在某些Python函数中提供的类型注释生成一些JavaScript。当类型是一个简单的内置类时,这部分工作如我所料:importinspectdefmy_function()->dict:passsignature=inspect.signature(my_function)signature.return_annotationisdict#True虽然我不确定如何打开和检查更复杂的注释,例如:fromtypingimportListimportinspectdefmy_function()->List[int]:p

Python 类型提示和 linter

我一直在为我们的python项目添加静态类型检查,例如:fromtypingimportListfromsomethingimportMyOtherClassclassMyClass:def__init__(self)->None:self.some_var=None#type:List[MyOtherClass]但是,现在我们使用的linter(flake8和pylint)将List报告为未使用的变量,因为它们未在实际代码中使用。(顺便说一下,pep8处理得很好)。所以我们最终将代码更改为:fromtypingimportList#noqa#pylint:disable=unused

python - 如何通过函数注解表明一个函数需要一个函数作为参数,或者返回一个函数?

您可以使用functionannotations在python3中指示参数和返回值的类型,如下所示:defmyfunction(name:str,age:int)->str:returnname+str(age)#usefulfunction但是,如果您编写的函数需要一个函数作为参数或返回一个函数怎么办?我知道您可以为注释编写任何有效的表达式,所以我可以将“函数”写成字符串,但这是最好的/唯一的方法吗?有没有像内置类型int/float/str/list/dict等的东西?我知道callable,但我想知道是否还有其他内容。 最佳答案

Python参数注解未解析引用

为什么提示找不到我的类(class)?为什么我应该创建另一个具有相同名称的类以使其不提示?fromtypingimportDictclassWeekDay:def__init__(self,day_number,day_name):self.day_name=day_nameself.day_number=day_number@staticmethoddefget_week_days()->Dict[str,WeekDay]:#WeekDayunresolvedreferenceerrorweekdays={"monday":WeekDay(1,"Monday"),"tuesday":

python - 在 Python 3.6 中运行时根据 Union 类型检查变量

我正在尝试编写一个函数装饰器,它使用Python3.6类型提示来检查参数字典是否遵守类型提示,如果没有引发错误并清楚地描述问题,则用于HTTPAPI。问题是当函数有一个使用Union类型的参数时,我无法在运行时根据它检查变量。比如我有这个功能fromtypingimportUniondefbark(myname:str,descr:Union[int,str],mynum:int=3)->str:returndescr+myname*mynum我能做到:isinstance('Arnold',bark.__annotations__['myname'])但不是:isinstance(3

idea报错:java_ 程序包com.github.xiaoymin.knife4j.spring.annotations不存在

问题描述在瑞吉外卖中添加swagger的相关配置,启动项目后报错:分析与解决java:程序包com.github.xiaoymin.knife4j.spring.annotations不存在,首先思路是查看本地仓库是否有对应的jar包或者是否导入了相关依赖。排查过程如下:根据上图,发现本地仓库已有对应的jar包,而且我已正确导入依赖,那么问题出在哪?经过一番搜索,类似的问题给我提供了思路:选中jar包所在依赖包,右键选择Openlibrarysettings在弹出的对话框中,复制依赖包的名字打开项目的iml文件(reggie_take_out.iml),添加如下配置:orderEntrytyp

python - 如何在 python3 中注释生成器?

Python3.x支持(可选)函数注解:defadd_ints(x:int,y:int)->int:returnx+y我有时会遇到如何表示给定“类型”的问题,而这一次,我有一个返回生成器的函数:defmyfunc(x:[int])->"generatorthatreturnsints":#^~~~~~~~~~~~~~~~~~~~~~~~~~return(nforninxifn%2==0)返回值应该怎么注解?有什么引用可以引用吗? 最佳答案 虽然Generator[x,y,z]存在,但大多数时候,您可能希望使用更简洁的Iterator

ios - 右标注附件方法及实现

我想知道是否有人可以告诉我如何向map注释添加正确的标注附件。我尝试的一切似乎都无济于事,因此我们将不胜感激。编辑我已经尝试过这行代码,但注释没有任何不同。-(MKAnnotationView*)mapview:(MKMapView*)senderviewForAnnotation:(id)annotation{MKAnnotationView*aView=[[MKPinAnnotationViewalloc]initWithAnnotation:annotationreuseIdentifier:@""];aView.rightCalloutAccessoryView=[UIButt

ios - 右标注附件方法及实现

我想知道是否有人可以告诉我如何向map注释添加正确的标注附件。我尝试的一切似乎都无济于事,因此我们将不胜感激。编辑我已经尝试过这行代码,但注释没有任何不同。-(MKAnnotationView*)mapview:(MKMapView*)senderviewForAnnotation:(id)annotation{MKAnnotationView*aView=[[MKPinAnnotationViewalloc]initWithAnnotation:annotationreuseIdentifier:@""];aView.rightCalloutAccessoryView=[UIButt