def f(points: tuple):
return map(do_stuff, points)
: Doğrudan Python'un türlerine atıfta aksine
from typing import Tuple
def f(points: Tuple):
return map(do_stuff, points)
Ve diğerini ne zaman kullanmalıyım?
def f(points: tuple):
return map(do_stuff, points)
: Doğrudan Python'un türlerine atıfta aksine
from typing import Tuple
def f(points: Tuple):
return map(do_stuff, points)
Ve diğerini ne zaman kullanmalıyım?
typing.Tuple
ve typing.List
Generic types; bu olmalı ne onların içeriğini yazın belirtebilirsiniz anlamı:
def f(points: Tuple[float, float]):
return map(do_stuff, points)
Bu geçirilen tanımlama grubu iki float
değerleri içeren gerektiğini belirtir. Bunu, yerleşik tuple
türüyle yapamazsınız.
typing.Tuple
burada, belirli bir sayıda öğeyi ve her bir konumun türünü belirtmenizi sağlaması açısından özel bir husustur. Uzunluk ayarlanmamışsa ve elips tekrarlanmalıdır: Tuple[float, ...]
, float
s ile değişken uzunlukta tuple
açıklar.
typing.List
ve diğer dizi türleri için genellikle yalnızca tüm öğeler için türü belirtin; List[str]
, herhangi bir boyuttaki dizelerin bir listesidir. Fonksiyonların argüman olarak type.Sequence
değerini alması gerektiğini ve typing.List
tipik olarak sadece geri dönüş tipleri için kullanıldığını unutmayın; genel olarak çoğu fonksiyonun herhangi bir diziyi alacağı ve sadece yinelendiği, ancak bir list
döndürdüğünüzde, gerçekten belirli bir değiştirilebilen dizi türünü döndürüyorsunuz. Şu anda içeriği kısıtlamıyor olsanız bile, typing
jeneriklerini her zaman seçmelisiniz. Ortaya çıkan değişiklik daha küçük olacağından, bu kısıtlamayı daha sonra genel bir türle eklemek daha kolaydır.
Birincisi, SO'nun sözdizimine vurgu yaparken çok daha iyi görünüyor! –
Bunu okuduğumda, bunu okuyana kadar aynı soruyu sorduğumu kendimi buldum. https://docs.python.org/3/library/typing.html – MooingRawr
[Tuple, öğe türlerini listeleyerek kullanılır. örneğin Tuple \ [int, int, str \]] (https://www.python.org/dev/peps/pep-0484/#the-typing-module) – Kasramvd