Python চিট শিট
একটি অনুসন্ধানযোগ্য, প্রিন্টযোগ্য Python 3 রেফারেন্স — সিনট্যাক্স, ডেটা স্ট্রাকচার, comprehension, ফাংশন, ক্লাস, ফাইল এবং স্ট্যান্ডার্ড লাইব্রেরি। বিনামূল্যে।
ভেরিয়েবল ও টাইপ
10x = 1
ভেরিয়েবল অ্যাসাইন (গতিশীল-টাইপড)
x: int = 1
ঐচ্ছিক টাইপ annotation
a, b = 1, 2
একাধিক অ্যাসাইনমেন্ট
type(x)
মানের টাইপ পাওয়া
int('42')
স্ট্রিংকে integer-এ রূপান্তর
str(42)
মানকে স্ট্রিং-এ রূপান্তর
isinstance(x, int)
টাইপ যাচাই
None
null/অনুপস্থিতি মান
x = y = 0
চেইনড অ্যাসাইনমেন্ট
PI: Final = 3.14
const ইঙ্গিত (typing.Final)
স্ট্রিং
11f'Hello {name}'
f-string ইন্টারপোলেশন
len(s)
স্ট্রিং দৈর্ঘ্য
s.upper()
বড় হাতের অক্ষরে রূপান্তর
s.strip()
চারপাশের whitespace সরানো
s.split(',')
list-এ ভাগ
','.join(items)
সেপারেটর দিয়ে list জোড়া
s.replace('a', 'b')
substring প্রতিস্থাপন
'a' in s
সদস্যপদ পরীক্ষা
s[1:4]
অক্ষর 1 থেকে 3 slice
s[::-1]
স্ট্রিং উল্টানো
s.startswith('a')
prefix যাচাই
List ও tuple
10a = [1, 2, 3]
list তৈরি
a.append(4)
শেষে আইটেম যোগ
a.insert(0, x)
index-এ যোগ
a.pop()
শেষ আইটেম সরিয়ে ফেরত
a[1:3]
sublist slice
sorted(a, reverse=True)
sorted কপি ফেরত
a.sort(key=len)
key অনুযায়ী in-place sort
len(a)
আইটেমের সংখ্যা
t = (1, 2)
Immutable tuple
first, *rest = a
star দিয়ে unpack
Dict ও set
10d = {'k': 'v'}
dictionary তৈরি
d['k']
key দিয়ে মান অ্যাক্সেস
d.get('k', default)
fallback সহ get
d.keys() / d.values()
key বা মান দেখা
d.items()
key/value জোড়া iterate
{**a, **b}
dictionary মার্জ
a | b
Dict/set union অপারেটর
del d['k']
key সরানো
s = {1, 2, 3}
set তৈরি (অনন্য মান)
set(a) & set(b)
Set intersection
Comprehension
8[x * 2 for x in a]
List comprehension
[x for x in a if x > 0]
ফিল্টারড comprehension
{x: x**2 for x in a}
Dict comprehension
{x for x in a}
Set comprehension
(x for x in a)
Generator এক্সপ্রেশন (lazy)
[y for row in m for y in row]
নেস্টেড loop দিয়ে flatten
[a if c else b for x in items]
comprehension-এ শর্তাধীন মান
sum(x for x in a)
generator aggregate
কন্ট্রোল ফ্লো
9if x > 0:\n ...
শর্তাধীন (ইন্ডেন্টেশন গুরুত্বপূর্ণ)
elif / else:
অতিরিক্ত শাখা
a if cond else b
Ternary এক্সপ্রেশন
for x in range(10):
range-এর উপর loop
for i, x in enumerate(a):
index সহ loop
for a, b in zip(x, y):
দুই iterable একসাথে loop
while cond:
true থাকা পর্যন্ত loop
break / continue
iteration থেকে বের বা বাদ
match x:\n case 1: ...
Structural pattern matching (3.10+)
ফাংশন
8def f(a, b=1): return a + b
ডিফল্ট argument সহ function
def f(*args, **kwargs):
Variadic positional + keyword args
f(name='Sam')
keyword argument দিয়ে কল
lambda x: x + 1
নামহীন inline function
def f(a: int) -> int:
param ও return-এর টাইপ ইঙ্গিত
@decorator
decorator দিয়ে function মোড়ানো
yield value
generator থেকে মান উৎপাদন
global x / nonlocal x
বাইরের-স্কোপ ভেরিয়েবল পুনঃbind
Class
9class A(Base):
উত্তরাধিকার সহ class
def __init__(self, x):
Constructor / initializer
self.x = x
Instance অ্যাট্রিবিউট
def __str__(self):
স্ট্রিং উপস্থাপনা
@property
Computed read-only অ্যাট্রিবিউট
@staticmethod / @classmethod
Static ও class মেথড
super().__init__()
প্যারেন্ট initializer কল
@dataclass
init/repr/eq স্বয়ং-উৎপাদন
isinstance(obj, A)
instance টাইপ যাচাই
ফাইল, এরর ও module
9with open('f.txt') as fh:
ফাইল খোলা (স্বয়ং-বন্ধ)
fh.read() / fh.readlines()
ফাইল কনটেন্ট পড়া
open('f.txt', 'w').write(s)
ফাইলে লেখা
try:\n ...\nexcept ValueError as e:
নির্দিষ্ট exception ধরা
raise ValueError('bad')
exception raise
finally:
সবসময়-চলা cleanup ব্লক
import os
module import
from math import sqrt
নির্দিষ্ট নাম import
import numpy as np
alias সহ import
“:q”-এর সাথে কোনো এন্ট্রি মেলে না।
সাহায্য দরকার?
এই টুলে কোনো সমস্যা পেয়েছেন? আমাদের দলকে জানান।