1. Pemahaman Mendalam tentang Iterator dan Generator
Iterator dan generator adalah konsep penting dalam Python untuk bekerja dengan data secara efisien.
-
Iterator: Objek yang memungkinkan kamu untuk mengiterasi (melakukan perulangan) melalui sebuah koleksi.
-
Generator: Fungsi yang menggunakan
yield
untuk menghasilkan nilai secara lazy (hanya ketika dibutuhkan).
Contoh Iterator:
class MyIterator: def __init__(self, start, end): self.current = start self.end = end def __iter__(self): return self def __next__(self): if self.current < self.end: self.current += 1 return self.current - 1 raise StopIteration for i in MyIterator(1, 5): print(i)
Contoh Generator:
def my_generator(start, end): current = start while current < end: yield current current += 1 for i in my_generator(1, 5): print(i)
2. Concurrency dan Parallelism: Threading dan Multiprocessing
Concurrency dan parallelism digunakan untuk menjalankan tugas secara bersamaan.
-
Threading: Cocok untuk tugas I/O-bound.
-
Multiprocessing: Cocok untuk tugas CPU-bound.
Contoh Threading:
import threading def print_numbers(): for i in range(5): print(i) thread = threading.Thread(target=print_numbers) thread.start() thread.join()
Contoh Multiprocessing:
import multiprocessing def print_numbers(): for i in range(5): print(i) process = multiprocessing.Process(target=print_numbers) process.start() process.join()
3. Asynchronous Programming dengan asyncio
Asynchronous programming memungkinkan kamu untuk menjalankan tugas secara non-blocking.
Contoh asyncio:
import asyncio async def print_numbers(): for i in range(5): print(i) await asyncio.sleep(1) async def main(): await asyncio.gather(print_numbers(), print_numbers()) asyncio.run(main())
4. Bekerja dengan Database: Menggunakan SQLite dan MySQL di Python
Python menyediakan library untuk bekerja dengan database seperti SQLite dan MySQL.
Contoh SQLite:
import sqlite3 conn = sqlite3.connect('example.db') cursor = conn.cursor() cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)''') cursor.execute("INSERT INTO users (name) VALUES ('John')") conn.commit() conn.close()
Contoh MySQL:
import mysql.connector conn = mysql.connector.connect(user='root', password='password', host='localhost', database='test') cursor = conn.cursor() cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255))") cursor.execute("INSERT INTO users (name) VALUES ('John')") conn.commit() conn.close()
5. Membangun REST API dengan Flask atau FastAPI
Flask dan FastAPI adalah framework untuk membangun REST API.
Contoh Flask:
from flask import Flask, jsonify app = Flask(__name__) @app.route('/') def home(): return jsonify({"message": "Hello, World!"}) if __name__ == '__main__': app.run(debug=True)
Contoh FastAPI:
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"message": "Hello, World!"}
6. Web Scraping dengan BeautifulSoup dan Scrapy
Web scraping digunakan untuk mengambil data dari website.
Contoh BeautifulSoup:
import requests from bs4 import BeautifulSoup url = 'https://example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') print(soup.title.text)
Contoh Scrapy:
# Install Scrapy: pip install scrapy # Buat project Scrapy: scrapy startproject myproject # Buat spider: scrapy genspider example example.com
7. Analisis Data dengan Pandas: Dasar-Dasar Manipulasi Data
Pandas adalah library untuk analisis data.
Contoh Pandas:
import pandas as pd data = {'Name': ['John', 'Anna', 'Peter'], 'Age': [28, 22, 34]} df = pd.DataFrame(data) print(df)
8. Visualisasi Data dengan Matplotlib dan Seaborn
Matplotlib dan Seaborn digunakan untuk visualisasi data.
Contoh Matplotlib:
import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [10, 20, 25, 30] plt.plot(x, y) plt.show()
Contoh Seaborn:
import seaborn as sns import pandas as pd data = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [10, 20, 25, 30]}) sns.lineplot(x='x', y='y', data=data) plt.show()
9. Machine Learning Dasar dengan Scikit-Learn
Scikit-Learn adalah library untuk machine learning.
Contoh Scikit-Learn:
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier iris = load_iris() X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2) model = RandomForestClassifier() model.fit(X_train, y_train) print(model.score(X_test, y_test))
10. Membuat Aplikasi GUI dengan Tkinter atau PyQt
Tkinter dan PyQt digunakan untuk membuat aplikasi GUI.
Contoh Tkinter:
import tkinter as tk root = tk.Tk() root.title("Hello World") label = tk.Label(root, text="Hello, World!") label.pack() root.mainloop()
Contoh PyQt:
from PyQt5.QtWidgets import QApplication, QLabel app = QApplication([]) label = QLabel('Hello, World!') label.show() app.exec_()