SORU
11 HAZİRAN 2011, CUMARTESİ


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
11 HAZİRAN 2011, CUMARTESİ


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • esnathesinger

    esnathesinge

    6 NİSAN 2009
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006