একটি Python ভ্যারিয়েবল এমন একটি মান সংরক্ষণ করে যা আপনি পরে ব্যবহার করতে বা বদলাতে পারেন — প্রোগ্রামিং পরিচিতি-তে শেখা একই ধারণা, Python-এর নিজস্ব সিনট্যাক্সে, যা প্রায় যতটা সংক্ষিপ্ত হওয়া সম্ভব ততটাই সংক্ষিপ্ত।
কোনো $ সিজিল নেই, কোনো কীওয়ার্ড নেই — শুধু একটি নাম আর একটি মান:
name = "Amit"
age = 21
print(f"{name} is {age} years old.")f"{name} is {age}..."-এ স্ট্রিংয়ের আগের f হলো একটি f-string — সরাসরি একটি স্ট্রিংয়ে ভ্যারিয়েবল বসানোর Python-এর উপায়, PHP-এর ডাবল-কোট ইন্টারপোলেশনের মতো। Strings পাঠে আপনি f-string ভালোভাবে দেখবেন।
| নিয়ম | উদাহরণ |
|---|---|
| একটি অক্ষর বা আন্ডারস্কোর দিয়ে শুরু হতে হবে (কখনো সংখ্যা দিয়ে নয়) | _id — বৈধ, 1id — অবৈধ |
| এরপর অক্ষর, সংখ্যা, আর আন্ডারস্কোর থাকতে পারে | user_2 — বৈধ |
| স্পেস বা হাইফেন অনুমোদিত নয় | user name — অবৈধ |
| কেস-সেনসিটিভ | Name আর name আলাদা ভ্যারিয়েবল |
| প্রথা: snake_case, সব lowercase | first_name, firstName নয় |
snake_case, camelCase নয়
snake_case (আন্ডারস্কোর দিয়ে জোড়া লাগানো lowercase শব্দ) ভ্যারিয়েবল আর ফাংশনের জন্য প্রচলিত Python নামকরণ নিয়ম — এটি PHP-এর সাধারণ camelCase স্টাইল, আর JavaScript-এর থেকে আলাদা। এটি একটি প্রথা, ভাষা প্রয়োগ করা কোনো নিয়ম নয়, কিন্তু বাস্তব Python কোড এটি সামঞ্জস্যপূর্ণভাবে মেনে চলে।
ঠিক PHP-এর মতো, আপনি কখনো একটি ভ্যারিয়েবলের টাইপ ঘোষণা করেন না — Python মান থেকে এটি বুঝে নেয়, আর একটি ভ্যারিয়েবল পরে ভিন্ন একটি টাইপও ধারণ করতে পারে:
value = 10 # an integer
value = "ten" # now a string — perfectly legalPHP-এর মতো Python-এ কোনো const কীওয়ার্ড বা define() নেই — একটি ভ্যারিয়েবলকে সত্যিকারভাবে অপরিবর্তনীয় করার কোনো উপায় নেই। এর বদলে, প্রথা হলো এমন একটি মানকে যা বদলানো উচিত নয় তাকে UPPER_SNAKE_CASE-এ নামকরণ করা, কোড পড়া যে কাউকে একটি সংকেত হিসেবে:
MAX_UPLOAD_SIZE = 5242880 # 5 MB — nothing stops this from being reassigned,
# but the ALL_CAPS name says "please don't"