linter: AncakPython typehints ve böyle örneğin, bizim piton projeye statik typechecking ekleyerek oldum
from typing import List
from something import MyOtherClass
class MyClass:
def __init__(self) -> None:
self.some_var = None # type: List[MyOtherClass]
, biz (flake8 ve PyLint) örneği List
olarak kullanılmayan değişkenler için raporu kullanma şimdi linter Çünkü gerçek kodda kullanılmazlar. (Bu arada pep8 iyi işliyor).
Bu yüzden bu kod değiştirerek sona:
from typing import List # noqa # pylint: disable=unused-import
from something import MyOtherClass # noqa # pylint: disable=unused-import
class MyClass:
def __init__(self) -> None:
self.some_var = None # type: List[MyOtherClass]
bu çözmek için daha iyi bir çözüm var mı? Kullanılmayan tüm içe aktarma uyarılarını devre dışı bırakmak istemiyoruz.
ben tip kontrolü için yeni Bu çok aptalca bir soru ise özür dilerim, ama gerçekten '__init __() '(yapıcı)' Yok'unu döndürdüğünü tanımlamak gerekli midir? – Guillaume
@Guillaume, [PEP 484] 'e göre (https://www.python.org/dev/peps/pep-0484/#the-meaning-of-annotations), * "__init__'nin dönüş türü olmalıdır. '-> Hiçbiri' ile açıklanamaz. Bunun nedeni süptildir. '__init__', '-> None' ifadesinin bir geri sayımını kabul ettiyse, bu, argümansız, açıklanmamış '__init__' yönteminin hala türünde olması gerektiği anlamına gelir Bu muğlaklıktan vazgeçmek ya da istisnaya bir istisna getirmekten ziyade, '__init__' için bir dönüş açıklaması olması gerektiğini' söylüyoruz. * –
Ah, 3.6 sürümünüzü bekliyor! – tobspr