W504: positional only / keyword only argument marker at end of long line

Offen
#951 3 Kommentare 8 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

@Jackenmen arbeitet bereits daran.

Seit 11.9.2022.

  • #1098 von @Jackenmen — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
tooling

Rechercherichtung

Reproduziere W504 mit dem Beispiel für ein positional-only argument und vergleiche es mit dem Komma-Workaround. Verfolge die Behandlung von W504 in der einzigen Python-Datei des Repositorys und überprüfe anschließend, dass der Schrägstrich nicht mehr als binärer Operator behandelt wird, während echte Zeilenumbrüche nach binären Operatoren weiterhin W504 melden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Configuraton:

  • OS: Arch Linux
  • pycodestyle version: 2.6.0
  • Python version: 3.8.3
  • Installation source: Arch Linux packages

W504 (line break after binary operator) shows up when the slash that indicates positional-only arguments (PEP 570) is followed by a newline. For example:

def really_long_name_for_a_function(
    very_long_argument_1, very_long_argument_2, /
):
    pass

pycodestyle thinks that the slash is a binary operator. I can, however, silence it using a comma after the slash, as follows:

def really_long_name_for_a_function(
    very_long_argument_1, very_long_argument_2, /,
):
    pass

I think this is an issue, as the slash isn't a binary operator, and the comma seems like a workaround for arguments on a single line than good practice (at least in this case).

Vorherrschende Sprache
Python
Sterne
5.2k
Forks
762
Ø Merge
5 Std. 16 Min.
Gemergte PRs (30 T.)
3

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus PyCQA/pycodestyle

Alle Issues in PyCQA/pycodestyle

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.