2017-08-01 34 views
13

Bunlar ne anlama geliyor?Python - tipi ipuçları kıvırcık parantez

def f(a: {int, float}): 
    pass 

Ben pycharm aracılığıyla dokümanları alınırken bazı standart Python modülleri kullanılan bu sözdizimini gördüm ve ne anlama geldiğini hiçbir fikrim yok. Örneğimde a için ipucu türü nedir? Bu işleve hangi türleri geçebilirim?

Bu master parametre türü {tk, _w} ait tkinter sitesindeki Frame__init__ yöntem olup seen özel bir örneği.

+0

benziyor 'f' int' bir parametre' 'Çeşidi a' alabilir veya' –

+1

Eğer böyle bir paket adını söyleyebilir float'? Python için bir yoruma eşdeğerdir, ancak Mypy gibi diğer kütüphaneler bunları kod analizinde kullanabilir. –

+0

değişkenler python'da sabit/kalıcı bir türe sahip değillerdir. İpuçları –

cevap

8

Bu bir tüyo o adlandırılmış ayrıntılar 'int ve float' ile bir nesneyi istediği sizi anlatıyor - ya da daha spesifik olarak Tkinter 'tk' ve '_w'

için ben pycharm içinde minimal bir örnek yukarı kodlu : piton kütüphanesini sources Inpecting

enter image description here

- Sen master.tk ve master._w erişimlerini orada denenir görebilirsiniz. Pycharm'ın parametre ana türü hakkında çıkarım yapabilmesi bu yüzden bu şekilde IDE'ye ulaştı.