RU | EN | DE

🔹 1. Variables and Data Types

x = 10              # int
y = 3.14            # float
name = "Vitaliy"    # str
is_ready = True     # bool
z = None            # NoneType

Types can be checked:

print(type(x))

🔹 2. Input and Output

name = input("Enter your name: ")
print("Hello,", name)

input() always returns a string → needs to be converted:

age = int(input("Age: "))

🔹 3. Arithmetic and Operators

+  -  *  /   # addition, subtraction, multiplication, division (float)
//           # integer division
%            # remainder
**           # exponentiation

Example:

a, b = 5, 2 
print(a // b)   # 2 
print(a ** b)   # 25

🔹 4. Conditions

if age >= 18:     
    print("Adult") 
elif age > 12:     
    print("Teenager") 
else:     
    print("Child")

🔹 5. Loops

while

n = 3
while n > 0: 
	print(n)     
	n -= 1

for

for i in range(5):     
	print(i)

range(start, stop, step) — number generator.

🔹 6. Collections

Lists (list)

nums = [1, 2, 3] 
 
nums.append(4)      # adds value to end
nums.insert(0, 444) # adds value at index
nums.remove(2) 
 
print(nums[0])      # access by index
print(len(nums))    # list length
 
# new_list[start:end]
my_list = [10, 8, 6, 4, 2]
new_list = my_list[1:-1]
print(new_list)
 
my_list = [0, 3, 12, 8, 2]
 
print(5 in my_list)      # False
print(5 not in my_list)  # True
print(12 in my_list)     # True

Lists in lists

row = [1 for i in range(8)]
print(row)
# [1, 1, 1, 1, 1, 1, 1, 1]
 
squares = [x ** 2 for x in range(10)]
print(squares)
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
 
twos = [2 ** i for i in range(8)]
print(twos)
# [1, 2, 4, 8, 16, 32, 64, 128]

Two-dimensional lists

board = [[1 for i in range(8)] for j in range(8)]
print(board)
# [
#  [1, 1, 1, 1, 1, 1, 1, 1], 
#  [1, 1, 1, 1, 1, 1, 1, 1], 
#  ...
# ]

Multidimensional lists

rooms = [[[False for r in range(20)] for f in range(15)] for t in range(3)]

Tuples (tuple) — immutable:

point = (10, 20)

Sets (set) — unique elements:

langs = {"Python", "Java"} 
langs.add("C++")

Dictionaries (dict) — key-value pairs:

person = {"name": "Vitaliy", "age": 43} 
print(person["name"]) 
person["job"] = "Programmer"

🔹 7. Functions

def greet(name):     
	return f"Hello, {name}!"  
print(greet(name = "Vitaliy"))
print(greet("Vitaliy"))

Parameters with default values:

def power(a, n=2):     
	return a ** n
def strangefunc(num):
	if num > 5:
		return "Test"
 
print(strangefunc(7)) # Test
print(strangefunc(2)) # None
def my_function():
    print("Do I know this variable?", var)
 
var = 1
my_function()
print(var)
 
# Do I know this variable? 1
# 1
def my_function():
    var = 2
    print("Do I know this variable?", var)
 
var = 1
my_function()
print(var)
 
# Do I know this variable? 2
# 1

global:

def my_function():
   global var
   var = 2
   print("Do I know this variable?", var)
 
var = 1
my_function()
print(var)
 
# Do I know this variable? 2
# 2
def my_function(n):
   print("I took", n)
   n += 1
   print("I got", n)
 
var = 1
my_function(var)
print(var)
 
# I took 1
# I got 2
# 1
def my_function(my_list_1):
    print("Print #1:", my_list_1)
    print("Print #2:", my_list_2)
    my_list_1 = [0, 1]
    print("Print #3:", my_list_1)
    print("Print #4:", my_list_2)
 
my_list_2 = [2, 3]
my_function(my_list_2)
print("Print #5:", my_list_2)
 
# Print #1: [2, 3]
# Print #2: [2, 3]
# Print #3: [0, 1]
# Print #4: [2, 3]
# Print #5: [2, 3]
def my_function(my_list_1):
    print("Print #1:", my_list_1)
    print("Print #2:", my_list_2)
    del my_list_1[0]  # Note this line.
    print("Print #3:", my_list_1)
    print("Print #4:", my_list_2)
 
my_list_2 = [2, 3]
my_function(my_list_2)
print("Print #5:", my_list_2)
 
# Print #1: [2, 3]
# Print #2: [2, 3]
# Print #3: [3]
# Print #4: [3]
# Print #5: [3]

🔹 8. Working with Strings

text = "Python" 
print(text.lower())       # python 
print(text.upper())       # PYTHON 
print(text[0])            # P 
print(text[::-1])         # nohtyP

Formatting:

name = "Vitaliy" 
age = 43 
print(f"{name}{age} years old")   # f-string

🔹 9. Exceptions

try:     
	x = int(input("Enter a number: ")) 
except ValueError:
	print("Error: need to enter a number")
except ZeroDivisionError:
  print('Division by zero.') 
except:
  print('Something happened here...')
finally:
	print("Done")
try:     
	x = int(input("Enter a number: ")) 
except (ValueError, ZeroDivisionError):
	print("Error: need to enter a number. Or division by zero.")
except:
    print('Something happened here...')
finally:
	print("Done")

🔹 10. Modules and Import

import math
print(math.sqrt(16))
 
import mod1, mod2, mod3
 
from random import randint
print(randint(1, 10))
 
from my_module import *
 
from module import my_function as fun, my_data as dat

🔹 11. Working with Files

with open("data.txt", "w") as f:     
	f.write("Hello, world!")  
	
with open("data.txt", "r") as f:     
	text = f.read()     
	print(text)

🔹 12. OOP Basics

class Person:     
	def __init__(self, name, age):         
		self.name = name         
		self.age = age      
	def say_hello(self):         
		print(f"Hello, I'm {self.name}")  
p = Person("Vitaliy", 43) 
p.say_hello()

🔹 13. List Comprehensions

squares = [x ** 2 for x in range(5)]

🔹 14. Lambda Functions

double = lambda x: x * 2 
print(double(4))

🔹 15. Useful Built-in Functions

len(), sum(), max(), min(), sorted(), type(), range(), enumerate(), zip()