Python: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
[[Kategorie:Sprache]]
[[Kategorie:Sprache]]
= Exception =
<pre>
try:
  raise Exception("not allowed")
except ValueError as error:
  print('value error: ' + repr(error))
except SyntaxError as error:
  print('syntax error: ' + repr(error))
else:
  print("OK")
try:
  doit()
finally:
  closeIt()
</pre>
= Regular Expression =
<pre>
rexpr = compile(r"([\da-z]+)")
match = rexpr.match(line)
if match != None:
  number = (int) rexpr.group(1)
</pre>
= Datentypen =
= Datentypen =
* List: ['a', 1]; x[1] = 5; x.insert(0, 'firstItem')
* List: ['a', 1]; x[1] = 5; x.insert(0, 'firstItem')

Version vom 21. Februar 2016, 09:13 Uhr

Exception

try:
   raise Exception("not allowed")
except ValueError as error:
   print('value error: ' + repr(error))
except SyntaxError as error:
   print('syntax error: ' + repr(error))
else:
   print("OK")

try:
   doit()
finally:
   closeIt()

Regular Expression

rexpr = compile(r"([\da-z]+)")
match = rexpr.match(line)
if match != None:
   number = (int) rexpr.group(1)

Datentypen

  • List: ['a', 1]; x[1] = 5; x.insert(0, 'firstItem')
  • Tupel: ('a', 1), ro

Spezielle Methoden/Attribute

  • Statische Methoden:
class X:
   @staticmethod
   def doIt(param):
      pass

X.doIt(True)
  • Feststellen, ob Attribut existiert: hasattr(instance, nameOfAttribute)
  • dynamischer Code:
exec 'import ' + module

Dictionary

x = { 'key' : 'val', 'xyz': 3 }
x['key'] = value
del x['key'];
contains = 'key' in x and 'key2' not in x
size = len(x)
for pair in x.iteritems():
  key = pair[0]
for key in x.iterkeys():
  print key
  • x.itervalues()
  • x.setdefault(key[, value]): setzt Wert nur, wenn noch nicht gesetzt
  • x.keys(), x.values()
  • x.copy(): flache Kopie
  • x.update(dict): addiert dict zu x

Mengen

s = set(['y', 3]) ; f = frozenset(['y', 3]) 
for elem in s:
  print elem
size = len(s)
contains = 3 in s and 4 not in s
intersection = s & f
union = s | f
isPartOf = s <= f
diff = s - f

Dateien

with open(self._filename, "r") as fp:
  for line in fp:
     print line
fp.close()

Typcheck

isStringOrSubclass = isinstance(aVariable, str)
isString = type(aVariable) is str

Formatierung

"{:3.7f} {:s} {:07d}".format(3.14, "hello", 100)
"{0:d} / {0:x}".format(714)