Advanced Topics (অন্যান্য গুরুত্বপূর্ণ বিষয়)
রোডম্যাপের একদম শেষ পর্যায়ে আমরা এমন কিছু বিষয় নিয়ে আলোচনা করবো যা আপনাকে একজন প্রো-লেভেল পাইথন ডেভেলপার হিসেবে অন্যদের চেয়ে আলাদা করবে।
১. Python Introspection
ইনট্রোস্পেকশন মানে হলো রানটাইমে কোনো অবজেক্টের টাইপ, অ্যাট্রিবিউট বা মেথড চেক করা। এটি ডাইনামিক প্রোগ্রামিংয়ের জন্য খুব দরকারি।
x = [1, 2, 3]
print(dir(x)) # অবজেক্টের সব মেথডের লিস্ট
print(type(x)) # ডাটা টাইপ দেখা
print(hasattr(x, 'append')) # মেথডটি আছে কি না দেখা২. Contextlib (অ্যাডভান্সড)
লেভেল ৩-এ আমরা কন্টেক্সট ম্যানেজার দেখেছি। contextlib মডিউলের মাধ্যমে আরও কিছু স্মার্ট কাজ করা যায়, যেমন- suppress (নির্দিষ্ট এরর ইগনোর করা) এবং closing।
from contextlib import suppress
with suppress(FileNotFoundError):
os.remove('non_existent_file.txt') # ফাইল না থাকলেও এরর দিবে না৩. Typing Extensions
পাইথনের নতুন নতুন টাইপিং ফিচার (যেমন- Annotated, Literal, TypedDict) ব্যবহার করে ডিকশনারি বা ফাংশনের আর্গুমেন্ট আরও সূক্ষ্মভাবে ডিফাইন করা যায়।
from typing import TypedDict
class User(TypedDict):
name: str
age: int
user: User = {"name": "Ripon", "age": 25} # ভুল কি-ওয়ার্ড দিলে এডিটর ওয়ার্নিং দিবে৪. Walrus Operator (:=)
পাইথন ৩.৮-এ আসা এই অপারেটরটি একই সাথে ভ্যালু অ্যাসাইন করতে এবং চেক করতে সাহায্য করে।
# পুরনো পদ্ধতি:
data = get_data()
if data:
process(data)
# Walrus ব্যবহার করে:
if data := get_data():
process(data)৫. What's Next? (ভবিষ্যত পরিকল্পনা)
অভিনন্দন! আপনি পাইথনের ৫৩টি গুরুত্বপূর্ণ টপিকের ডিপ-ডাইভ শেষ করেছেন। এখন আপনার উচিত:
- Projects: রিয়েল ওয়ার্ল্ড প্রোজেক্ট তৈরি করা।
- Open Source: গিটহাবে অন্যদের প্রজেক্টে কন্ট্রিবিউট করা।
- Specialization: আপনার পছন্দ অনুযায়ী ডাটা সায়েন্স, ওয়েব ব্যাকএন্ড (Django/FastAPI) বা সাইবার সিকিউরিটি নিয়ে কাজ শুরু করা।
TIP
শেখার কোনো শেষ নেই। পাইথন ল্যাঙ্গুয়েজ প্রতিনিয়ত আপডেট হচ্ছে। নিজেকে আপ-টু-ডেট রাখতে পাইথনের অফিসিয়াল ডকুমেন্টেশন এবং নতুন রিলিজ নোটগুলো পড়ার অভ্যাস করুন।