Bearbeiten von „Python“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 2: Zeile 2:
= Links =
= Links =
* [[Jupyter]]
* [[Jupyter]]
* https://www.python.org/downloads/windows/
= Exception =
= Exception =
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
Zeile 27: Zeile 25:
if match != None:
if match != None:
   number = (int) rexpr.group(1)
   number = (int) rexpr.group(1)
# Replacement:
regex = re.compile(r"A\d+", re.IGNORECASE)
for line in some_file:
    other = regex.sub('<Id>', line)
# Replacement mit Referenzen:
s = 'aaa@xxx.com bbb@yyy.net ccc@zzz.org'
re.sub('([a-z]+)@([a-z]+)', r'\2@\1', s)
</syntaxhighlight>
</syntaxhighlight>


Zeile 46: Zeile 37:
# 2-stellig mit führender 0 ausgeben:
# 2-stellig mit führender 0 ausgeben:
f'{sec//3600}:{sec%3600//60:02}:{sec%60:02}'
f'{sec//3600}:{sec%3600//60:02}:{sec%60:02}'
# String linksbündig:
f'{data:<10}'
# String rechtsbündig:
f'{data:>10}'
</syntaxhighlight>
</syntaxhighlight>
* str.format()
* str.format()
Zeile 87: Zeile 74:
contains = 'key' in x and 'key2' not in x
contains = 'key' in x and 'key2' not in x
size = len(x)
size = len(x)
for key, value in x.items():
for pair in x.iteritems():
   print(key, value)
   key = pair[0]
for key in x:
for key in x.iterkeys():
   print key
   print key
</syntaxhighlight>
</syntaxhighlight>
Zeile 100: Zeile 87:
== Mengen ==
== Mengen ==
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
s = {3, 'sjoerd'}
s = set(['y', 3]) ; f = frozenset(['y', 3])  
s = {c for c in 'abracadabra' if c not in 'abc'}
assertEquals(s, {'d', 'r'})
iterable = ['y', 3];
s = set(iterable) ;  
f = frozenset(iterable)
s.add(9)
s.remove(9)  
for elem in s:
for elem in s:
   print elem
   print elem
Zeile 150: Zeile 130:
diffSec = (date1 - date2).total_seconds()
diffSec = (date1 - date2).total_seconds()
diffDays = (date1 - date2).days
diffDays = (date1 - date2).days
</syntaxhighlight>
=== Leistungsmessung ===
<syntaxhighlight lang="python">
import timeit
body = '''text = 'abcdefg'
s = list(text)
s[6] = 'W'
''.join(s)
'''
print(timeit.timeit(body, number=1000000))
</syntaxhighlight>
</syntaxhighlight>


Zeile 225: Zeile 194:


= Typische Situationen =
= Typische Situationen =
== Division Integer ==
<syntaxhighlight lang="python">
pairs = count // 2
</syntaxhighlight>
== Objekte kopieren (Shallow/Deep Copy) ==
== Objekte kopieren (Shallow/Deep Copy) ==
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
Zeile 253: Zeile 216:
# 2-stufig: nach Länge absteigend, dann alphabetisch:
# 2-stufig: nach Länge absteigend, dann alphabetisch:
a.sort(key=lambda x: (-len(x), x))
a.sort(key=lambda x: (-len(x), x))
# comparism function:
def mySort(a, b): return len(a) - len(b)
import functools
a.sort(key=functools.cmp_to_key(mySort))
</syntaxhighlight>
</syntaxhighlight>


Zeile 273: Zeile 232:
   # fp.close() ist implizit
   # fp.close() ist implizit
</syntaxhighlight>
</syntaxhighlight>
* Binärdatei:
<syntaxhighlight lang="python">
with open(self._filename, "rb") as fp:
  data = fp.read(8000)
  while data:
    doIt(data)
    data = fp.read(8000)
</syntaxhighlight>
* Schreiben:
* Schreiben:
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
Zeile 290: Zeile 240:


= Sprachbesonderheiten =
= Sprachbesonderheiten =
== Variable Zahl Parameter in Methode: Liste ==
<syntaxhighlight lang="python">
# numbers ist eine Liste:
def find_sum(*numbers):
    result = 0
    for num in numbers:
        result = result + num
   
    print("Sum = ", result)
# function call with 3 arguments
find_sum(1, 2, 3)
</syntaxhighlight>
== Variable Zahl Parameter in Methode: Map ==
<syntaxhighlight lang="python">
# numbers ist eine Liste:
def show(**params):
    result = 0
    for name,value in params.items():
        print(f'{name}: {value}')
# function call with 3 arguments
show(jonny="admin", berta="user")
</syntaxhighlight>
== Reflection ==
== Reflection ==
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
Zeile 331: Zeile 255:
== Type Hints ==
== Type Hints ==
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
from typing import List, Sequence, Mapping
from typing import Sequence
Vector = list[float]
Vector = list[float]
def sqr(x: float) -> float:
def sqr(x: float) -> float:
Zeile 339: Zeile 263:
def printName(name: str) -> None:
def printName(name: str) -> None:
   print(name);
   print(name);
def evalMap(map: Mapping[int, str]):
  return map[3] == 'Hello'
</syntaxhighlight>
</syntaxhighlight>


Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)