~/saidqb cat ecosystem/programming-language/python.md
Py
Python
General-purpose backend language
commit by saidqb
Requirements
- Python
3.13.x— cek python.org/downloads pip(sudah include di instalasi Python)
python --version && pip --version
Venv & pip
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install -r requirements.txt
pip freeze > requirements.txt
pip install --upgrade <pkg>
Variabel, tipe, string
name: str = "SaidQB"
age, price, active = 8, 19.99, True
tags = ["python", "go", "php"]
config = {"debug": True, "port": 8000}
f"Halo {name}, umur {age} tahun" # f-string
"{} - {}".format(name, age)
name.upper(); name.strip(); name.split(",")
Control flow
if age >= 18: ...
elif age >= 13: ...
else: ...
for tag in tags: ...
for i, tag in enumerate(tags): ...
while i < 5: i += 1
Function & lambda
def greet(name: str, greeting: str = "Halo") -> str:
return f"{greeting}, {name}!"
square = lambda x: x * x
def total(*args, **kwargs): ... # variadic
Comprehension & collection
squares = [x * x for x in range(10)]
evens = [x for x in range(20) if x % 2 == 0]
mapped = {k: v.upper() for k, v in config.items()}
unique = {x for x in tags} # set comprehension
sorted(tags, key=len, reverse=True)
Class & dataclass
class User:
def __init__(self, name: str, email: str):
self.name, self.email = name, email
def __repr__(self):
return f"User({self.name})"
@dataclass
class Point:
x: int
y: int = 0
Exception & context manager
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"Error: {e}")
finally:
print("selesai")
with open("file.txt") as f:
content = f.read()
Import umum
import os, sys, json, re
from pathlib import Path
from datetime import datetime
from dataclasses import dataclass
from typing import Optional