1.4 Python Basic Syntax
আপনার Python প্রম্পট এ নিচের প্রোগ্রামটি লিখুন এবং Enter চাপুন।
>>> print "Hello, Python!"
অনেক সময় নতুন ভার্সনে কাজ করলে ব্র্যাকেটের ভেতর প্রিন্ট স্টেটমেন্ট দিতে হয় যেমন, print ("Hello, Python!")। যাইহোক, 2.4.3 ভার্সনে রান উপরের স্ক্রিপ্টটি রান করলে নিচের ফলাফলটি আসবে।
Hello, Python!
Python Identifiers
Python এর ভেরিয়েবল, ফাংশন, ক্লাস, মোডিউল কিংবা অন্যান্য অবজেক্ট রেকর্ড করার জন্য যেসব নাম ব্যবহৃত হয় তাদের কে Python Identifiers বলে। এসব নাম ‘A থেকে Z’ অথবা ‘a থেকে z’ অথবা underscore (_) দিয়ে শুরু হয় এবং এরপর যেকোনো অক্ষর, underscore কিংবা সংখ্যা (0-9) ব্যবহৃত হয়। Python এর Identifier হিসেবে @, $, % ব্যবহার করা যায় না। তাছাড়া, Python কেস সেন্সিটিভ, অর্থাৎ A এবং a এখানে আলাদা অর্থ বহন করে। যেমন, Python identifier এ Manpower এবং manpower এর দুটি আলাদা নাম। নিচে বিভিন্ন Python identifier এর নামকরণ পদ্ধতি বর্ণনা করা হল।
- শুধুমাত্র Class name গুলো বড় হাতের অক্ষর দিয়ে শুরু হয়, অন্য সব নামকরণ শুরু হয় ছোট হাতের অক্ষর দিয়ে।
- কোন identifier যদি শুধুমাত্র একটি underscore (_) দিয়ে শুরু হয় তবে তার অর্থ হচ্ছে এটি একটি ‘private identifier’.
- যদি কোন identifier পর পর দুটি underscore (_) দিয়ে নামকরণ হয় তবে সেটি ‘strongly private identifier’.
- যদি কোন identifier এর নাম পর পর দুটি underscore (_) দিয়ে শেষ হয়, তবে তাকে language-defined special name বলে।
নিচে Python এর কী-ওয়ার্ড গুলোর লিস্ট দেয়া হল। এই কী-ওয়ার্ড গুলোর বিশেষ অর্থ রয়েছে এবং Python এ কোন প্রকার কন্সট্যান্ট, ভেরিয়েবল অথবা আইডেন্টিফাইয়ার হিসেবে এই শব্দগুলো ব্যবহার করা যায়না। Python কী-ওয়ার্ড এ শুধুমাত্র ছোট হাতের অক্ষর ব্যবহৃত হয়।
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
লাইন ও মার্জিন
এছাড়াও, Python এর কোড কিংবা স্টেটমেন্ট এর একটি নির্দৃষ্ট ব্লক বোঝাতে লাইনের আগে সমান সংখ্যক/ পরিমাণ গ্যাপ (স্পেস) থাকে। অর্থাৎ স্ক্রিপ্টের দুটি continuous line যদি সমান পরিমাণ মার্জিনেই শুরু হয়, তার অর্থ হচ্ছে লাইন দুটো একই ব্লকের। কাজেই একই ব্লকের continuous line ভিন্ন ভিন্ন মার্জিনে শুরু হলে প্রোগ্রামিং এ error দেখা দিবে। উদাহরণস্বরূপ, নিচের কোডটি ঠিক আছে।
if True: print "True" else: print "False"
কিন্তু, নিচের কোড টি ঠিক নয়। কারন এখানে একই ব্লকের পর পর দুটি স্টেটমেন্ট এর মার্জিন ভিন্ন। print “Answer” এবং print “False” এর মার্জিন দেখুন।
if True: print "Answer" print "True" else: print "Answer" print "False"
নিচে আরেকটি জটিল স্টেটমেন্ট এর কোড দেখানো হল। এখানে বিভিন্ন ব্লক গুলো ধরতে পারার চেষ্টা করুন (আপাতত যুক্তি বোঝার দরকার নেই!)।
#!/usr/bin/python import sys try: # open file stream file = open(file_name, "w") except IOError: print "There was an error writing to", file_name sys.exit() print "Enter '", file_finish, print "' When finished" while file_text != file_finish: file_text = raw_input("Enter text: ") if file_text == file_finish: # close the file file.close break file.write(file_text) file.write("\n") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys.exit() try: file = open(file_name, "r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text
একাধিক লাইনের স্টেটমেন্ট
Python এর statement সাধারণত নতুন লাইন এ গিয়ে শেষ হয়। তবে কোন স্টেটমেন্টের শেষে continuation character (\) সেটা দিয়ে স্টেটমেন্টটি আরও চলবে (continued statement) সেটা বোঝানো হয়। যেমন,
total = item_one + \ item_two + \ item_three
কিন্তু, কোন স্টেটমেন্ট যদি [], {}, বা () ব্র্যাকেটের ভেতর থাকে তবে continuation character (\) দেয়ার দরকার নেই। যেমন,
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Python এ কোটেশান এর প্রয়োগ
Python এর string literal এ একটি ('), দুটি (") কিংবা তিনটি (''' বা """) কোটেশান চিহ্ন ব্যবহার করা যায়, তবে যেই কোটেশান দিয়ে বাক্য শুরু হয়েছে, সেটি দিয়েই শেষ করতে হবে। তিনটি কোট (''' বা """) দিয়ে দুটি দুই বা ততোধিক লাইনের string literal সম্পন্ন করা যায়। যেমন, নিচের সবকটি string সঠিক।
word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences."""
Python এ কমেন্ট
String literal এর বাইরে হ্যাশ চিহ্ন (#) টাইপ করে যদি কোন বাক্য লেখা হয়, তবে সেটি একটি ‘কমেন্ট’ হিসেবে গণ্য হবে। সহজ কথায়, # চিহ্নের পরে ব্যবহৃত একই লাইনের সকল অক্ষর একসাথে একটি কমেন্ট হিসেবে বিবেচিত হবে, এবং Python interpreter সব ধরনের কমেন্টকে ignore করবে। যেমন,
#!/usr/bin/python # First comment print "Hello, Python!" # second comment
এই স্ক্রিপ্টটি রান করলে নিচের রেসাল্টটি আসবে।
Hello, Python!
যেকোনো স্টেটমেন্ট, কিংবা এক্সপ্রেশন এর পরে কমেন্ট সংযোজন করা যায়।
name = "Madisetti" # This is again comment
দরকার পরলে একাধিক কমেন্টও যোগ করে নিতে পারেন।
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
শূন্য লাইন (Blank Lines)
কোন লাইনে শুধুমাত্র স্পেস, অথবা কোন কমেন্ট থাকলে সেটাকে blank line বলে, এবং Python তাকে সম্পূর্ণরূপে ignore করে। Interactive interpreter session চলাকালীন blank line দিয়ে একাধিক বাক্যের স্টেটমেন্ট এর শেষ বোঝানো হয়।
এখন নিচের প্রোগ্রামটি লক্ষ্য করি।
#!/usr/bin/python raw_input("\n\nPress the enter key to exit.")
প্রোগ্রামটি রান করলে, ফলাফল হিসেবে প্রিন্ট হবে, “Press the enter key to exit” এবং তারপর কী-বোর্ডে কোন কিছু টাইপ করা মাত্রই প্রোগ্রামটি শেষ হবে। এখানে "\n\n" ব্যবহার করার জন্য আসল বাক্যটি দেখানোর আগে দুটি blank line আসবে। এই স্ক্রিপ্টটির সাহাজ্যে সহজেই এমন একটি প্রোগ্রাম তৈরি করা যায়, যেখানে কোন ইউসার নিজে কোন বাটনে চাপ দেয়ার আগ পর্যন্ত প্রোগ্রাম স্ক্রিন খোলা থাকবে।
একই লাইনে একাধিক স্টেটমেন্ট
একই লাইনে (অবশ্যই একই ব্লকে) একাধিক স্টেটমেন্ট বোঝাতে সেমি-কোলন (;) চিহ্ন ব্যবহার করা হয়। যেমন,
import sys; x = 'foo'; sys.stdout.write(x + '\n')
Suites (একাধিক স্টেটমেন্ট গ্রুপ)
আলাদা আলাদা স্টেটমেন্ট এর একটি মাত্র ‘গ্রুপ’ যখন একসাথে একটি কোড ব্লক তৈরি করে তখন তাকে Suites বলে। জটিল/ যৌগিক/ বড় স্টেটমেন্ট এর ক্ষেত্রে, if, while, def অথবা class এর ক্ষেত্রে একটি হেডার লাইন এবং পরে একটি suite এর প্রয়োজন হয়। হেডার লাইনের আগে একটি কী-ওয়ার্ড থাকে এবং পরে কোলন চিহ্ন (:) থাকে, যার পরে এক বা একাধিক লাইনের suite ব্যবহার করা হয়। যেমন,
if expression : suite elif expression : suite else : suite
Command Line আর্গুমেন্টঃ
অনেক সময় একটা প্রোগ্রাম কিভাবে রান করানো উচিৎ, সেই তথ্যও অন্য একটি প্রোগ্রাম এ দেয়া হয়, যা কমান্ড লাইন আর্গুমেন্ট হিসেবে পরিচিত। Python এ –h- এর সাহায্যে এরকম প্রোগ্রাম কোড করা যায়। কমান্ড লাইন আর্গুমেন্টের কনসেপ্ট অপেক্ষাকৃত জটিল, যা এই টিউটোরিয়াল এর পরবর্তি অংশে আলোচনা করা হবে।
0 comments:
Post a Comment