বেশিরভাগ Python অপারেটর PHP থেকে পরিচিত মনে হবে — Python-এর নিজস্ব কিছু পছন্দ বিশেষভাবে উল্লেখ করার মতো।
| অপারেটর | অর্থ | উদাহরণ |
|---|---|---|
| + | যোগ | 5 + 2 → 7 |
| - | বিয়োগ | 5 - 2 → 3 |
| * | গুণ | 5 * 2 → 10 |
| / | ভাগ (সবসময় একটি float রিটার্ন করে) | 5 / 2 → 2.5 |
| // | ফ্লোর ডিভিশন (নিচের দিকে রাউন্ড করে একটি int) | 5 // 2 → 2 |
| % | মডুলাস (ভাগশেষ) | 5 % 2 → 1 |
| ** | এক্সপোনেন্ট | 5 ** 2 → 25 |
// বিশেষভাবে উল্লেখ করার মতো — PHP-এর স্বয়ংক্রিয় "সমানভাবে ভাগ হলে int" ভাগের আচরণের কোনো সরাসরি সমতুল্য Python-এ নেই; / সবসময় একটি float দেয়, আর // হলো ইচ্ছাকৃতভাবে একটি পূর্ণ সংখ্যা ফেরত পাওয়ার উপায়।
Python অ্যারিথমেটিক আর স্ট্রিং জোড়া লাগানো দুটোর জন্যই + ব্যবহার করে — PHP-এর .-এর মতো আলাদা কোনো ডট অপারেটর নেই। Python জড়িত টাইপ থেকে সিদ্ধান্ত নেয় আপনি কোনটা বোঝাচ্ছেন, যে কারণেই (Data Types পাঠ থেকে) + দিয়ে একটি স্ট্রিং আর একটি সংখ্যা মেশালে অনুমান করার বদলে একটি এরর ওঠে:
greeting = "Hello, " + "world!"
print(greeting)
# name = "Age: " + 21 # TypeError — use an f-string instead (next lesson)এটি PHP-এর == বনাম === পার্থক্যের Python সমতুল্য, কিন্তু এটি ভিন্নভাবে কাজ করে। == মান তুলনা করে; is identity তুলনা করে — দুটো নাম মেমরিতে একেবারে একই অবজেক্টের দিকে নির্দেশ করছে কিনা:
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a == b) # True — same values
print(a is b) # False — two different list objects, even though equal
print(a is c) # True — c points at the exact same object as aডিফল্টভাবে ==, None চেকের জন্য is ব্যবহার করুন
মান তুলনা করতে == ব্যবহার করুন, যা প্রায় সবসময় আপনি চান। is নির্দিষ্টভাবে identity চেক করার জন্য, আর এর একটি সত্যিকারের সাধারণ ব্যবহার হলো None-এর সাথে তুলনা করা: if value is None: এটা করার idiomatic Python উপায়, if value == None: নয়।
Python এগুলো চিহ্নের বদলে শব্দ দিয়ে লেখে — কোনো &&, ||, বা ! নেই:
age = 20
has_id = True
if age >= 18 and has_id:
print("Entry allowed.")
if not has_id:
print("ID required.")