python/basics.py

# walter's erster versuch mit Python
#
# starten mit python -i basics.py

def sum(a, b): return a + b
print("sum(7,8) " + str(sum(7,8)))

l1 = [1,2,3]
print("list l1", l1)
print("list comprehension", [i*i for i in l1])
print("list comprehension", [(i, i*i) for i in l1])
print("range", range(3), list(range(3)), list(range(15,12)), list(range(40, 20, -6)))
print("reverse", [l1[i] for i in range(len(l1)-1, -1, -1)])

print("set comprehension", {x for x in 'adacadabraqr012012' if x not in 'acq'})


d1 = {'one' : 1, 'two' : 2, 'three' : 3, 'four' : 4, 'five':5, 'six':6 }
print("d1", d1)
print("v in d1", [v for v in d1])
print("k in d1.keys()", [k for k in d1.keys()])
print("dictionary comprehension", {i: i*i for i in l1})
print("k,v in d1.items()", {k:v for k,v in d1.items()})

def invert(d): return {v:k for k,v in d.items() if v % 3 != 1}
print("invert", invert(d1))

def a1(a, b, c='c-def'):
    print(f"a1 defaultArg c: a={a}, b={b}, c={c}"); # using formatted string literals
a1(1,2)
a1(1,2,3)

def a2(a, *b):
    print(f"a2 starArg *b tuple: a={a}, b={b}, len(b)={len(b)} b[0]={b[0] if len(b) > 0 else 'b is empty'}");
a2(1,2,3,4)
a2(1)

def a3(a, **kv):
    print(f"a3 starArg **kv mapping: a={a}, **kv={kv}, len(kv)={len(kv)}");
a3(1, zwei=2, drei=3)
a3(zwei=2, drei=3, a=0, fuenf = 5 )

for v in [23, 3.13, "4", [0.1]]:
    print(f"{v} is", type(v), ", int", isinstance(v, int), ", is string", isinstance(v, str))