Python programmering. Per Tøfting. MacFest
|
|
|
- Max Bro
- 9 år siden
- Visninger:
Transkript
1 Python programmering MacFest 2005 Per Tøfting
2 Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer if while for Funktioner Moduler Exception
3 Måder at afvikle et Python program på Interaktiv: Terminalen: $ python >>> Afslut interaktiv og vend tilbage til alm. terminal vindue: Ctrl+D MacPython: IDLE: Menu: Windows > Python Interactive >>> Starter med interaktiv vindue Python Shell' >>>
4 Måder at afvikle et Python program på Modul filer: $ python modul.py Script filer: Find evt. ud af hvad der skal stå i første linie af filen med: $ which python Første linie: eller: #!/usr/bin/python #!/usr/bin/env python Filen skal gøres eksekverbar: $ chmod 744 script.py eller: $ chmod u+x script.py $./script.py
5 Variabler En variabel er en pegepind (reference), der peger på den adresse i computerens arbejdslager (RAM), hvor en værdi (objekt) er placeret. Den eksiserer fra den tildeles en værdi. a = 1 Dens værdi kan ændres når programmet udføres. a = 2 Den kan tildeles værdier af forskellig type under udførelsen af programmet. a = 'abc' Et objekts identitet: id(a) Et objekts type: type(a) Variabelnavne: starte med et bogstav (A til Z eller a til z) eller understregning (_) efterfulgt at nul eller flere bogstaver, tal (0 til 9) eller understregninger. a 1 a abc
6 Data typer tal Heltal: Decimal tal: 1, 23, 567, L (0 til 9) Octale tal: 01, 027 (0 til 7, og starter med 0) Hexadecimale tal: 0x1, 0xDA5 (0 til 9 og A til F, starter med 0x) sys.maxint angiver maximale heltal. L eller l efter heltal angiver long version uden predefineret højeste tal. Reelle tal (kommatal, floating point): En sekvens af decimal tal der inkluderer et decimal punktum (.), en exponet del eller begge dele. 0.0, 1.0, 1.e2, 1e 2 Komplekse tal: Skrives som real del + imaginære del efterfulgt af j eller J. 3+4J, 9+2J
7 Aritmetiske operatorer +x Plus x Minus x + y Addition x y Subtraktion x * y Multiplikation x ** y Eksponent x / y Division, ægte x // y Division, heltals x % y Modulus, rest Ved division brug: from future import division
8 Data typer sekvenser Sekvens: En ordnet kontainer af elementer, som er indexeret med ikke negative tal, starter fra 0. Sekvenstyper: Strenge (tekststrenge): 'Hej', MacFest Tupler: (2, 5), (2, 'Hej', 0xA) Lister: [2, 5], [2, 'Hej', 0xA] M a c F e s t
9 Data typer dictionary Dictionary (ordbog): En uordnet samling af elementer indexeret af næsten vilkårlige værdier kaldet nøgler. Elementerne i et dictionary består af nøgle:værdi par. Nøglerne kan være af forskellig type, men skal være hashable. Værdierne er vilkårlige objekter og kan have forskellig type. {'x':42,'y':3.14,'z':7}, {1:2,3:4}
10 Kontrol strukturer Et programs flow er kontroleret af betingelser, løkker og funktionskald. Betingelser (selektion): if sætninger if else sætninger if elif... else sætninger Løkker (iteration): while løkker for løkker Funktionskald: def sætninger
11 if sætninger Syntaks for if sætninger: if udtryk: if udtryk: else: if udtryk: elif udtryk: elif udtryk: [else: ] Et udtryk er en sætning, der resulterer i en værdi, som evalueres til at være sand eller falsk i if sætninger og while løkker. pass : den tomme sætning.
12 Relations og betingelsesoperatorer x == y x er lig med y x!= y x er ikke lig med y x < y x er mindre end y x > y x er større end y x <= y x er mindre end eller lig med y x >= y x er større end eller lig med y x is y x og y er det samme objekt x is not y x og y er ikke det samme objekt x in y x er et element i kontaineren y x not in y x er ikke et element i kontaineren y not x boolsk NOT x and y boolsk AND x or y boolsk OR Returnerer True eller False. Sammenligninger kan kædes sammen: 0 < a < 100.
13 Sand eller falsk i boolks sammenhæng I boolsk sammenhæng er enhver værdi enten sand eller falsk. Falsk: Sand: False None Tallet 0 uanset type En tom streng, tuple, liste og dictionary True Alle tal på nær 0 En ikke tom streng, tuple, liste eller dictionary Brug: if x: Ikke: if x is True: if x == True: if bool(x):
14 while og for løkker Syntaks for while løkke: break: bryd ud af løkke. while udtryk: [else: ] continue: sprig over resten af løkken, fortsæt med næste gennemløb af løkke. Syntaks for for løkke: for element in itererbar: [else: ]
15 Funktioner Syntaks for funktioner: def funktionsnavn(parameterliste): parameterliste: positions parametrer w valgfrie parametrer x = udtryk ekstra positions parametrer *y ekstra valgfrie parametrer **z Kald af funktion: funktionsnavn(argumentliste) argumentliste: positions argumenter navngivne argumenter return udtryk : Retuner et resultat fra funktionen ellers returneres None.
16 Scope Namespace Scope: Den del af et program hvor en variabels værdi kan tilgås. Lokal variabel: En variabel, som er oprettet i en funktions blok. Variablen er først tilgængelig, fra den er oprettet og tildelt en værdi. Dens eksistens kendes ikke udenfor funktionen. En funktions parametrer er også lokale variabler. En lokal variabel med samme navn som en global variabel skjuler den globale variabel. Global variabel: En variabel der er oprettet udenfor funktionerne i et modul. En global variabels værdi kan nås i en funktion, men skal værdien ændres skal variablen erklæres global i funktionen.
17 Moduler import modulnavn [as nymodulnavn] modulnavn.funktionsnavn() from modulnavn import funktionnavn [as nyfunktionnavn] from modulnavn import * funktionsnavn() Egne modulers pladsering import sys sys.path.append('/sti til modul(er)') Eller brug af PYTHONPATH.bash_profile tilføjes: export PYTHONPATH=/sti til modul(er):$pythonpath Stien til et modul findes med Unix kommandoen pwd, når man står i biblioteket med modulet.
18 Exceptions undtagelser Syntaks for try/except sætninger: try: except [udtryk [, variabel]]: [else: ] Syntaks for try/finally sætninger: try: finally:
Lær Python dag 1 - modul 1
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
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.
Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.
Introduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
JavaScript. nedarvning.
JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man
Programmering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.
Indhold Beregn rødder... 2 Beskrivelse af kærneproblemet... 2 Plan for brugerfladen for programmet... 3 Operationer på inddata... 4 Output - Beskrivelse af uddata... 4 Flowchart - programmets logiske opbygning/struktur...
Introduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12.
Introduktion til programmering Uge 38.1 Python 2 Learning Python, kap 8-12. Opsummering Store dele af Python kan forstås gennem følgende simple model: En repræsentation/udtryk står for et objekt/en værdi
Noter til C# Programmering Selektion
Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,
Noter til C# Programmering Iteration
Noter til C# Programmering Iteration Programflow Programmer udfører det meste af deres arbejde vha. forgrening og løkker. Løkker Mange programmeringsproblemer kan løses ved at gentage en handling på de
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
Lær Python - Dag 4, modul 2 Objektorienteret programmering
Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.
Eksamens spørgsmål Software Construction. Objekter. Spørgsmål 1: Januar Giv en beskrivelse af Objekt-begrebet og deres brug
Spørgsmål 1: Objekter Giv en beskrivelse af Objekt-begrebet og deres brug Under eksaminationen forventes du at forklare: Hvad er en type og en variabel? Hvordan erklæres en variabel? Hvad forstås ved en
Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract
Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget
Forelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:
Kapitel 3 Betinget logik i C#
Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret
Lær Python - Dag 3, modul 1 Læse og skrive filer
Lær Python - Dag 3, modul 1 Læse og skrive filer Simon J. Larsen 15. oktober 2017 Institut for Matematik og Datalogi Læse og skrive filer Persistens Vi har ofte brug for at gemme data på disken som ikke
Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
Kapitel 4 Løkker i C#
Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave
Start på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Sammenlign og byt. Et eksempel på dokumentering af et program
Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver
Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0.
Kursus 02199: Programmering afsnit 3.1-3.5 Anne Haxthausen IMM, DTU 1. Kontrol af programudførn (afsnit 3.1) 2. Valg-sætninger (if og switch) (afsnit 3.2 og 3.3) 3. Bloksætninger (afsnit 3.2) 4. Logiske
SWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14.
Introduktion til programmering Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Plan Programmeringsparadigmer Funktionel programmering i Python Pause Scope: referencekonteksten
//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Python 3 kursus lektion 1:
Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan
Denne rapport vil beskæftige sig med hvordan computere bruger matematiske algoritmer til at sortere tal efter størrelse.
Sorteringsalgoritmer Af Tobias André Højsgaard Klasse 2.4 Roskilde Tekniske Gymnasium IT Opgavens mål Denne rapport vil beskæftige sig med hvordan computere bruger matematiske algoritmer til at sortere
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.
Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i
Programmering C RTG - 3.3 09-02-2015
Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...
Kursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
Grundlæggende Matematik
Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske
METODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
Programmering i C Intro og grundlæggende C 5. marts 2007
Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR [email protected] Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner
HTML, PHP, SQL, webserver, hvad er hvad??
Dagens menu HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner, oprettelse og kald (og variable på tværs af funktioner) echo vs return? if-else konstruktioner MySQL: Hvad
Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.
Kapitel 20: Talsystemer 20 Resumé af talsystemer... 344 Indtastning og omregning af talsystemer... 345 Udførelse af matematiske beregninger med hexadecimale og binære tal... 346 Sammenligning eller manipulation
Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner
Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6
Programmering I Java/C#
Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren
Programmeringscamp. Implementer funktionerne én for én og test hele tiden.
Programmeringscamp De to opgaver træner begge i at lave moduler som tilbyder services der kan bruges af andre, samt i at implementere services efter en abstrakt forskrift. Opgave 1 beder jer om at implementere
Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014
Matematik Hayati Balo,AAMS August, 2014 1 Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske symboler.
Kommentarer til opgave 4-6
Kommentarer til opgave 4-6 Opgaverne er stort set OK. De viser at tankegangen er rigtig. Nogle programmer virker ikke, men kræver blot en enkelt rettelse. De bliver godkendt, men I bør selv altså gøre
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);
Computer Science Camp
Computer Science Camp Uge 29, 2015 Ungdommens Naturvidenskabelige Forening Det faglige team Søren Dahlgaard (koordinator) Mathias Bæk Tejs Knudsen (koordinator) Kasper Fabæch Brandt Davy Leth Eskildsen
JavaScript. Grundlæggende elementer. Jørgen Sørensen. jososoft software development. 1998-2007 Jørgen Sørensen
JavaScript Grundlæggende elementer Jørgen Sørensen jososoft software development 1998-2007 Jørgen Sørensen Indholdsfortegnelse Introduktion Det første program Variabler.. Operatorer Objekthierarkiet i
Grundlæggende Matematik
Grundlæggende Matematik Hayati Balo, AAMS Juli 2013 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske
Software Construction 1 semester (SWC) Spørgsmål 1
Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /
Algoritmer og invarianter
Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.
Dokumentation af programmering i Python 2.75
Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt
