Scriptsprachen - Python Basics

Werbung
Python
Zahlen, Strings
Logik
Scriptsprachen
Python Basics
Sascha Winter
Lehrstuhl fuer Bioinformatik
Friedrich-Schiller-Universitaet Jena
[email protected]
11.08.2014
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Python
Erschien 1991, Guido van Rossum
Nach Monty Python benannt
Leicht erlernbare Syntax
Gut lesbar
Multi-Paradigmen Sprache
Objektorientiert, Imperativ, Funktional
Python 2 vs. Python 3
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Python
Interpretiert
Automatische Speicherverwaltung
Dynamisches Typensystem
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Python
i f 2==2:
p r i n t ”TEST” . s t r i p ( ”T” ) # Kommentar !
else :
p r i n t ”TEST” . s s t t r r i i p p ( ”T” )
Scriptsprachen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Python
python
python
python
python
# interaktive
−c ’command ’ # w eg w er f Code
FILE . py # f u e h r t FILE a u s
− i FILE . py # FILE , dann i n t e r a k t i v e
Scriptsprachen
Python
Zahlen, Strings
Logik
Blöcke
Blocksyntax!
i f 1 + 1 == 2 :
print ” foo ”
print ” bar ”
i f 1 + 1 == 2 :
print ” foo ” ; print ” bar ”
Tab XOR Leerzeichen!
Styleguide: Einrückung == 4 Leerzeichen
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Zahlen, Strings
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Zahlen
Unendlich große ints
a, b = 5, 2
a + b, a − b, a ∗ b, a / b, a % b
i = 0
i += 1
a , b = 5.5 , 2.25
a + b, a − b, a ∗ b, a / b
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Strings
’ S i n g l e ’ o r ” Double q u o t e s ”
p r i n t ”A v e r y l o n g s t r i n g w i t h \
a l i n e break ”
A very long s t r i n g with a l i n e break
p r i n t ””” Oth e r v e r y l o n g s t r i n g
w i t h l i n e b r e a k ”””
Other v e r y l o n g s t r i n g
with l i n e break
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Strings
”Con” + ” c a t ”
” Concat ”
” T e s t ” ∗3
” TestTestTest ”
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Strings
word = ” S i m p l e T e s t ”
word [ 3 ]
”m”
word [ : 6 ]
” Simple ”
word [ 7 : ]
” Test ”
word [ : i ] + word [ i : ] == word
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Strings
word = ” S i m p l e T e s t ”
word [ 1 : 1 0 0 ]
” Simple Test ”
word [ −1]
”t”
word [ − 3 : ]
” est ”
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Strings
s . e n d s w i t h ( s u f f i x ) # A l s o w i t h s t a r t , end
s . s t a r t s w i t h ( p r e f i x ) # A l s o w i t h s t a r t , end
s . f i n d ( s u b s t r i n g ) # A l s o w i t h s t a r t , end
Scriptsprachen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Strings
s . s t r i p ( [ chars ] ) # Also l s t r i p () , r s t r i p ()
” testtest ” . strip ( st ) # ” estte ”
s . s t r i p ( ) # Remove w i t h e s p a c e
Scriptsprachen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Strings
s . s p l i t ( s t r i n g ) # Also l s p l i t () , r s p l i t ()
# maxsplits
” 1 ,2 , ,3 ” . s p l i t ( ” , ” ) # [”1” , ”2” , ”” , ”3”]
”1 2
3” . s p l i t ( ) # [ ” 1 ” , ” 2 ” , ” 3 ” ]
Scriptsprachen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Strings
” , ” . j o i n ( [ ”1 ” , ” 2 ” , ” 3 ” ] ) # 1 , 2 , 3
” , ” . j o i n ( ” 1 ,2 ,3 ” . s p l i t ( ” , ” )) # 1 ,2 ,3
# j o i n i s the r e v e r s e operation of s p l i t
Scriptsprachen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
C-style Format Strings
”%3d , %3d , %3.3 f ” % ( 1 2 7 , 8 , 1 3 . 0 2 3 6 1 3 1 )
” 127 ,
8 , 13.024 ”
” H e l l o %s ” % ” World ”
#=> ” H e l l o World ”
”%d + %d < 10 ” % ( 5 , 4 )
#=> ”5 + 4 < 10”
Scriptsprachen
Python
Zahlen, Strings
Logik
Logik
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Logik
<, >, ==, <=, >=, !=
a < b == c
and , or , not
FALSE : F a l s e , None , 0 , 0 . 0 , ” ” , [ ] ,
Scriptsprachen
...
Python
Zahlen, Strings
Logik
Logik
p r i n t 0 and ”B”
0
p r i n t ”A” and F a l s e
False
p r i n t ”A” and ”B”
B
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Logik
a = s o m e S t r i n g F u n c t i o n ( ) # Might be ””
p r i n t a or ” D e f a u l t V a l u e ”
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
IF
x = 4
i f x < 2:
print ”x i s t
e l i f x == 2 :
print ”x i s t
else :
print ”x i s t
p r i n t ” Ende d e s
k l e i n e r 2”
g l e i c h 2”
g r o e s s e r 2”
IF ”
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
WHILE
a, b = 0, 1
while b < 10:
print b
a , b = b , a+b
1
1
2
3
5
8
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
FOR
words = [ ”Mary” , ” had ” , ” a ” , ” l i t t l e ” , ” lamb ” ]
f o r word i n words :
p r i n t word
Mary
had
a
little
lamb
Scriptsprachen
Python
Zahlen, Strings
Logik
FOR
f o r i i n range ( 1 0 ) :
print i
range ( 5 , 1 0 ) #[ 5 , 6 , 7 , 8 , 9 ]
range ( 0 , 1 0 , 2 ) #[ 0 , 2 , 4 , 6 , 8 ]
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
FOR
words = [ ”Mary” , ” had ” , ” a ” , ” l i t t l e ” , ” lamb ” ]
f o r i i n range ( l e n ( words ) ) :
p r i n t i , words [ i ]
0
1
2
3
4
Mary
had
a
little
lamb
Scriptsprachen
Python
Zahlen, Strings
Logik
Continue
f o r i i n range ( 1 0 ) :
i f i % 2 == 0 :
continue
print i
1
3
5
7
9
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Break, Else
f o r n i n range ( 3 , 1 0 ) :
f o r x i n range ( 2 , n ) :
i f n % x == 0 :
break
else :
print n
3
5
7
Scriptsprachen
Kontrollstrukturen
Python
Zahlen, Strings
Logik
Kontrollstrukturen
Pass
f o r i i n range ( 1 0 ) :
i f i % 2 == 0 :
pass # TODO: I m p l e m e n t t h i s l a t e r
else :
print i
0
2
4
6
8
Scriptsprachen
Python
Zahlen, Strings
Logik
keyword def introduces a function definition
first statement may be a docstring
Defining and calling a function
def gcd ( a , b ) :
’ ’ ’ Euclidean algorithm ’ ’ ’
w h i l e b != 0 :
t , b , a = b , a%t , t
return a
gcd ( 4 2 , 2 3 )
Scriptsprachen
Kontrollstrukturen
Herunterladen