Nasıl bir parametre olması bekleniyor ne PyCharm söyleyebilir miyim?
Kurucular ve atamaları ve Yöntem çağrıları gelince, PyCharm IDE benim kaynak kod analiz ve her değişkenin ne olması gerektiğini anlamakta oldukça iyidir. Bana kod tamamlama ve parametre iyi bilgi verir, Çünkü, seviyorum, ve eğer var olmayan bir öznitelik erişmeye çalışırsam bana uyarı veriyor.
Ama parametreleri gelince, o hiçbir şey bilmiyor. Kod tamamlama açılır listesini parametresi ne olacağını bilmiyorum çünkü hiçbir şey gösterebilir. Kod çözümleme uyarıları göremiyorum.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
peasant = Person("Dennis", 37)
# PyCharm knows that the "peasant" variable is of type Person
peasant.dig_filth() # shows warning -- Person doesn't have a dig_filth method
class King:
def repress(self, peasant):
# PyCharm has no idea what type the "peasant" parameter should be
peasant.knock_over() # no warning even though knock_over doesn't exist
King().repress(peasant)
# Even if I call the method once with a Person instance, PyCharm doesn't
# consider that to mean that the "peasant" parameter should always be a Person
Bu anlamda belirli bir miktar yapar. Diğer arama siteleri Bu parametre için bir şey verebilir. Ama eğer benim yöntemi beklediği bir parametre için tür, diyelim ki, pygame.Surface
, olmak isterdim mümkün olduğunu belirtmek için PyCharm nasılsa öyle göster bana Surface
'In niteliklerini kendi kod tamamlama açılır ve vurgulamak uyarıları ararsam yanlış bir yöntem.
Orada PyCharm bir ipucu verebilirim bir yoldur, ve de ki: "gel, Bu parametre tür olması gerekiyordu X"? (Ya da belki de, dinamik diller ruhuyla, "Bu parametre gerekiyordu vak" X "gibi"? Bu benim için yeterli olurdu.)
DÜZENLEME:CrazyCoder cevabı, aşağıda, işe yarıyor. Hızlı Özet isteyen benim gibi yeni gelenler için:
class King:
def repress(self, peasant):
"""
Exploit the workers by hanging on to outdated imperialist dogma which
perpetuates the economic and social differences in our society.
@type peasant: Person
@param peasant: Person to repress.
"""
peasant.knock_over() # Shows a warning. And there was much rejoicing.
İlgili bölümü kütüphane @type peasant: Person
çizgidir.
Ayrıca ^ Dosyaya gidin . Ayarlar >Python Entegre Araçları ve "" "" o zaman PyCharm.>Epytext Görüntülemek için Kütüphane biçimi ayarla Hızlı Arama Belgeler çok baskı parametre bilgi tüm baskı yerine @hatları gibi.
CEVAP
Evet, PyCharm türünü biliyorum metodlar ve parametreleri için özel belgeler format kullanabilirsiniz. Son PyCharm versiyon supports most common doc formats.
Örneğin, PyCharm özler @param style comments tür.
Ayrıca reStructuredText docstring conventions (KEP 257).
Başka bir seçenek Python 3 ek açıklamalar.
Daha fazla ayrıntı ve örnekler için refer to the PyCharm documentation section lütfen.
Nasıl bir setTimeout için bir parametr...
Nasıl bölüm Python kayan nokta olması ...
Java nasıl bir iş Parçacığı için bir p...
DbEntityValidationException - Nasıl ko...
Nasıl yeni bir Rails uygulaması oluştu...