如何为自定义类的参数指定类型提示? [复制]

     2023-03-22     114

关键词:

【中文标题】如何为自定义类的参数指定类型提示? [复制]【英文标题】:How to specify Type Hint for Parameters for Custom Classes? [duplicate] 【发布时间】:2018-01-28 22:24:06 【问题描述】:

假设我创建了一个定义如下的类,并在其上调用了方法:

class Student:

    def __init__(self, name):
        self.name = name
        self.friends = []

    def add_friend(self, new_friend: Student):
        self.friends.append(new_friend)

student1 = Student("Brian")
student2 = Student("Kate")
student1.add_friend(student2)

add_friend 方法有一个名为new_friend 的参数,它是一个Student 对象。如何使用类型提示来指定它?我假设您只需输入类的名称,例如new_friend: Student,但它不起作用。当我运行它时,我得到一个NameError: name 'Student' is not defined。我也试过new_friend: __main__.Student,但它给了我同样的错误。我做错了什么?

【问题讨论】:

【参考方案1】:

根据PEP-484,使用类的字符串名称进行前向引用:

class Student:

    def __init__(self, name):
        self.name = name
        self.friends = []

    def add_friend(self, new_friend: 'Student'):
        self.friends.append(new_friend)

【讨论】:

这是正确的。使用类型提示时,会发生前向引用和自引用,当它们发生时,只需在类名周围加上引号。

如何为视图中的所有标签设置自定义字体? [复制]

】如何为视图中的所有标签设置自定义字体?[复制]【英文标题】:howsetcustomfontforwholealllabelsinaview?[duplicate]【发布时间】:2013-03-0802:34:33【问题描述】:我想为我的完整视图设置自定义字体我已经提到了以下内容HowdoIsetacustomfontf... 查看详情

java示例代码_使用自定义类作为JAX-WS参数:如何为类型安全枚举编写JAXB适配器

java示例代码_使用自定义类作为JAX-WS参数:如何为类型安全枚举编写JAXB适配器 查看详情

如何为 Jcrop 'setSelect' 选项指定自定义值?

】如何为Jcrop\\\'setSelect\\\'选项指定自定义值?【英文标题】:HowcanIspecifyacustomizedvaluefortheJcrop\'setSelect\'option?如何为Jcrop\'setSelect\'选项指定自定义值?【发布时间】:2012-07-1404:51:00【问题描述】:我无法理解Jcrop\'setSelect\'选项。... 查看详情

如何为没有自定义字体的用户下载自定义字体? [复制]

】如何为没有自定义字体的用户下载自定义字体?[复制]【英文标题】:Howtodownloadcustomfontforuserswhodon\'thaveit?[duplicate]【发布时间】:2012-12-2917:23:09【问题描述】:可能重复:Howtoaddsomenon-standardfonttoawebsite?一位客户向我发送了一个... 查看详情

如何为 WCF 指定自定义 SoapAction

】如何为WCF指定自定义SoapAction【英文标题】:HowtospecifycustomSoapActionforWCF【发布时间】:2011-03-1216:16:47【问题描述】:我正在创建一个将从另一个服务调用的WCF服务。在WSDL中soapaction出现如下<soap12:operationsoapAction="http://tempuri.org... 查看详情

System.Text.Json:如何为枚举值指定自定义名称?

】System.Text.Json:如何为枚举值指定自定义名称?【英文标题】:System.Text.Json:HowdoIspecifyacustomnameforanenumvalue?【发布时间】:2019-11-2622:00:00【问题描述】:使用.NETCore中的System.Text.Json序列化程序功能,如何为枚举值指定自定义值,... 查看详情

如何为自定义 UITableView 标题部分笔尖添加分隔线? [复制]

】如何为自定义UITableView标题部分笔尖添加分隔线?[复制]【英文标题】:HowdoIaddaseparatorlineforacustomUITableViewheadersectionnib?[duplicate]【发布时间】:2017-04-2206:56:57【问题描述】:我按照这个答案here中的说明操作并设法获得我的自定... 查看详情

如何为自定义帖子类型创建档案

】如何为自定义帖子类型创建档案【英文标题】:howcanicreatearchivesforcustomposttype【发布时间】:2014-10-1016:00:00【问题描述】:WordPress框架允许为您的每个自定义帖子类型构建不同的存档模板,例如:archive-event.phptaxonomy-event_category... 查看详情

如何为 HTML5 日历应用自定义颜色? [复制]

】如何为HTML5日历应用自定义颜色?[复制]【英文标题】:HowtoapplycustomcolorforHTML5calender?[duplicate]【发布时间】:2014-12-2715:03:02【问题描述】:我正在设计一个Web应用程序表单。我正在使用HTML5日历元素。它现在工作正常。但我的... 查看详情

如何为自定义帖子类型存档页面创建导航

】如何为自定义帖子类型存档页面创建导航【英文标题】:Howtocreatenavigationforcustomposttypearchivepage【发布时间】:2012-06-2906:23:09【问题描述】:我有一个显示自定义帖子类型标题的模板。我在小组中有大约60个帖子。页面设置为每... 查看详情

TypeScript:如何为已安装的 npm 包定义自定义类型?

】TypeScript:如何为已安装的npm包定义自定义类型?【英文标题】:TypeScript:Howtodefinecustomtypingsforinstallednpmpackage?【发布时间】:2016-10-0503:33:24【问题描述】:我喜欢在TypeScript中使用rx-nodeimportRxNodefrom\'rx-node\';我使用npm安装了rx-node... 查看详情

类型提示:类型类的参数 [重复]

...icate]【发布时间】:2016-01-2723:45:22【问题描述】:我正在定义一个方法deffoo_my_class(my_class:???,bar:str)->None:"""Operateonmy_class"""我想知道,如何使用类型提示功能来指定应在第一个参数中传递的类。基本上,我应该放什么而不是 查看详情

如何为流类型设置默认值?

】如何为流类型设置默认值?【英文标题】:HowtosetadefaultvalueforaFlowtype?【发布时间】:2017-02-0603:34:21【问题描述】:我已经定义了一个自定义流类型exporttypeMyType=code:number,type:number=1,如果不存在任何值,我希望type参数默认为1。... 查看详情

java示例代码_泛型类,如何为可能的参数类型定义构造函数

java示例代码_泛型类,如何为可能的参数类型定义构造函数 查看详情

如何为python中具有无效变量名的dict键定义类型提示?

】如何为python中具有无效变量名的dict键定义类型提示?【英文标题】:Howcanonedefineatypehintfordictkeyshavinginvalidvariablenamesinpython?【发布时间】:2022-01-2310:42:30【问题描述】:如果我在字典中有一个始终需要的键,但该键名不是有效... 查看详情

如何为 iPhone 6/7 自定义边到边图像指定尺寸?

】如何为iPhone6/7自定义边到边图像指定尺寸?【英文标题】:HowtospecifysizeforiPhone6/7customisededge-to-edgeimage?【发布时间】:2014-11-1114:04:24【问题描述】:假设我希望一个捆绑图像占据iPhone应用程序中所有可用的屏幕宽度-例如横幅。... 查看详情

我应该如何为自定义相机设置曝光和白平衡值

】我应该如何为自定义相机设置曝光和白平衡值【英文标题】:HowshouldIsetexposureandwhitebalancevaluesforcustomcamera【发布时间】:2014-02-1015:12:00【问题描述】:如果我在Android自定义相机中初始化相机参数时不设置曝光和白平衡会发生... 查看详情

是否可以为参数指定多个类型提示? [复制]

】是否可以为参数指定多个类型提示?[复制]【英文标题】:Isitpossibletospecifymorethanonetypehintforaparameter?[duplicate]【发布时间】:2011-04-1921:34:47【问题描述】:有没有办法为一个方法添加多个类型提示?例如,foo(param)必须接收字符... 查看详情