Citat:
Ursprungligen postat av
_x3m_
Jag har tidigare sysslat med diverse språk som Javascript, Java, C# etc men är nu sugen på att lära mig Python. Jag har läst en del att Python kan användas för automation så något i den riktningen hade varit extra intressant. Jag är ingen person som lär mig ett nytt språk direkt från en manual utan det är något man tar i ett senare skede när man kommit in lite i det. Någon som har tips på onlinekurs (får kosta pengar), bok, videotutorial som är bra?
Hittade denna men vet inte hur den är:
https://automatetheboringstuff.com
realpython.com en otroligt bra sida som täcker det mesta, från nybörjare till avancerad nivå.
Sentdex youtube:
https://www.youtube.com/user/sentdex
Du har det mesta där.
Men kan du C# och Java så kan du koda Python utan att behöva lära om dig från början. Du får bara tänka på att vissa syntax i Python inte är samma som i C# (som en for-loop). Python är ett objekttolkat högnivåspråk och gör saker väldigt enkelt och konkret. Det jämfört med Java och C# (.Net). Allting i Python är objekt i form av antingen dict() eller Tuple(), dvs namespace. Jag skulle också rekommendera att du använder type hints (x:int, eller int x) när du lär dig Python, dvs att du deklarerar allting med datatyper (str, int etc.), helst eftersom att du kommer från C#. Det för att du inte skall råka ut för förvirring när variabel X ena stunden är int, andra student är str och tredje stunden är en instans av en egen klass då variabler inte behöver ha några deklarationer, då "motorn" tolkar variablerna utefter det sammanhang de befinner sig i.
Python och C/C++ har sedan ett intimt samarbete och många moduler till Python är i själva verket C/C++ -kodat.
En övning:
Om du är på en Linux/Unix-burk kan du ta och öppna någon fil i OSet som slutar på .py, eller så tar du en fil på realpythons github. Sedan struntar du i att försöka "lära" dig "Hello World", utan du försöker istället läsa koden som finns i filen (reverse engineering) och tyda den kod som du känner igen från C#.
Du testar sedan att manipulera koden och köra den (om det går att köra). På det sättet lär du dig programmeringsspråket utan att hålla på med "Hello World" och "Det här är variabel X och du kan definiera den som X=Y, funktionen funktion() definieras som def function()->None:".