社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

避免类型化python中的顺序依赖

Phil Lord • 5 年前 • 1484 次点击  

我在玩输入的python。它基本上运行良好,但我有 因为顺序依赖性而重新排序我的很多代码。例如 考虑一下这个玩具代码:

from typing import ClassVar, List

class MyFirstClass:
    attr: MyClass

class MyClass:
    # You can optionally declare instance variables in the class body
    attr: int

class MySecondClass:
    attr: MyClass

这无法正确编译,因为 MyClass 未声明 在我的头等舱里:

Traceback (most recent call last):
  File "Temp.py", line 5, in <module>
    class MyFirstClass:
  File "Temp.py", line 6, in MyFirstClass
    attr: MyClass
NameError: name 'MyClass' is not defined

惹人生气的。这附近有吗?我做错什么了吗? 我已经想出了最好的办法来定义我的类,首先 时间没有躯体。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39745
 
1484 次点击  
文章 [ 1 ]  |  最新文章 5 年前
L3viathan
Reply   •   1 楼
L3viathan    6 年前

解决方法是未来的一个重要方面:

from __future__ import annotations

这会导致python在运行时不计算注释,而是将它们附加到 __annotations__ 作为字符串。

此更改在 PEP 563 - Postponed evaluation of annotations . 请注意,它需要Python3.7+。