02. Jupyter Notebook¶
ehemalige Veranstaltungen ia3.netz + ia3.data sowie ia4.Netz im Studiengang Interaktive Medien
(c) 2020/2021 Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever
In [1]:
beispiel = [1,2,5,7,9]
beispiel
Out[1]:
[1, 2, 5, 7, 9]
In [3]:
beispiel = list("123456")
beispiel
Out[3]:
['1', '2', '3', '4', '5', '6']
In [4]:
beispiel = list(beispiel)
beispiel
Out[4]:
['1', '2', '3', '4', '5', '6']
In [5]:
beispiel = list([1,2,3,4,5])
beispiel
Out[5]:
[1, 2, 3, 4, 5]
In [6]:
beispiel = list("dies ist ein Satz")
beispiel
Out[6]:
['d', 'i', 'e', 's', ' ', 'i', 's', 't', ' ', 'e', 'i', 'n', ' ', 'S', 'a', 't', 'z']
In [7]:
beispiel[5:8] = list("war")
beispiel
Out[7]:
['d', 'i', 'e', 's', ' ', 'w', 'a', 'r', ' ', 'e', 'i', 'n', ' ', 'S', 'a', 't', 'z']
In [9]:
beispiel = tuple("dies ist ein Satz")
beispiel
Out[9]:
('d',
'i',
'e',
's',
' ',
'i',
's',
't',
' ',
'e',
'i',
'n',
' ',
'S',
'a',
't',
'z')
In [10]:
beispiel[5:8]
Out[10]:
('i', 's', 't')
In [11]:
beispiel[5:8] = tuple("war")
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-11-547058ae9f76> in <module>() ----> 1 beispiel[5:8] = tuple("war") TypeError: 'tuple' object does not support item assignment
In [12]:
for i in range(len(beispiel)):
print(i,beispiel[i])
0 d 1 i 2 e 3 s 4 5 i 6 s 7 t 8 9 e 10 i 11 n 12 13 S 14 a 15 t 16 z
In [13]:
beispiel.index('S')
Out[13]:
13
In [14]:
beispiel.index('i')
Out[14]:
1
In [15]:
beispiel.index('i',2)
Out[15]:
5
In [16]:
a = [1,2,3,4]
b = [3,4,5,6,7,8]
c = set(a)
c
Out[16]:
{1, 2, 3, 4}
In [18]:
d = set(b)
d
Out[18]:
{3, 4, 5, 6, 7, 8}
In [19]:
c&d
Out[19]:
{3, 4}
In [20]:
c|d
Out[20]:
{1, 2, 3, 4, 5, 6, 7, 8}
In [21]:
c-d
Out[21]:
{1, 2}
In [22]:
d-c
Out[22]:
{5, 6, 7, 8}
In [24]:
e = {8,5,6,7}
e
Out[24]:
{5, 6, 7, 8}
In [25]:
{5,6,7,8} == {8,5,6,7}
Out[25]:
True
In [27]:
z = zip([1,2,3,4],[5,6,7,8])
In [28]:
for i in z:
print(i)
(1, 5) (2, 6) (3, 7) (4, 8)
In [32]:
dict(z)
Out[32]:
{}
In [31]:
dict(zip([1,2,3,4],[5,6,7,8]))
Out[31]:
{1: 5, 2: 6, 3: 7, 4: 8}
In [33]:
dict(zip(["sieben","acht","neun"],[7,8,9]))
Out[33]:
{'sieben': 7, 'acht': 8, 'neun': 9}
In [34]:
a = dict(eins=1,zwei=2,drei=3)
a
Out[34]:
{'eins': 1, 'zwei': 2, 'drei': 3}
In [35]:
c = dict(zip(["sieben","acht","neun"],[7,8,9]))
c
Out[35]:
{'sieben': 7, 'acht': 8, 'neun': 9}
In [37]:
a.update(c)
a
Out[37]:
{'eins': 1, 'zwei': 2, 'drei': 3, 'sieben': 7, 'acht': 8, 'neun': 9}
In [38]:
a.update({'eins':2,'zwei':1})
a
Out[38]:
{'eins': 2, 'zwei': 1, 'drei': 3, 'sieben': 7, 'acht': 8, 'neun': 9}
In [39]:
a.items()
Out[39]:
dict_items([('eins', 2), ('zwei', 1), ('drei', 3), ('sieben', 7), ('acht', 8), ('neun', 9)])
In [40]:
adressbuch = []
Kontakt1 = {'Name':'Mayer','Vorname':'Hans','Mobilnummer':'013409059066'}
adressbuch.append(Kontakt1)
Kontakt2 = {'Name':'Hinterberger','Vorname':'Wolfgang','Mobilnummer':'03578376666'}
adressbuch.append(Kontakt2)
adressbuch
Out[40]:
[{'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '013409059066'},
{'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '03578376666'}]
In [41]:
adressbuch[0]['Name']
Out[41]:
'Mayer'
In [46]:
adressbuch = [dict(Name='Mayer',Vorname='Hans',Mobilnummer='01737848782'),
dict(Name='Hinterberger',Vorname='Wolfgang',Mobilnummer='94787353599')]
In [43]:
adressbuch
Out[43]:
[{'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '01737848782'},
{'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '94787353599'}]
In [45]:
sorted(adressbuch, key=lambda t: t['Name'])
Out[45]:
[{'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '94787353599'},
{'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '01737848782'}]
In [47]:
sorted(adressbuch, key=lambda t: t['Vorname'])
Out[47]:
[{'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '01737848782'},
{'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '94787353599'}]
In [48]:
lambda t: t['Vorname']
Out[48]:
<function __main__.<lambda>(t)>
In [49]:
def bspfkt(t):
return t['Vorname']
In [ ]:
bspfkt()
In [50]:
class Ort():
Defaulthoehe = 0.0
def __init__(self, nord, ost, hoehe=0):
self.Ost = ost
self.Nord = nord
if hoehe:
self.Hoehe = hoehe
else:
self.Hoehe = self.Defaulthoehe
def getKoord(self):
return (self.Nord,self.Ost)
def setKoord(self, nord, ost):
self.Ost = ost
self.Nord = nord
In [51]:
ort = Ort()
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-51-10b20bffb8c1> in <module>() ----> 1 ort = Ort() TypeError: __init__() missing 2 required positional arguments: 'nord' and 'ost'
In [52]:
ort = Ort(48.358163,10.906377)
ort.getKoord()
Out[52]:
(48.358163, 10.906377)
In [53]:
ort.Hoehe
Out[53]:
0.0
In [54]:
adressbuch = []
class Person(object):
def __init__(self, Name, Vorname, Geburtsdatum, Alter=None, Geschlecht=None):
self.Name = Name
self.Vorname = Vorname
self.Geburtsdatum = Geburtsdatum
self.Alter = Alter
self.Geschlecht = Geschlecht
def setContactDetails(self, Telprivate=None, Telbusiness=None, EMail=None):
self.Telefon = dict(Privat=Telprivate,Business=Telbusiness)
self.EMail = EMail
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))
adressbuch[0].setContactDetails(Telprivate="4926589255",EMail="hmueller@gmx.de")
adressbuch[1].setContactDetails(Telprivate="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telprivate="0161423274",EMail="annwel@1und1.de")
In [55]:
adressbuch
Out[55]:
[<__main__.Person at 0x1863c50eb70>, <__main__.Person at 0x1863c50ebe0>, <__main__.Person at 0x1863c50ec18>]
In [56]:
adressbuch[0].Telefon
Out[56]:
{'Privat': '4926589255', 'Business': None}
In [57]:
adressbuch = []
class Person(object):
def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
self.Name = Name
self.Vorname = Vorname
self.Geburtsdatum = Geburtsdatum
self.Geschlecht = Geschlecht
self.Telefon = dict()
self.EMail = dict()
def setContactDetails(self, Telefon, EMail, Typ="Privat"):
self.Telefon.update({typ: Telefon})
self.EMail.update({typ: EMail})
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))
adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-57-8f53e1d6cc33> in <module>() 19 adressbuch.append(Person("Weller","Annika","10.11.1997")) 20 ---> 21 adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de") 22 adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business") 23 adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de") <ipython-input-57-8f53e1d6cc33> in setContactDetails(self, Telefon, EMail, Typ) 12 13 def setContactDetails(self, Telefon, EMail, Typ="Privat"): ---> 14 self.Telefon.update({typ: Telefon}) 15 self.EMail.update({typ: EMail}) 16 NameError: name 'typ' is not defined
In [58]:
adressbuch = []
class Person(object):
def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
self.Name = Name
self.Vorname = Vorname
self.Geburtsdatum = Geburtsdatum
self.Geschlecht = Geschlecht
self.Telefon = dict()
self.EMail = dict()
def setContactDetails(self, Telefon, EMail, Typ="Privat"):
self.Telefon.update({Typ: Telefon})
self.EMail.update({Typ: EMail})
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))
adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [59]:
adressbuch[0].Telefon
Out[59]:
{'Privat': '4926589255', 'business': '492658457485'}
In [60]:
adressbuch[0].setContactDetails(Telefon="08956736576",EMail="hans.mueller@muenchen.de",Typ="Wohnung München")
In [61]:
adressbuch[0].Telefon
Out[61]:
{'Privat': '4926589255',
'business': '492658457485',
'Wohnung München': '08956736576'}
In [62]:
adressbuch = []
class Person(object):
def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
self.Name = Name
self.Vorname = Vorname
self.Geburtsdatum = Geburtsdatum
self.Geschlecht = Geschlecht
self.Telefon = dict()
self.EMail = dict()
def setContactDetails(self, Telefon, EMail, Typ="Privat"):
# self.Telefon.update({Typ: Telefon})
self.Telefon.update(dict(Typ=Telefon))
# self.EMail.update({Typ: EMail})
self.EMail.update(dict(Typ=EMail))
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))
adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [63]:
adressbuch[0].Telefon
Out[63]:
{'Typ': '492658457485'}
In [65]:
import datetime
adressbuch = []
class Person(object):
def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
self.Name = Name
self.Vorname = Vorname
self.Geburtsdatum = Geburtsdatum
self.Geschlecht = Geschlecht
self.Telefon = dict()
self.EMail = dict()
def setContactDetails(self, Telefon, EMail, Typ="Privat"):
self.Telefon.update({Typ: Telefon})
self.EMail.update({Typ: EMail})
def Alter(self):
currentYear = datetime.date.today().year
return currentYear - self.Geburtsdatum.year
adressbuch.append(Person("Müller","Hans",datetime.date(1995,4,1)))
adressbuch.append(Person("Mayer","Fritz",datetime.date(1998,8,4)))
adressbuch.append(Person("Weller","Annika",datetime.date(1997,11,10)))
adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [64]:
import datetime
currentYear = datetime.date.today().year
currentYear
Out[64]:
2018
In [67]:
adressbuch[0].Alter()
Out[67]:
23
In [68]:
adressbuch[2].Alter()
Out[68]:
21
In [69]:
import datetime
adressbuch = []
class Person(object):
def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
self.Name = Name
self.Vorname = Vorname
self.Geburtsdatum = Geburtsdatum
self.Geschlecht = Geschlecht
self.Telefon = dict()
self.EMail = dict()
def setContactDetails(self, Telefon, EMail, Typ="Privat"):
self.Telefon.update({Typ: Telefon})
self.EMail.update({Typ: EMail})
def Alter(self):
today = datetime.date.today()
age = today.year - self.Geburtsdatum.year
if ((self.Geburtsdatum.month > today.month) or
((self.Geburtsdatum.month == today.month) and
(self.Geburtsdatum.day > today.day))):
return age - 1
return age
adressbuch.append(Person("Müller","Hans",datetime.date(1995,4,1)))
adressbuch.append(Person("Mayer","Fritz",datetime.date(1998,8,4)))
adressbuch.append(Person("Weller","Annika",datetime.date(1997,11,10)))
adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [70]:
adressbuch[0].Alter()
Out[70]:
23
In [71]:
adressbuch[2].Alter()
Out[71]:
20
In [72]:
htmloutput = """<html>
<head></head>
<body>
<h1>Überschrift</h1>
<ul>
<li>erster Punkt</li>
<li>zweiter Punkt</li>
</ul>
</body>
</html>"""
from IPython.display import HTML
HTML(htmloutput)
Out[72]:
Überschrift
- erster Punkt
- zweiter Punkt
In [73]:
markdownoutput = """# Überschrift
## Untertitel
- erster Punkt
- zweiter Punkt
- dritter Punkt
"""
from IPython.display import Markdown
Markdown(markdownoutput)
In [74]:
import sys
print(sys.argv)
['C:\\Users\\nikkl\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py', '-f', 'C:\\Users\\nikkl\\AppData\\Roaming\\jupyter\\runtime\\kernel-a3f0d8f5-e898-4d99-83fc-89301058d90d.json']
In [75]:
%%writefile test.py
import sys
print(sys.argv)
Writing test.py
In [76]:
!python test.py "erstes Argument" 2.Argument 3.14156
['test.py', 'erstes Argument', '2.Argument', '3.14156']