''' EXAMPLE 1 ''' print("hi") x = {'abc' : 10, 'bye' : 6} print(x) x = [1, 4, 90] if 4 in x: print("found") ''' EXAMPLE 2 ''' x = 5 if x == 5: y = 6 if y == 5: z = 7 print(x, y) print(z) ''' EXAMPLE 3 ''' fruit = {} counts = [] for i in range(0, 5): counts.append(i) fruit["apple"] = counts[2] if "apple" in fruit: print(fruit["apple"]) ''' EXAMPLE 4 ''' my_list = [4, 1, 10, 3] my_list.sort() print(my_list) my_list = [4, 1, 10, 3] new_list = sorted(my_list) print(my_list) https://docs.python.org/3/howto/sorting.html ''' EXAMPLE 5 ''' def func(var): var.append("i") return var def func2(var: list, other: int) -> int: var.append(other) return other + 4 func(['h']) print(func2([6], 8)) ''' EXAMPLE 6 ''' def func(var): var = [1, 4, 5] l = [1, 2, 3] func(l) print(l) ''' EXAMPLE 7 ''' def get_stats(var:list): sum = 0 for i in var: sum += i return sum, sum/len(var) data = [1, 5, 33, 1, 46, 4] d_sum, d_avg = get_stats(data) print(d_sum, d_avg) ''' EXAMPLE 8 ''' def ex1(x,y): print("stuff") ex1(3, 5) def ex2(x,y=4): print("stuff") ex2(3,5) ex2(3) def ex3(*,x,y): print("stuff") ex3(y=5, x=7) ''' EXAMPLE 9 ''' def ex(*,x,y) -> (list, int): lis = [x, y, 6] lis.sort() return lis, x+y print(ex(x=9, y=1)) ''' EXAMPLE 10 ''' class Book: rating = None def __init__(self, *, title: str, length: int): self.title = title self.length = length def add_rating(self, rating_in): self.rating = rating_in def should_read(self): if self.rating == 10: if self.length > 100: return "yes read" + self.title bk = Book(title="coding", length=101) bk.should_read() ''' EXAMPLE 11 ''' class Book: rating = None def __init__(self, *, title: str, length: int): self.title = title self.length = length def __bytes__(self): out = self.title + " " + str(self.length) return out.encode('utf-8') bk = Book(title="coding", length=101) print(bytes(bk)) ''' EXAMPLE 12 ''' def log(func): def wrapper(input_): print("called with", str(input_)) val = func(input_) print("finished") return val return wrapper @log def add_num(var): return var + 5 print("output:", add_num(5)) ''' EXAMPLE 13 ''' def call_twice(func): def wrapper(*args, **kwargs): func(*args, **kwargs) func(*args, **kwargs) return wrapper @call_twice def print_names(names): for i in names: print(i) names_ = ["jule", "luther"] print_names(names_) ''' EXAMPLE 14 ''' import asyncio async def task1(): print("task1 start") await asyncio.sleep(1) print("task1 done") async def task2(): print("task2 start") await asyncio.sleep(2) print("task2 done") async def main(): await asyncio.gather(task1(), task2()) asyncio.run(main()) '''Example 15''' x = [1, 4, 2] y = x x.append(5) print(y) x = [1, 4, 2] y = x x = sorted(x) print(y) '''Example 16''' def func(var): var[0] = 5 x = [1, 4, 6] func(x) print(x) '''Example 17''' var = "start" x = [1, 4, 6] for value in x: var += " " + str(value) print(var) bytes_version = var.encode("utf-8") print(bytes_version) '''Example 18''' def log(func): def wrapper(*args, **kwargs): print("CALLING FUNCTION") ret = func(*args, **kwargs) print(ret) print("FUNCTION DONE") return ret return wrapper @log def add_num(x, y): return x + y @log def add_nums(x, y, z): return x + y + z add_num(5, 6) add_nums(5, 6, 1) ''' EXAMPLE 19 ''' lst = [1, 5, 6] lst2 = [x/2 for x in lst] lst3 = [x for x in lst if x > 3] lst4 = [5 for x in lst if x%2 == 0] print(lst2) print(lst3) print(lst4)