Python

Hva er programmering?


  place_of_birth = "Toten"
  your_age = 60

  if (place_of_birth == "Toten" and your_age > 50):
      print("Python kan uttales på norsk")
  else:
      print("Python uttales på engelsk")

Text

Python tekstfil: uttale.py

Python black box


  my_spoken_language = "norwegian"

  if my_spoken_language == "norwegian":
      print("Velkommen til python-undervisningen")
  else:
      print("Welcome to the Python class")

  my_spoken_language = input("What is your preferred spoken language?")

  if my_spoken_language == "norwegian":
      print("Velkommen til python-undervisningen")
  else:
      print("Welcome to the Python class")
  
  x = int(input("Oppgi et heltall mellom 1 og 100:  "))

  print(str(x) + " kvadrert er " + str(x * x))

Hvorfor programmering?

hackathon:

hack4no 2017

Om "hacking"

Ordet "hackathon" er samansett av “hacke” og “maraton”. Å "hacke" tyder i denne samanhengen å programmere, bruke data og lage appar, tenester og andre digitale løysingar. "Maraton" spelar på at ein over to heile dagar jobbar i eitt for å bli ferdig med ei løysing eller utvikle ein idé.

Idé:

Lage en vær- og føre-rapport for en veistrekning

https://www.vegvesen.no/
trafikkinformasjon/
reiseinformasjon

Hvorfor programmering?

 

Ett svar:

Du kan hente inn og beardbeide data fra mange kilder - på den måten du vil. Skreddersydd til ditt formål.

Python black box

data-fil

API

Python-program

bruker-dialog

Resultater

Application

Programming

Interface

Syntaks
Semantikk
Pragmatikk

False None True 
and as assert 
async await break 
class continue def 
del elif else 
except finally for 
from global if 
import in is 
lambda nonlocal not 
or pass raise 
return try while 
with yield

Python-språket har 35 ord, men vi skal bare bruke noen av dem.


  import math

  print("sinus til en vinkel på 60 grader er " + str(math.sin(math.radians(60))))

Python-språket kan utvides ved å importere nye ord

math er en del av Python Standard Library

abs()   delattr()   hash()
memoryview()   set()   all()
dict()   help()   min()
setattr()   any()   dir()
hex()   next()   slice()
ascii()   divmod()   id()
object()   sorted()   bin()
enumerate()   input()   oct()
staticmethod()   bool()   eval()
int()   open()   str()
breakpoint()   exec()   isinstance()
ord()   sum()   bytearray()
filter()   issubclass()   pow()
super()   bytes()   float()
iter()   print()   tuple()
callable()   format()   len()
property()   type()   chr()
frozenset()   list()   range()
vars()   classmethod()   getattr()
locals()   repr()   zip()
compile()   globals()   map()
reversed()   __import__()   complex()
hasattr()   max()   round()

Noen funksjoner i Python Standard Library er så mye brukt, at de ikke behøver å importeres for hver gang - de er tilgjengelige hele tiden.


    (   )   [   ]
    :   ,   ;
    +   -   *   /
    |   &
    <   >
    =   .   %   {   }
    ==   !=   <=   >=   ~
    ^   <<   >>   **
    +=   -=   *=   /=   %=   &=   |=   ^=
    <<=   >>=   **=   //   //=   @   @=   ->   ...

Disse symbolene har en spesiell betydning:


    for i in range(0, 10):
        print(i)

Syntaks handler om å sette sammen ord og tegn på riktig måte, slik reglene for Python-språket forutsetter.

Noen viktige syntaks-regler for Python:

 

- hver linje danner en setning (unntaksregler finnes)

- linjeskift avslutter en setning (ikke punktum)

- hvis en linje avsluttes med kolon betyr det starten på en kodeblokk

- en kodeblokk skrives med innrykk (4 mellomrom, vanligvis)

- en kodeblokk avsluttes når det kommer en linje uten innrykk

- Python skiller mellom store og små bokstaver

- navn kan ikke starte med tall

- navn må begynne med bokstaver eller _

Semantikk

 

Semantikk er læren om språkets innhold, sammenhengen mellom ord, fraser og setninger og deres betydning eller mening.

 

Store norske leksikon


    x = 12


    A = [12, 84, 3.5, 9]


    print(A[2])

Pragmatikk

Pragmatikk er en holdning eller handlemåte hvor man er fleksibel og opptatt av å nå en praktisk nyttig løsning, heller enn å følge overordnede teoretiske prinsipper eller regler.

Faktaboks

UTTALE

pragmatˈikk

 

ETYMOLOGI fra gresk: pragmatike (tekhne) '(kunsten) å handle riktig', avledet av pragma ‘handling, sak’

Store norske leksikon

def my_function(a, b):
    c = a * b
    return c
def area_rectangle(length, width):
    area = length * width
    return area

De to funksjonene har riktig syntaks, samme semantikk, men den ene viser en bedre utviklet pragmatikk. Hvorfor?