Lær Python dag 1 - modul 1

Relaterede dokumenter
Python programmering. Per Tøfting. MacFest

Lær Python - Dag 4, modul 2 Objektorienteret programmering

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

Python 3 kursus lektion 1:

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering for begyndere Lektion 2. Opsamling mm

Lær Python - Dag 3, modul 1 Læse og skrive filer

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

Programmering C RTG

DM536. Rapport og debug

Indhold. Maskinstruktur Kapitel 1. Assemblersprog Indledning Hop-instruktioner Input og output...

Dokumentation af programmering i Python 2.75

Introduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12.

Programmering I Java/C#

Sammenlign og byt. Et eksempel på dokumentering af et program

Introduktion til funktioner, moduler og scopes i Python

Abstrakte datatyper C#-version

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16,

#AlleKanKode. Lektion 2 - Konstanter og Variabler

DM507 Algoritmer og datastrukturer

Mircobit Kursus Lektion 1

JavaScript. nedarvning.

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

Test af It-komponent

Computer Science Camp

MS Visual Studio Basic En kort vejledning

Introduktion Til Konkurrenceprogrammering

Software Construction 1 semester (SWC) Spørgsmål 1

Arduino Programmering

Noter til C# Programmering Selektion

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter Abstract

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

Lær Python - Dag 4, modul 1 Objektorienteret programmering

DDD Runde 2, 2015 Facitliste

Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet.

DM507 Algoritmer og datastrukturer

Introduktion til ActionScript

DM507 Algoritmer og datastrukturer

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Crash Course i Programmering. HumTek, RUC

Undtagelseshåndtering i C#

Kapitel 4 Løkker i C#

DM507 Algoritmer og datastrukturer

9. Tyverialarm med buzzer

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Introduktion Indtastning Funktioner Scripts Optimering. Matlab

DM507 Algoritmer og datastrukturer

Fagets IT Introduktion til MATLAB

DM507 Algoritmer og datastrukturer

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni jun 2011 MapBasic &.

Visual Basic for begyndere

Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

DM502. Peter Schneider-Kamp

Microcontroller, Arduino

Installationsvejledning til softphone og app

Vejledning Post modul

Start på Arduino og programmering

HTX, RTG. Rumlige Figurer. Matematik og programmering

Lektion 2. Grundlæggende programmering i VR

02101 Indledende Programmering Introduktion til Eclipse

BRP Kursusintroduktion og Java-oversigt

Programmering og Problemløsning, 2017

Mircobit Kursus Lektion 2

Transkript:

Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet

Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1

Velkommen

Hvem er vi Steffen Berg Klenow Jonas Bamse Andersen 23 a r 23 a r Datalogi 7. semester Datalogi 7. semester Fritid: Foto og cykling Fritid: FDF og gaming 2

Kursets Opbygning To moduler pr dag, pause/frokost imellem modulerne Et modul består af: Introduktion Opgaver Learn by doing. Tag små pauser når I har brug for det. Husk at stille spørgsmål! 3

Hjemmeside Kurset har en hjemmeside: https://imada.sdu.dk/~sklen15/python/ Her findes slides, opgaver og eventuelle tips og tricks. 4

Software Python og en tekst-editor skal installeres. Python 3.7 Editor/IDE: Sublime, Visual Studio Code, Pycharm... 5

Installation af python 1. Download python installationsfilen https://www.python.org/downloads/release/python-370. Vælg mellem windows/linux/mac. 2. Kør den downloadede installationsfil. 3. Tjek at python er installeret rigtigt ved at køre følgende kommando i en terminal/komandoprompt: python --version Her skal python svare tilbage med den version I har installeret, dvs.: Python 3.7.0 6

Fordele/Ulemper ved python Fordele Simpelt sprog - nemt at lære Stort standardbibliotek (allerede implementede funktioner) Kan køre på mange platforme Udbredt brugt både i industri og forskning Ulemper Langsomt ift. mere avancerede sprog som C/C++ 7

Hvad bruges python til Scripting - små hurtige programmer Data behandling og visualisering Machine Learning og Deep Learning Backend-development (eg. brugt af Instagram) Hardwareprojekter 8

Programmering i python

Hvad er et program Program = sekvens af instruktioner Instruktioner beskriver hvad der skal ske / hvad der skal beregnes Termer: Instruktioner: Hvad selve programmet består af Input: Input som programmet skal forholde sig til Output: Resultatet af programmet Computere er dumme! (men hurtige). Gør kun som de får besked på... First, solve the problem. Then write the code. - John Johnson 9

Eksekvering af et program Programmer skrives i et højniveau-sprog, så som C, Java eller Python. Et program skal oversættes (compiles) før computeren kan forstå det. Computeren udfører instruktioner baseret på program og input og producerer et output. Flow: Et program udføres indstruktion for instruktion, fra top til bund. 10

Eksekvering i en terminal Åben en terminal (mac), komandoprompt (windows) Naviger til placering af dit python-program Eksekver med følgende kommando: python <program_navn>.py 11

Eksekvering i pycharm Tryk på play-knappen. 12

Strukturering af et pythonprogram Et python-program er struktureret via indeksering. Dvs. hvordan man formaterer sin kode kan afgøre om et program kan køres eller ej. Vær opmærksom på hvordan det er gjort i de givne eksempler. Kodeblokke skal være indekseret til samme niveau 13

Typer, variabler og udtryk

Datatyper - et programs enheder Følgende er de mest brugte primitive typer: Datatyper Eksempel String (streng) Hej Integer (heltal) 42 Float (kommatal) 42.0 Boolean True Derudover er der de mere avancerede typer som: List, tuple og dictionary Mere om dem senere... En type kan tjekkes i python via: type(< type der skal tjekkes >) Program: type(42.0) Output: <class float > 14

Konvertering mellem typer (casting) Nogle typer kan konverteres/tvinges til at blive andre typer. Konvertering til kommatal: float (4) 4.0 Konvertering til heltal: int (4.3) 4 Konvertering til streng: str(4 + 3) 7 15

Variabler En variabel er en beholder som kan gemme en værdi. I hukommelsen bliver der reserveret plads til den givne variabel. En variabel har et navn: Tilladte variabelnavne x et navn TEST var2 hej Forbudte variabelnavne 1var en.var -var Giv meningsfyldte variabelnavne! 16

Variabler Ud over førnævnte forbudte variabelnavne er der nogle reserverede nøgleord, som heller ikke må bruges. Disse er: and, exec, not, assert, finally, or, break, for, pass, class, from, print, continue, global, raise, def, if, return, del, import, try, elif, in, while, else, is, with, except, lambda, yield Hvad de forskellige nøgleord bruges til vil I løbende komme til at forstå... 17

Variabler En tildeling gemmer noget i den givne beholder/variabel. Tildeling til en variabel sker på følgende vis: <navn> = <værdi> Tildeling af et heltal: x = 42 Tildeling af en streng: hilsen = hej med jer 18

Operatorer Følgende beskriver de basale operatorer anvendt på tal: Operatorer Beskrivelse Eksempel Resultat + Læg to operanter sammen 40 + 2 42 Træk to operanter fra hinaden 50 8 42 Gang to operanter 6 7 42 / Division mellem to operanter 126/3 42 // Heltalsdivision mellem to operanter 126.5//3 42 Eksponentiering 2 3 8 19

Operatorer Følgende beskriver de basale operatorer anvendt på tal: Operatorer Beskrivelse Eksempel Resultat + Læg to operanter sammen 40 + 2 42 Træk to operanter fra hinaden 50 8 42 Gang to operanter 6 7 42 / Division mellem to operanter 126/3 42 // Heltalsdivision mellem to operanter 126.5//3 42 Eksponentiering 2 3 8 Disse operatorer kan måske anvendes på andet?... 19

Streng-operatorer Addition?: print( hej + Per ) 20

Streng-operatorer Addition?: print( hej + Per ) hej Per 20

Streng-operatorer Addition?: print( hej + Per ) hej Per Subtraktion?: print( hej ej ) 20

Streng-operatorer Addition?: print( hej + Per ) hej Per Subtraktion?: print( hej ej ) Traceback (most recent call last ): File <stdin>, line 1, in <module> TypeError: unsupported operand type(s) for : str and str 20

Streng-operatorer Multiplikation?: print( hej 3) 21

Streng-operatorer Multiplikation?: print( hej 3) hejhejhej 21

Streng-operatorer Multiplikation?: print( hej 3) hejhejhej Division?: print( hej / 3) 21

Streng-operatorer Multiplikation?: print( hej 3) hejhejhej Division?: print( hej / 3) Traceback (most recent call last ): File <stdin>, line 1, in <module> TypeError: unsupported operand type(s) for /: str and int 21

Udtryk Et udtryk er en kombination af værdier, variabler og operatorer Eksempler på udtryk: 5 x = 3 x + 5 x = 2 y = 3 (1 + x) 5 y Regnereglernes hieraki overholdes. 22

Print Udskriv udtryk og variablers værdier med print-funktionen: Program: print( hej ) print(42) x = 23 print(x) Output: hej 42 23 Print kan bruges til output fra et program, men også til fejlfinding af ens program (debugging). 23

Input fra brugeren Input fra brugeren tages på følgende vis: <variabel> = input(<beskrivende streng>) Eksempel 1: navn = input( Hvad er dit navn? ) Eksempel 2: alder = input( Hvad er din alder? ) 24

Kommentarer Kommentarer i koden er tekst som ignoreres når koden eksekveres. Disse er kun til ære for den der læser koden. print( hej ) # en kommentar som beskriver denne instruktion # en fritstående kommentar som beskriver den følgende kode print( whatup ) Gode kommentarer hjælper når man ser på sin kode lang tid efter man har skrevet den. 25

Moduler Mange ting er allerede implementeret i python af dygtige programmører. Disse funktioner er tilgængelige via moduler (aka. biblioteker). Fx kan vi benytte math-biblioteket til at lave klassiske matematiske operationer: Program: import math x = 64 y = math.sqrt(x) print(y) Output: 8 Se dokumentation for alle matematikfunktioner: https://docs.python.org/3/library/math.html 26