Okay - finde ich toll, dass du hier im Forum nachfragst. Ein fairer Vergleich ist ja in unser allen Interesse, denke ich. Also auf gehts, zu meinen Kommentaren:
Von Python zu Ruby hat geschrieben:there are some enforced case-conventions (ex. class names start with a capital letter, variables start with a lowercase letter).
Wie sieht dieses "Enforcement" aus, also was passiert wenn eine Klasse klein geschrieben wird?
In Python gibt es sowas technisch nicht - ganz recht. Jedoch gibt es den Styleguide, PEP8, an den sich viele halten und der eben diese case-conventions auch für Python festlegt. Wie du hier im Forum auch siehst, wird des öfteren hingewiesen, wenn ein Code sich nicht an PEP8 hält, so gesehen ist das eine Art soft-enforcement.
Von Python zu Ruby hat geschrieben:there’s only one kind of list container (an Array), and it’s mutable.
In Python gibt es zwar mehrere Container, wie Tupeln, Listen, Sets, Dicts, jedoch das was die meisten Leute unter Array verstehen sind in Python Listen und die sind ebenso mutable.
Von Python zu Ruby hat geschrieben:there’s public, private, and protected to enforce access, instead of Python’s _voluntary_ underscore __convention__.
Man könnte noch gegebenfalls etwas über Namespace-Mangling schreiben.
Von Python zu Ruby hat geschrieben:you can re-open a class anytime and add more methods.
Man kann ebenso in Python-Klassen (und Instanzen) während der Laufzeit Funktionen und Attribute hinzufügen und ändern, nur ist die Vorgehensweise etwas anders.
Von Python zu Ruby hat geschrieben:the usual-style comments on the line(s) above things (instead of docstrings below them) are used for generating docs.
Docstrings dokumentieren nicht das was über ihnen steht (wäre ja auch seltsam), sondern die Klasse oder Funktion in der sie an erster stelle stehen. Davon abgesehen sind es ganz normale, scheinbar ungebundene Strings (und müssen nichtmal Tripple-Quoted sein).