🌐 English | 한국어 | 日本語 | हिन्दी | Deutsch
.py
| Element | Kind | Beispiel |
|---|---|---|
| Funktion | function |
def greet(): |
| Async-Funktion | function |
async def fetch(): |
| Klasse | class |
class User: |
| Methode | method |
def __init__(self): |
| Klassenmethode | method |
def method(cls): |
| Modul-Level-Variable | variable |
API_URL = "..." |
| Kommentar | doc |
# Comment |
# User model for the application.
class User:
"""Represents a user in the system."""
def __init__(self, name: str, email: str):
"""Initialize a new user."""
self.name = name
self.email = email
def get_display_name(self) -> str:
"""Return the display name."""
return f"{self.name} <{self.email}>"
# Create a new user instance.
def create_user(name: str, email: str) -> User:
"""Factory function to create a user."""
return User(name, email)
async def fetch_user(user_id: int) -> User:
"""Fetch a user from the database."""
pass<file path="user.py" language="python">
<signature kind="class" line="2">
<name>User</name>
<text>class User</text>
<doc>User model for the application.</doc>
</signature>
<signature kind="method" line="5">
<name>__init__</name>
<text>def __init__(self, name: str, email: str)</text>
</signature>
<signature kind="method" line="10">
<name>get_display_name</name>
<text>def get_display_name(self) -> str</text>
</signature>
<signature kind="function" line="16">
<name>create_user</name>
<text>def create_user(name: str, email: str) -> User</text>
<doc>Create a new user instance.</doc>
</signature>
<signature kind="function" line="21">
<name>fetch_user</name>
<text>async def fetch_user(user_id: int) -> User</text>
</signature>
</file>- Python behandelt alle Elemente als public
_privateoder__mangledNamenskonventionen sind ebenfalls enthalten
- Wenn der erste Parameter
selfoderclsist, wird alsmethodklassifiziert - Andernfalls als
functionklassifiziert - Methoden mit
@staticmethodDekorator werden alsfunctionklassifiziert (kein self)
async defwird alsfunctionKind vereinheitlichtasyncSchlüsselwort ist im Signaturtext enthalten
Wenn --include-body Flag nicht verwendet wird:
- Funktionen/Methoden: Body nach Signatur-beendendem Doppelpunkt (
:) entfernt - Klassen: nur Klassenname und Vererbungsinformationen werden beibehalten
Verwenden Sie --include-private, um nicht-exportierte/private Symbole einzubeziehen.
Doppelpunkte in komplexen Type Hints (z.B. Dict[str, int]) werden von Funktions-beendenden Doppelpunkten unterschieden:
def func(x: Dict[str, List[int]]) -> str: # Nur der letzte Doppelpunkt beendet die Funktion- Aktuelle Version: nur
#Kommentare über Funktionen/Klassen werden als doc erfasst - Zukünftige Version: Triple-Quoted Docstring (
"""...""") Unterstützung geplant
Dekoratoren sind nicht in Signaturen enthalten:
@decorator
def func(): # Signatur: "def func()"- Lambda-Ausdrücke
- Verschachtelte Funktionen (nur äußere Funktion wird erfasst)