Wenn Sie hauptsächlich an 1 interessiert sind, würde ich zunächst die Python-Quelle verschiedener Module lesen (und nicht direkt zum C springen). Immer wenn ich die Quelle einiger Module las, habe ich neue Dinge über die Python-Programmierung gelernt.
Zweitens, wenn Sie versuchen, C besser zu lernen, würde ich persönlich etwas völlig anderes vorschlagen: Programm darin. Nur statisch Quellcode zu lesen ist nicht dazu bringen, C besser zu verstehen (oder zumindest ist es ein begrenzter Ansatz; es könnte Sie ein wenig besser machen, aber es gibt nur so viel, dass das Lesen der Quelle Sie bringt).
Nachdem Sie mindestens ein mittelgroßes Projekt in C programmiert haben, dann würde ich in Python Quelle beginnen suchen. Das ist wirklich der einzige Weg, um C besser zu kennen, und ich denke wirklich, dass das Lesen der C-Quelle von Python, ohne C gut zu kennen, Sie nicht sehr weit bringt.
Eine Idee für ein C-Projekt
Tatsächlich ist hier eine Idee für ein C-Projekt: Schreiben Sie einen Python-Interpreter in C. Offensichtlich wird es nicht einmal annähernd abgeschlossen sein, und dies ist ein ziemlich schwieriges Projekt, aber wenn Sie sich nur auf einige Teile der Sprache konzentrieren, ich Ich denke, es ist eine gute Idee.
Es wird Ihnen nicht nur helfen, C zu lernen, es wird Ihnen auch helfen, Python viel besser zu verstehen, noch bevor Sie sich die Quelle ansehen: Sie müssen ein tieferes Verständnis für vieles haben Dinge in Python haben, Sie werden die Design-Kompromisse verstehen wie Python funktioniert usw.
Wenn Sie dann endlich Pythons Code lesen, werden Sie nicht nur verstehen, warum manche Dinge so funktionieren, sondern wahrscheinlich auch viele wirklich coole C-Techniken lernen, die Probleme lösen, die Sie hatten.