Jifunze Python kutoka mwanzo kabisa. Hakuna experience inayohitajika. Code + maelezo kwa Kiswahili na English.
Kuanzia mwanzo — Starting from scratch
🇹🇿 Kiswahili: Python ni lugha ya programming maarufu duniani. Ilianzishwa na Guido van Rossum mwaka 1991. Python inajulikana kwa urahisi wake — syntax yake ni rahisi kusoma na kuandika, inafanana na Kiingereza cha kawaida.
🇬🇧 English: Python is one of the most popular programming languages in the world. Created by Guido van Rossum in 1991, Python is known for its simplicity — its syntax is easy to read and write, similar to plain English.
# Hii ndio Python code yako ya kwanza!
print("Hello, World!")
print("Karibu kwenye Python!")
Hello, World! na Karibu kwenye Python! kwenye screen.
Pata Python kwenye computer yako
🇹🇿 Kiswahili: Kabla ya kuanza kuandika Python, unahitaji kuiweka kwenye computer yako.
Kuhakikisha Python imewekwa, fungua Command Prompt (Windows) au Terminal (Mac/Linux) na uandike:
python --version
Ukiona kitu kama Python 3.12.0, basi Python imewekwa vizuri.
Kuhifadhi taarifa kwenye kumbukumbu — Storing data in memory
🇹🇿 Kiswahili: Variable ni kama sanduku lenye jina unaloweka data. Unaweza kubadilisha yaliyomo kwenye sanduku wakati wowote.
🇬🇧 English: A variable is like a named box where you store data. You can change its content anytime.
# Python inaelewa aina ya data moja kwa moja jina = "Juma" # String (maneno) umri = 25 # Integer (namba kamili) urefu = 1.75 # Float (namba yenye desimali) ni_mwanafunzi = True # Boolean (True/False) print(jina) print(umri) print(urefu) print(ni_mwanafunzi)
str — String (maneno, k.m. "Hello")int — Integer (namba kamili, k.m. 25)float — Float (namba yenye desimali, k.m. 3.14)bool — Boolean (True au False)list — Orodha (k.m. [1, 2, 3])dict — Dictionary (k.m. {"jina": "Juma"})Kufanya kazi na maneno na sentensi
🇹🇿 Kiswahili: String ni mfuatano wa herufi. Unaweza kutumia single quotes ('...') au double quotes ("...").
# Kutengeneza strings
jina = "Juma"
salutation = 'Habari yako?'
# Kuunganisha strings (concatenation)
kamili = jina + "! " + salutation
print(kamili) # Juma! Habari yako?
# String interpolation (f-string)
umri = 25
habari = f"Jina langu ni {jina}, nina umri wa miaka {umri}"
print(habari)
# String methods
text = " Python ni nzuri! "
print(text.upper()) # PYTHON NI NZURI!
print(text.lower()) # python ni nzuri!
print(text.strip()) # inaondoa spaces mwanzoni na mwishoni
print(len(text)) # urefu wa string (herufi ngapi)
print(text.replace("nzuri", "razuri")) # Kubadilisha maneno
f"..." (f-strings) kuweka variables ndani ya strings — ni rahisi na inasomeka vizuri!
Hesabu kwenye Python
# Operations za msingi a = 10 b = 3 print(a + b) # 13 (jumla) print(a - b) # 7 (toa) print(a * b) # 30 (zidisha) print(a / b) # 3.333... (gawanya) print(a // b) # 3 (gawanya, toa desimali) print(a % b) # 1 (baki ya mgawanyiko / modulus) print(a ** b) # 1000 (nguvu / exponent) # Rounding pi = 3.14159 print(round(pi, 2)) # 3.14
// inaitwa "floor division" — inagawanya na kurudisha namba kamili tu. % inarudisha baki.
Kuhifadhi vitu vingi kwenye variable moja
🇹🇿 Kiswahili: List ni mkusanyo wa vitu vilivyopangwa kwa mpangilio. Vitu vinaweza kuwa za aina tofauti.
# Kutengeneza list
majina = ["Juma", "Aisha", "Baraka", "Zainabu"]
namba = [1, 2, 3, 4, 5]
mchanganyiko = ["Juma", 25, True, 3.14]
# Kupata kitu kwenye list (index inaanza 0)
print(majina[0]) # Juma
print(majina[2]) # Baraka
print(majina[-1]) # Zainabu (ya mwisho)
# Kubadilisha kitu
majina[1] = "Mwanahamisi"
print(majina) # ["Juma", "Mwanahamisi", "Baraka", "Zainabu"]
# Kuongeza na kuondoa
majina.append("Halima") # Ongeza mwishoni
majina.insert(1, "Suleiman") # Ongeza kwenye index 1
majina.remove("Baraka") # Ondoa "Baraka"
majina.pop() # Ondoa la mwisho
print(len(majina)) # Idadi ya vitu kwenye list
# Kuchambua (slicing)
namba = [10, 20, 30, 40, 50]
print(namba[1:4]) # [20, 30, 40] (kutoka index 1 hadi 3)
print(namba[:3]) # [10, 20, 30] (mwanzo hadi index 2)
print(namba[::2]) # [10, 30, 50] (kila hatua 2)
Aina nyingine za kuhifadhi data
Tuple ni kama list, lakini haiwezi kubadilishwa (immutable). Inatumia mabano ().
# Tuple
siku = ("Jumatatu", "Jumanne", "Jumatano")
print(siku[0]) # Jumatatu
# siku[0] = "Jumapili" # Hii itatoa ERROR (tuple haiwezi kubadilishwa)
Dictionary inahifadhi data kwa jozi za key: value. Inatumia mabano ya kawaida {}.
# Dictionary
mtu = {
"jina": "Juma",
"umri": 25,
"kazi": "Programmer",
"ndoa": False
}
print(mtu["jina"]) # Juma
print(mtu.get("umri")) # 25 (njia salama zaidi)
# Kubadilisha na kuongeza
mtu["umri"] = 26
mtu["mji"] = "Dar es Salaam"
# Kupata keys na values zote
print(mtu.keys()) # dict_keys(['jina', 'umri', 'kazi', ...])
print(mtu.values()) # dict_values(['Juma', 26, ...])
# Loop kwenye dictionary
for key, value in mtu.items():
print(f"{key}: {value}")
Kufanya maamuzi kwenye code yako
🇹🇿 Kiswahili: Mara nyingi unataka code yako ifanye kitu tofauti kulingana na hali. Hapa ndipo if inapoingia.
# if statement rahisi
umri = 18
if umri >= 18:
print("Unaweza kupiga kura")
else:
print("Bado ni mdogo")
# if/elif/else
alama = 85
if alama >= 80:
daraja = "A"
elif alama >= 70:
daraja = "B"
elif alama >= 60:
daraja = "C"
elif alama >= 50:
daraja = "D"
else:
daraja = "F"
print(f"Daraja lako ni {daraja}")
# Logical operators (and, or, not)
joto = 30
ni_jua = True
if joto > 25 and ni_jua:
print("Hali ya hewa ni nzuri!")
if joto > 35 or ni_jua:
print("Angalau jua lipo")
# Comparison operators
x = 10
print(x == 10) # True (sawa na)
print(x != 5) # True (si sawa na)
print(x > 5) # True (kubwa kuliko)
print(x < 20) # True (ndogo kuliko)
== ni kuangalia usawa, = ni kutoa thamani kwa variable. Usichanganye!
Kurudia jambo tena na tena
🇹🇿 Kiswahili: Loop inakuwezesha kurudia code mara nyingi bila kuiandika mara nyingi.
# For loop kwenye list
majina = ["Juma", "Aisha", "Baraka"]
for jina in majina:
print(f"Habari, {jina}!")
# For loop kwa namba (range)
for n in range(5):
print(n) # 0, 1, 2, 3, 4
for n in range(1, 6):
print(n) # 1, 2, 3, 4, 5
for n in range(0, 10, 2):
print(n) # 0, 2, 4, 6, 8
# While loop — endelea mpaka hali ibadilike
hesabu = 0
while hesabu < 5:
print(f"Kukimbia mara {hesabu + 1}")
hesabu += 1 # Sawa na hesabu = hesabu + 1
# Break na Continue
for n in range(10):
if n == 5:
break # Acha loop kabisa
if n % 2 == 0:
continue # Ruka namba hii, endelea na inayofuata
print(n)
range(start, stop, step) ina parameters tatu. Kumbuka stop haijumuishwi.
Panga code yako katika vitengo vinavyoweza kutumika tena
🇹🇿 Kiswahili: Function ni kipande cha code kinachofanya kazi maalum. Unaweza kukitumia tena na tena.
# Function rahisi
def salamu():
print("Habari! Karibu kwenye Python!")
salamu() # Piga / call function
salamu() # Tena
# Function yenye parameter
def salamu_jina(jina):
print(f"Habari {jina}! Karibu sana!")
salamu_jina("Juma")
salamu_jina("Aisha")
# Function yenye return value
def jumla(a, b):
matokeo = a + b
return matokeo
x = jumla(10, 5)
print(x) # 15
# Function yenye default parameter
def power(namba, nguvu=2):
return namba ** nguvu
print(power(4)) # 16 (4^2)
print(power(4, 3)) # 64 (4^3)
# Variable scope
x = 10 # Global variable
def ongeza():
y = 5 # Local variable
print(x + y) # Inaweza kutumia x (global)
ongezza()
# print(y) # Hii itatoa ERROR — y haipo nje ya function
return inarudisha thamani kutoka kwenye function. Bila return, function inarudisha None.
Tumia code iliyotengenezwa na wengine
🇹🇿 Kiswahili: Module ni faili la Python lenye functions, classes, na variables tayari kutumika.
# Import module yote
import math
print(math.pi) # 3.141592653589793
print(math.sqrt(16)) # 4.0
# Import specific functions
from random import randint, choice
namba = randint(1, 100) # Namba random kati ya 1 na 100
print(f"Namba yako: {namba}")
# Import na rename
import datetime as dt
sasa = dt.datetime.now()
print(sasa) # 2026-06-15 14:30:00.123456
# Modules maarufu kwa beginners
import random # Random namba na choices
import math # Hesabu za kisayansi
import os # Kufanya kazi na operating system
import json # Kufanya kazi na JSON data
Hifadhi na soma data kutoka kwenye files
# Kuandika kwenye faili (writing)
with open("notes.txt", "w") as f:
f.write("Hii ni note yangu ya kwanza!\n")
f.write("Python ni nzuri sana.\n")
# Kusoma faili nzima (reading)
with open("notes.txt", "r") as f:
content = f.read()
print(content)
# Kusoma mstari kwa mstari
with open("notes.txt", "r") as f:
for line in f:
print(f"Line: {line.strip()}")
# Kuongeza kwenye faili (append)
with open("notes.txt", "a") as f:
f.write("Hii ni note nyingine.\n")
# Error handling — kama faili haipo
try:
with open("faili_haipo.txt", "r") as f:
print(f.read())
except FileNotFoundError:
print("Faili haipo! Unda kwanza.")
except Exception as e:
print(f"Kuna error: {e}")
with open(...) as f: inafunga faili moja kwa moja baada ya kumaliza. Hii ni njia salama zaidi.
Programming yenye vitu / Classes na Objects
🇹🇿 Kiswahili: OOP ni mtindo wa programming unaotumia "vitu" (objects). Kila kitu kina sifa (attributes) na vitendo (methods).
# Kuunda Class
class Mwanafunzi:
# Constructor — inaitwa object inapoundwa
def __init__(self, jina, umri, darasa):
self.jina = jina
self.umri = umri
self.darasa = darasa
# Method
def introduce(self):
return f"Jina langu ni {self.jina}, nina miaka {self.umri}, darasa la {self.darasa}"
def celebrate_birthday(self):
self.umri += 1
print(f"Hongera {self.jina}! Sasa una miaka {self.umri}")
# Kuunda object
mwanafunzi1 = Mwanafunzi("Juma", 20, "Form 4")
print(mwanafunzi1.introduce())
mwanafunzi1.celebrate_birthday()
# Inheritance (kurithi)
class Mwalimu(Mwanafunzi):
def __init__(self, jina, umri, darasa, somo):
super().__init__(jina, umri, darasa)
self.somo = somo
def introduce(self):
return f"Mwalimu {self.jina}, ninafundisha {self.somo}"
mwalimu1 = Mwalimu("Baraka", 35, "Form 6", "Physics")
print(mwalimu1.introduce())
self inarejelea object yenyewe. Inatumika kupata attributes na methods za object hiyo.
Weka maarifa yako kwenye majaribio
def calculator():
print("=== CALCULATOR RAHISI ===")
a = float(input("Ingiza namba ya kwanza: "))
b = float(input("Ingiza namba ya pili: "))
op = input("Chagua operation (+, -, *, /): ")
if op == "+":
print(f"Jumla: {a + b}")
elif op == "-":
print(f"Tofauti: {a - b}")
elif op == "*":
print(f"Zao: {a * b}")
elif op == "/":
if b != 0:
print(f"Mgawo: {a / b}")
else:
print("Error: Kugawanya kwa 0 hairuhusiwi")
else:
print("Operation si sahihi")
calculator()
import random
def guess_game():
secret = random.randint(1, 100)
attempts = 0
print("Nimechagua namba kati ya 1 na 100. Nadhani!")
while True:
guess = int(input("Nadhani: "))
attempts += 1
if guess < secret:
print("Panda juu!")
elif guess > secret:
print("Shuka chini!")
else:
print(f"Hongera! Umeipata kwa majaribio {attempts}")
break
guess_game()
def todo_app():
tasks = []
while True:
print("\n1. Ongeza task")
print("2. Onyesha tasks")
print("3. Futa task")
print("4. Exit")
choice = input("Chagua: ")
if choice == "1":
task = input("Task gani? ")
tasks.append(task)
print("Task imeongezwa!")
elif choice == "2":
if tasks:
for i, t in enumerate(tasks, 1):
print(f"{i}. {t}")
else:
print("Hakuna tasks")
elif choice == "3":
num = int(input("Namba ya task ya kufuta? "))
if 1 <= num <= len(tasks):
removed = tasks.pop(num - 1)
print(f"'{removed}' imefutwa")
elif choice == "4":
break
todo_app()