类型提示、链式赋值和多重赋值

2024-06-26

我想这两个问题是相关的,所以我将它们放在一起:

1.- 是否可以在链式赋值中放置类型提示?

这两次尝试都失败了:

>>> def foo(a:int):
...     b: int = c:int = a
  File "<stdin>", line 2
    b: int = c:int = a
              ^
SyntaxError: invalid syntax
>>> def foo(a:int):
...     b = c:int = a
  File "<stdin>", line 2
    b = c:int = a
         ^
SyntaxError: invalid syntax

2.- 是否可以在多个赋值中放置类型提示?

这些是我的尝试:

>>> from typing import Tuple
>>> def bar(a: Tuple[int]):
...     b: int, c:int = a
  File "<stdin>", line 2
    b: int, c:int = a
          ^
SyntaxError: invalid syntax
>>> def bar(a: Tuple[int]):
...     b, c:Tuple[int] = a
... 
  File "<stdin>", line 2
SyntaxError: only single target (not tuple) can be annotated
>>> def bar(a: Tuple[int]):
...     b, c:int = a
... 
  File "<stdin>", line 2
SyntaxError: only single target (not tuple) can be annotated

我知道在这两种情况下,类型都是从 a 的类型提示推断出来的,但是我有一个很长的变量列表(在__init__一个类),我想特别明确。

我正在使用Python 3.6.8。


  1. 正如明确指出的PEP 526 https://www.python.org/dev/peps/pep-0526/,“拒绝/推迟的提案”部分,不支持链接作业中的注释。引用 PEP 的话:

    这与元组解包类似,存在歧义和可读性问题,例如:
    x: int = y = 1
    z = w: int = 1
    这是不明确的,y和z的类型应该是什么?第二行也很难解析。

  2. 对于解包,根据相同的 PEP,您应该在赋值之前为变量添加裸注释。来自 PEP 的示例:

    # Tuple unpacking with variable annotation syntax
    header: str
    kind: int
    body: Optional[List[str]]
    header, kind, body = message
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型提示、链式赋值和多重赋值 的相关文章

  • 如何获取 Pandas df.merge() 不匹配的列名称

    给出以下数据 data df pd DataFrame Reference A A A B C C D E Value1 U U U V W W X Y Value2 u u u v w w x y index 1 2 3 4 5 6 7
  • 从networkx中的文件中读取具有pos属性的节点

    我是 Networkx 的新手 我有一个包含以下格式的节点位置的文件 0 23 23 12 23 where 0是一个节点 23 23 and 12 23分别是X和Y坐标 有谁知道如何读取节点pos属性 使用类似的函数read edgeli
  • 如何将 typeshed 与 mypy 一起使用?

    我克隆了typeshed https github com python typeshed但我不知道如何告诉 mypy 使用它包含的类型提示 我在 mypy help 中没有看到任何选项 mypy 存储库确实包含对 typeshed 存储库
  • Ruby 相当于 Python 的多处理模块是什么?

    为了在 Ruby 或 Python 中获得真正的并发性 我需要创建新的进程 Python 使用以下命令使这变得非常简单multiprocessing模块 它抽象了所有 fork wait 的好处 让我专注于我的代码 Ruby 有类似的东西吗
  • 获取父类名? [复制]

    这个问题在这里已经有答案了 class A object def get class self return self class class B A def init self A init self b B print b get cl
  • 使用 cx_oracle 返回 MERGE 中受影响的行数

    如何在 CX Oracle 中执行 MERGE INTO sql 命令来获取受影响的行数 当我在cx oracle 上执行MERGE SQL 时 我得到的cursor rowcount 为 1 有没有办法获取受合并影响的行数 由于 cx o
  • 使用 pytherejs 嵌入小部件:错误的视角和相机观察

    我在用pythreejs可视化一些 3D 模型 在 Jupyter 笔记本上可视化模型时 一切都按预期进行 但是当尝试将小部件嵌入 HTML 文档时 我面临两个问题 看起来相机在加载时正在查看 0 0 0 而不是预期的那样 一旦您与小部件交
  • os.walk 无需深入研究下面的目录

    我该如何限制os walk只返回我提供的目录中的文件 def dir list self dir name whitelist outputList for root dirs files in os walk dir name for f
  • Python 中没有名称属性的表单提交

    背景 在Python中使用urllib和urllib2 您可以进行表单提交 您首先创建一个字典 formdictionary search stackoverflow 然后使用 urllib 的 urlencode 方法来转换这个字典 pa
  • 如何为 PyYAML 编写代表程序?

    我想要一个自定义函数来序列化任意 python 对象 就像 json dump 函数有一个名为 default 的可选参数 如果对象不是 json 可序列化的 它应该是 json 转储器将调用的函数 我只是想从 json 包中执行相当于此操
  • [Python]比较两个 zip 文件的函数,一个位于 FTP 目录中,另一个位于我的本地计算机上

    我在创建比较两个 zip 文件的函数时遇到问题 如果它们相同 而不仅仅是名称相同 这是我的代码示例 def validate zip files self host 192 168 0 1 port 2323 username 123 pa
  • 如何在 Google App Engine (Python) 中定义配置变量/常量?

    我是 python GAE 的新手 想知道如何快速定义和使用全局设置变量 所以说你 git 克隆我的 GAE 应用程序 然后打开config yaml 添加更改设置 应用程序就全部连接起来 如下所示 config yaml or whate
  • 在Python中将月份和年份的列合并为季度和年份的列

    我有一个数据框 df Month 1 8 Year 2015 2020 df pd DataFrame data df df 想要将其转变为新列 期望的输出 df Month 1 8 Year 2015 2020 Quarter Q1201
  • python请求ssl握手失败

    每次我尝试这样做 requests get https url 我收到这条消息 import requests gt gt gt requests get https reviews gethuman com companies Trace
  • 如何忽略 Sentry 捕获中的某些 Python 错误

    我已将 Sentry 配置为捕获 Django Celery 应用程序中的所有错误 它工作正常 但我发现一个令人讨厌的用例是当我必须重新启动我的 Celery 工作人员 PostgreSQL 数据库或消息服务器时 这会导致数千种各种 无法访
  • 抓取 Shopee API v4

    我有一个最终项目 其中我想要检索的数据是通过在shopee上抓取数据来获取的 但是当我在隐藏的API上抓取shopee时遇到问题 当我在Insomnia脚本上尝试时 脚本会运行 但是当我尝试时在本地或 google colab 脚本上 这是
  • 如何使用 opencv python 根据检测到的物体的位置生成其热图

    我需要根据对象的位置生成其热图 示例 视频帧中检测到的绿色球 如果它长时间停留在某个位置 那么该位置应该是红色的 并且球在短时间内经过的帧中的位置必须是蓝色的 这样我就需要生成热图 提前致谢 那么你在这里可以做的是 1 首先定义一个热图作为
  • VSCode IntelliSense 认为 Python 'function()' 类存在

    VSCode IntelliSense 正在完成一个名为的 Python 类function 这似乎不存在 例如 这似乎是有效的代码 def foo value return function value foo 0 But functio
  • print() 函数的有趣/奇怪的机制

    我正在学习Python 我目前正在学习如何定义自己的函数 并且在尝试理解返回值和打印它之间的区别时遇到了一些困难 我读到的关于这个主题的描述对我来说不太清楚 所以我开始自己尝试 我想我现在已经明白了 如果我没记错的话 区别在于你可以传递 a
  • 合并共享属性的节点

    EDITED 我真的需要 Networkx graph 专家的帮助 假设我有以下数据框 我想将这些数据框转换为图表 然后我想根据描述和优先级属性将两个图映射到相应的节点 df1 From description To priority 10

随机推荐

  • 从图中删除颜色条

    这应该很容易 但我很难做到 基本上 我在 matplotlib 中有一个子图 每次调用函数时我都会在其中绘制十六进制图 但是每次调用该函数时我都会得到一个新的颜色条 所以我真正想做的是更新颜色条 不幸的是 这似乎不起作用 因为颜色条附加的对
  • 如何使用 EasyNetQ / RabbitMQ 进行错误处理

    我在 C 中使用 RabbitMQ 和 EasyNetQ 库 我在这里使用发布 订阅模式 我还有几个问题希望大家能帮助我解决 当使用消息时出现错误时 它会自动移至错误队列 如何实现重试 以便将其放回原始队列 并且当处理 X 次失败时 将其移
  • 跟踪已输出哪些 JSON 对象

    我通过将索引设置为 a 来随机输出 20 个左右的 JSON 对象randomNumber 最初是在页面加载时 我正在单独刷新已按 timeInterval 输出的每个 JSON 对象 为了跟踪已输出的 JSON 项目 我将每个项目的索引存
  • 在 JavaScript 中获取当前会话值?

    我有一个场景 我在浏览器中打开 Web 应用程序 但在两个单独的选项卡中 在一个选项卡中 我从应用程序注销 因此所有会话值都变为空 在另一个选项卡中 我单击了网络应用程序中的锚标记 在锚标记的 jquery on click 事件中 我检查
  • 对类方法进行指针部分特化时出现“非法使用显式模板参数”

    您好 我在部分专业化方面遇到问题 我想要做的是拥有一个具有模板成员函数的类 该函数会将给定值解释为用户指定的值 例如类名是Value这是我想做的事情的一个片段 int ptr1 new int ptr1 10 Value val1 ptr1
  • 在azure上发布网站时,webjobs被删除

    当我在创建了多个 Web 作业的现有网站上发布网站时 这会删除服务器上的所有文件 并且所有 Web 作业都会被删除 我认为这是因为 webjobs 存储在 App Data 文件夹中 删除 APP Data 目录后 作业也会被删除 发布时如
  • 我应该在删除数据之前禁用聚集索引吗?

    我知道这已经像任何事情一样被讨论过 但找不到我可以接受的可靠答案 假设我有一个有100亿条记录的表 需要删除where子句中带有标识列的记录 我应该选择哪个选项 选项1 禁用索引 这将节省删除后重新排列索引的开销 但会花费更长的时间来搜索需
  • org.eclipse.jgit.api.errors.InvalidRemoteException:无效的远程:起源 - Spring Cloud

    我正在使用 GIT 开发 Spring Boot Cloud 使用Spring Boot 2 2 2 RELEASE版本 SpringBootCloudChap2ConfigServerGitApplication java SpringB
  • aws-mock-sdk s3.getObject 不起作用

    这是我的 lambda 处理程序 我在其中使用各种 AWS 服务 exports handler function event context var body event var isValidBody validate doValida
  • DownloadProgressChangedEventHandler 多久被调用一次

    我正在使用 Webclient 异步下载文件 我想知道多久一次 DownloadProgressChangedEventHandler 被调用吗 用户可以控制吗 以下内容适用于完整的 NET Framework 因为您的问题被标记为 ASP
  • PHP 数组按月和总和分组

    我有一个 php 数组 如第一张图片所示 我想要的只是按月获取值的总和 如下所示 我知道这对我们大多数人来说可能很容易 但说实话 我找不到可行的方法来实现它 我尝试在谷歌上搜索 但我找到的所有结果都是关于对数据库查询结果进行分组和求和 而对
  • 当我尝试在 VS 中添加文件时加载类型库/DLL 时出错(HRESULT:0x80029C4A)

    当我尝试在 Web 项目中创建视图时遇到问题 这是我的错误消息 There was an error running the selected code generator Error loading type library DLL Ex
  • I18n C++ 复数形式的 hello world

    完整的 C i18n gettext hello world 示例 https stackoverflow com questions 1003360 complete c i18n gettext hello world example
  • 在 CouchDB 1.0 中创建用户时出错

    我的系统是 ubuntu 10 04 安装了 CouchDB 1 0 我可以创建管理员或更多管理员 以管理员身份登录 一切正常 从 CouchDB 0 11 开始 存在非管理员用户的概念 并且可以对数据库拥有细粒度的权限 我想创建这样的用户
  • 启用 useLegacyV2RuntimeActivationPolicy 的影响?

    对于我当前的项目 我们使用一些基于 CLR 2 的混合模式程序集 为了在 NET 4 目标程序集中使用这些 我知道您必须添加useLegacyV2RuntimeActivationPolicy true to the
  • 使用 Chrome Canary 运行 WebDriver?

    有没有办法告诉铬驱动程序 https code google com p chromedriver the 网络驱动程序 https dvcs w3 org hg webdriver raw file default webdriver s
  • Symfony 表单:如何更改表单生成的默认小部件

    我正在为日期字段使用自定义小部件 并且我想在所有表单中使用它 问题是 symfony 使用默认的 sfWidgetFormDate 我想要的是更改此默认小部件 以便使用我的自定义小部件生成表单 我不想手动更改生成的所有表单 我发现的唯一方法
  • 如何像格式化数组一样使用 monolog 记录多行条目?

    我正在尝试记录一个数组monolog in symfony logger this gt get logger logger gt info print R user true 我得到的输出未格式化为 print r 预期的格式 它将所有内
  • java: log4j: jar 可执行文件的问题

    当我从命令行运行 java package Main 时 我的 log4j 工作正常 但是当我使用 java jar myjar jar 等可执行 jar 运行相同的程序时 我收到以下错误 log4j WARN No appenders c
  • 类型提示、链式赋值和多重赋值

    我想这两个问题是相关的 所以我将它们放在一起 1 是否可以在链式赋值中放置类型提示 这两次尝试都失败了 gt gt gt def foo a int b int c int a File