বেশিরভাগ ভাষার মতোই Python-এর অপারেটরও একই ধরনের জায়গা কভার করে — অ্যারিথমেটিক, তুলনা, লজিক — 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 |
// বিশেষভাবে উল্লেখ করার মতো: / সবসময় একটি float ফলাফল দেয়, এমনকি সংখ্যাগুলো সমানভাবে ভাগ হলেও, আর // হলো এর বদলে ইচ্ছাকৃতভাবে একটি পূর্ণ সংখ্যা ফেরত পাওয়ার উপায়।
Python অ্যারিথমেটিক আর স্ট্রিং জোড়া লাগানো দুটোর জন্যই + ব্যবহার করে — টেক্সট জোড়া লাগানোর জন্য আলাদা কোনো অপারেটর নেই। Python জড়িত টাইপ থেকে সিদ্ধান্ত নেয় আপনি কোনটা বোঝাচ্ছেন, যে কারণেই (Data Types পাঠ থেকে) + দিয়ে একটি স্ট্রিং আর একটি সংখ্যা মেশালে অনুমান করার বদলে একটি এরর ওঠে:
greeting = "Hello, " + "world!"
print(greeting)
# name = "Age: " + 21 # TypeError — use an f-string instead (next lesson)== আর is দেখতে একই রকম কিন্তু ভিন্ন কাজ করে। == মান তুলনা করে; 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.")প্রতিটি অ্যারিথমেটিক অপারেটরের একটি compound রূপ আছে যা একটি ভ্যারিয়েবলকে in place আপডেট করে:
| অপারেটর | যার সমান |
|---|---|
| x += 1 | x = x + 1 |
| x -= 1 | x = x - 1 |
| x *= 2 | x = x * 2 |
| x /= 2 | x = x / 2 |
| x //= 2 | x = x // 2 |
| x **= 2 | x = x ** 2 |
| x %= 2 | x = x % 2 |
একটি কাউন্টার increment করার প্রচলিত উপায় হিসেবে আপনি ইতিমধ্যে count += 1 ব্যবহার হতে দেখেছেন, কারণ Python-এ ++ নেই — উপরের টেবিলের প্রতিটি অপারেটরের জন্য একই শর্টকাট কাজ করে।