Je connais très bien Ruby. Je pense que je devrais peut-être apprendre Python actuellement. Pour ceux qui connaissent les deux, quels sont les concepts similaires entre les deux, et ceux qui sont différents ?
Je cherche une liste similaire à celle que j'ai rédigée pour Apprendre Lua pour les JavaScripters : des choses simples comme la signification de l'espace blanc et les constructions en boucle ; le nom de l'élément nil
en Python, et quelles valeurs sont considérées comme "véridiques" ; est-il idiomatique d'utiliser l'équivalent de map
y each
ou sont mumble quelque chose à propos des compréhensions de la liste mumble la norme ?
Si je reçois une bonne variété de réponses, je serai heureux de les regrouper dans un wiki communautaire. Sinon, vous pouvez tous vous battre et vous inspirer les uns des autres pour essayer de créer la seule vraie liste complète.
Editar : Pour être clair, mon objectif est un Python "correct" et idiomatique. S'il existe un équivalent Python de inject
mais personne ne l'utilise parce qu'il existe un moyen meilleur/différent de réaliser la fonctionnalité commune d'itération d'une liste et d'accumulation d'un résultat en cours de route, je veux savoir comment vous faites les choses. Je vais peut-être mettre à jour cette question avec une liste d'objectifs communs, comment vous les atteignez en Ruby, et demander quel est l'équivalent en Python.
1 votes
La seule chose que j'ai lue est c2.com/cgi/wiki?PythonVsRuby Je n'aime pas vraiment le self et les indentations mais je m'y suis habituée :)
1 votes
En rapport : stackoverflow.com/questions/1113611/ (Je ne suis pas tout à fait sûr qu'il s'agisse d'un doublon, car cette question demande des choses sans équivalent).
1 votes
@Saif Cette discussion comportait beaucoup d'exemples dépassés et mauvais la dernière fois que j'ai vérifié. Suggérer
a=[];0.upto(2){|i|0.upto(2){|j|a<<[i,j] if i!=j}}
comme un équivalent Ruby de[(x,y) for x in xrange(3) for y in xrange(3) if x != y]
(et ensuite supprimer tous les espaces et appeler cela une amélioration) est à peu près ce que vous risquez de faire lorsque vous ne tenez pas compte des conseils d'ircmaxell.0 votes
J'ai remarqué mais cela pourrait être un bon point de départ, j'utilise python maintenant pour mon projet de fin d'études et il m'a fallu un certain temps pour m'habituer au style
19 votes
@SilentGhost Je ne suis pas du tout d'accord. Je demande "Qu'est-ce qui est identique entre les langues, et qu'est-ce qui est différent ?". Comme le montrent de nombreuses réponses ci-dessous, il y a des réponses très claires et utiles possibles pour cela.
3 votes
@Phrogz : Je vois cela et rend la question sans réponse.
0 votes
Cette question conviendrait-elle aux programmeurs SE ?
2 votes
@Phrongz - Pour faire écho à ce que j'ai dit sur le méta-sujet que vous avez posté, le problème avec cette question est que l'espace du problème est trop grand - c'est un sujet trop grand pour une seule question. Il y a des milliers de différences entre les deux langues.
2 votes
Vote pour la réouverture. Certaines réponses montrent que la question peut être traitée et qu'elle sera utile à l'avenir.
0 votes
Je ne code ni en Ruby ni en Python, mais je n'aime pas voir certains des meilleurs programmes de l'année. technique les réponses à cette question vont. Sauvé de la suppression, vous êtes le bienvenu.
1 votes
Je programme en ruby pour les amateurs qui doivent programmer en python pour des raisons économiques. J'ai voté pour et j'ai ajouté une étoile à cette question