Posted on Leave a comment

[চলুন দেখে নেই] কিছু Python ব্যাসিক অপারেশন? (পার্ট ২)

ব্যাসিক অপারেশন

[img id=1602]

পাইথনের কনসোলে সহজেই ম্যাথেম্যাটিক্যাল ক্যালকুলেশন করা যায়। তাই আবার খুলে ফেলুন পাইথন ইন্টারপ্রেটার। অর্থাৎ, নিচের যেকোনো একটিঃ

১) পাইথন ইন্সটলেশনের সাথে আশা IDLE
২) লিনাক্স বা ম্যাক হলে Terminal ওপেন করুন এবং টাইপ করুন python3
৩) উইন্ডোজ হলে Command Prompt চালু করুন এবং টাইপ করুন python

কনসোলে নিচের মত ম্যাথেম্যাটিক্যাল কমান্ড লিখে সহজেই সেগুলোর রেজাল্ট পাওয়া যায় –

>>> 2 + 6
8
>>> 5 + 4 – 3
6

যোগ বিয়োগের মতই গুন ভাগের কাজও এখানে সহজেই করা যায়। ব্রাকেট ব্যবহার করে নির্ধারণ করে দেয়া যায় যে, কোন পার্ট টুকুর অপারেশন আগে করা হবে।

>>> 2 * (2 + 2)
8
>>> 20/2
10.0

একটি সিঙ্গেল / ব্যবহার করে ভাগ করলে রেজাল্ট আসে float টাইপের ডেসিম্যাল।

>>> -7 + 2
-5

নাম্বারের আগে মাইনাস সাইন দিয়ে নেগেটিভ নাম্বার নির্ধারণ করে দেয়া হয়।

সাধারণ গণিতের মতই পাইথনে কোন সংখ্যাকে শূন্য দিয়ে ভাগ করতে গেলে এরর আসবে,

>>> 44/0
Traceback (most recent call last):
File \”\”, line 1, in
ZeroDivisionError: division by zero
Float

যে নাম্বার গুলো Integer টাইপের নয় সেগুলোকে পাইথনে রিপ্রেজেন্ট করার জন্য float ব্যবহার করা হয়। যেমন – 1.0, -5.15 ইত্যাদি। যেকোনো সংখ্যার মধ্যে একটি দশমিক চিহ্ন ব্যবহার করা মানেই হল সেটি একটি float টাইপের ডাটা হয়ে যায়। অথবা পাইথনে যেকোনো দুটি ইন্টিজার টাইপের সংখ্যাকে ভাগ করলেই একটি float টাইপের রেজাল্ট পাওয়া যায়। যেমন,

>>> 10/5
2.0

একটা কথা মনে রাখা জরুরি – মানুষের মত কম্পিউটারও শতভাগ সঠিকভাবে float টাইপের ডাটা স্টোর করতে পারে না। যেমন 1/3 এর ফলাফল হচ্ছে 0.333333333 (চলতেই থাকে)। এরকম অবস্থা কিছু অনাকাঙ্ক্ষিত ত্রুটির কারণ হয়ে দাঁড়াতে পারে।

>>> 8 / 2
4.0
>>> 6 * 7.0
42.0
>>> 4 + 1.65
5.65

Posted on 1 Comment

[চলুন দেখে নেই] কিভাবে Python ইন্সটলেশন করব ?

ইন্সটলেশন

[img id=1564]

আপনি যদি লিনাক্স বা ম্যাক ব্যবহারকারী হন তবে আপনার কম্পিউটারে পাইথন দেওয়াই থাকে।
এই কোর্স লেখা পর্যন্ত (জুলাই ২০১৬) এই মেজর দুটি অপারেটিং সিস্টেমের সাথে যে পাইথন বিল্ট ইন অবস্থায় ডিফল্ট হিসেবে থাকে তার ভার্সন হচ্ছে 
Python 2.7.x.
কিন্তু, এই কোর্সটি লেখা হচ্ছে 
Python 3.5.x 
এর উপর ভিত্তি করে। আসলে পাইথন ২ এবং ৩ ভার্সনের মধ্যে সিনট্যাক্স এবং ফিচার সম্পর্কিত বেশ কিছু মাঝারি মানের পরিবর্তন আছে।
পাইথনের অফিসিয়াল সাইটে বর্তমানে পাইথন ৩ কেই বেশি ফোকাস করা হয়ে থাকে এবং তারা স্পষ্টই বলে দিয়েছে যে পাইথনের বর্তমান এবং ভবিষ্যৎ হচ্ছে 
পাইথন ৩

Python 2.x is legacy, Python 3.x is the present and future of the language

পাইথন ২ আর পাইথন ৩ এর পার্থক্য কি?
পাইথনের এই দুটি প্রধান ভার্সনের মধ্যেকার পার্থক্য এবং আরও বিস্তারিত জানতে পড়া যেতে পারে অফিসিয়াল এই পোস্টটি

ইন্সটলেশন

আমরা নিচে কিছু মেজর অপারেটিং সিস্টেমে পাইথন ৩ এর লেটেস্ট ভার্সন ইন্সটলেশনের ধাপ গুলো সম্বন্ধে জানবো। আগেই বলা হয়েছে, লিনাক্স বা ম্যাকে পাইথনের ২ ভার্সন বিল্ট-ইন অবস্থায় থাকে। তাই সরাসরি এই পাইথনের ইন্টারপ্রেটারকে চালু করতে হলে টার্মিনাল ওপেন করে কমান্ড লিখতে হবে,

python

এবং এন্টার চাপলেই পাইথন ২ এর ইন্টারপ্রেটার চালু হবে। কিন্তু আমরা এই ভার্সন নিয়ে যেহেতু কাজ করবো না তাই নিচের লেটেস্ট ভার্সন ইন্সটলেশনের দিকে মনোযোগ দেই।

লিনাক্স (উবুন্টু)

উবুন্টুর লেটেস্ট ভার্সনে Python 3 কেও ইন্সটল্ড অবস্থায় দেখা যায়
(যেমন Python 3.4.2) কিন্তু ডিফল্ট হিসেবে সেট করা থাকে না। অর্থাৎ, এই ভার্সনের ইন্টারপ্রেটার চালু করতে টার্মিনালে লিখতে হতে পারে 
python3 এবং এন্টার চাপতে হবে।

দুটি পাইথনের আলাদা আলাদা বাইনারি আলাদা নামে সেইভ থাকে এবং এদের পাথও দেখা যেতে পারে।
টার্মিনালে যথাক্রমে 

which python 
এবং 
which python3 

কমান্ড ইস্যু করলে যথাক্রমে 

/usr/bin/python 

এবং 

/usr/local/bin/python3 

দেখা যাবে। অর্থাৎ ডিফল্ট পাইথন এবং পাইথন 3.4 এর পাথ আলাদা।

যাই হোক,
আমরা যদি আরও লেটেস্ট ভার্সনটিকে ইন্সটল করতে চাই তাহলে সরাসরি এই লিঙ্ক থেকে পাইথন 3.5.2 এর Gzipped source tarball ডাউনলোড করে সেটিকে Extract করে নিতে হবে। এতে করে কম্পিউটারে Python-3.5.2 নামের একটি ফোল্ডার তৈরি হবে।

এবার, টার্মিনাল ওপেন করে cd কমান্ড ব্যবহার করে ওই ফোল্ডারের লোকেশনে যেতে হবে। যেমন,

$ cd ~/Downloads/Python-3.5.2

এরপর নিচের কমান্ডটি দিতে হবে,

./configure

এখন নিচের কমান্ডটি দিন,

make

এরপর,

sudo make install

সব কিছু ভালোয় ভালোয় হয়ে গেলে টার্মিনাল ওপেন করে কমান্ড দিন,

python3.5

নিচের মত আউটপুট আসবে,

Python 3.5.2 (default, Jul 22 2016, 18:23:14)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

অর্থাৎ Python 3.5.2 এর কনসোল বা REPL চালু হয়ে গেছে 🙂

এই নতুন পাইথনের লোকেশন জানতে which python3.5 কমান্ড দিয়ে দেখতে পারেন যার আউটপুট আসতে পারে /usr/local/bin/python3.5

ম্যাক ওএসএক্স

লিনাক্সের মত ম্যাকেও পাইথন ২ বিল্ট ইন অবস্থায় থাকে। পাইথনের লেটেস্ট ভার্সনটির .pkg ফরম্যাট ডাউনলোড করতে হবে এখানে থেকে

এরপর ডাউনলোড করা ফাইলে ডাবল ক্লিক করে এবং স্ক্রিনে আগত তথ্য গুলো দেখে দেখে খুব সহজেই গ্রাফিক্যাল মুডে পাইথন ইন্সটল করা যায়।

ইন্সটলেশন কমপ্লিট হলে নতুন পাইথনের পাথ কে সিস্টেমের PATH এনভায়রনমেন্ট ভ্যারিয়েবলে যুক্ত করে নিতে হবে। এ জন্য আপনার ব্যবহৃত শেল প্রোগ্রামের উপর ভিত্তি করে ~/.profile.zshrc,
অথবা ~/.bash_profile ফাইলকে এডিট করে নিচের লাইনটি জুড়ে দিন।

export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.5/bin/python3

এখন নতুন একটি টার্মিনাল উইন্ডো ওপেন করে কমান্ড দিন,

python3

নিচের মত আউটপুট তথা REPL চালু হলে ধরে নেয়া যায় পাইথনের লেটেস্ট ভার্সন ইন্সটল হয়েছে,

Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

ম্যাকে পাইথন ইন্সটল করার সাথে সাথে একটি IDLE (Integrated Development Environment) -ও ইন্সটল হয়ে যায় যেটা আসলে টার্মিনালের পাইথন REPL (read–eval–print loop) এর মতই কাজ করে কিন্তু বিশেষভাবে পাইথন প্রোগ্রামিং এর জন্যই তৈরি। অ্যাপ লিস্ট থেকে এই নতুন ইন্সটল হওয়া REPL কে খুঁজে চালু করা যাবে।

 

সাবধানতা

যেহেতু লিনাক্স ও ম্যাকে পাইথন ২ এর বাইনারি বিল্ট-ইন থাকে এবং আলাদাভাবে ইন্সটল করা পাইথন এর বাইনারির নাম সাধারণত  python3.4  বা  python3.5  হয়ে থাকে; তো অনেকেই নতুন ইন্সটল করা পাইথন বাইনারির নাম বদলে বা সিম্বোলিক লিঙ্ক তৈরি করে  python করে থাকেন যাতে করে টার্মিনালে python কমান্ড এক্সিকিউট করলেই পাইথন ৩ এর ইন্টারপ্রেটার চালু হয়।  এই কাজটি করা একদম উচিৎ না।কারণ লিনাক্স বা ম্যাকে কিছু টুলস এবং প্রোগ্রাম থাকে যেগুলো ওই সিস্টেমের পাইথন এর উপরেই নির্ভর করে। এখন যখন আপনি পাইথন ৩ এর নাম বদলে শুধু পাইথন করে দিবেন, তারপর থেকে ওই সিস্টেম প্রোগ্রাম গুলো হয়তো সঠিক ভাবে কাজ করবে না। কারন তারা পাইথন ২ এর ইন্টারপ্রেটার কে চেনে পাইথন নামে।

এসব ছোট জটিলতা সমাধান করা যায় ভার্চুয়াল এনভায়রনমেন্ট তৈরির মাধ্যমে যা কোর্সের শেষের দিকে আলোচনা করা হবে।

উইন্ডোজ

এই অপারেটিং সিস্টেমে বিল্ট-ইন পাইথন না থাকায় অবশ্যই আলাদা ভাবে ইন্সটল করে নিতে হবে। প্রথমে এখান থেকে ৬৪ বিট উইন্ডোজের জন্য ইন্সটলার ডাউনলোড করে নিন। ম্যাক এর ইন্সটলারের মতই উইন্ডোজ এর জন্য ইন্সটলারটিও গ্রাফিক্যাল ইন্টারফেস ভিত্তিক অর্থাৎ, মাউস এর কয়েকটি ক্লিক দিয়েই পাইথন ইন্সটল করে নিতে পারেন।

এখানেও একটি গ্রাফিক্যাল পাইথন কনসোল প্রোগ্রাম ইন্সটল হয়ে যায় যাকে আমরা IDLE বলছি। Start মেনু থেকে All Programs এর মধ্যে Python 3.5 নামক ফোল্ডারের মধ্যে IDLE নামের প্রোগ্রামটি থাকবে যেখান থেকে একে চালু করা যেতে পারে।

আর যদি ঊন্ডোজের ডিফল্ট কমান্ড প্রম্পট প্রোগ্রামের মধ্যেই পাইথন ইন্টারপ্রেটার পেতে চান (লিনাক্স বা ম্যাকের টার্মিনালের মত করে) তাহলে পাইথন ডিরেক্টরীকে আপনাদের সিস্টেম পাথে যোগ করে নিন । অর্থাৎ C:\Python3x (ধরে নিচ্ছি আপনার পাইথন ইন্সটলেশন সি ড্রাইভের মধ্যেই করেছেন) এই লোকেশনটিকে আপনার PATHভ্যারিয়েবলে যোগ করে নিন।

নোটঃ পাইথনের লেটেস্ট ভার্সন ইন্সটল করলে স্বয়ংক্রিয়ভাবে কম্পিউটারের PATH ভ্যারিয়েবলে পাইথন যোগ হয়ে যাওয়ার কথা।

যদি না হয়, তার জন্যঃ My Computer এর উপর রাইট ক্লিক করে Properties এ যান ।

  • বাম পাশে Advanced System Settings এ ক্লিক করূন ।
  • নিচের দিকে থাকা Environment Variables এ ক্লিক করুন ।
  • System Variables এর ভিতরে PATH এন্ট্রি খুজে বের করে Edit বাটন চাপুন ।
  • এবার এর শেষে C:\Python3x; লিখে OK করে বের হয়ে আসুন ।
  • কমান্ড প্রম্পট চালু করুন (cmd.exe) । টাইপ করুনঃ python । এন্টার চাপুন ।

কমান্ড প্রম্পট এর কালো পর্দায় নিচের মত লেখা দেখাবেঃ

Python 3.5.1 (v3.5.1:xxxxxxxx, Sep 13 2015, 15:10:54) [MSC v.1900 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

এরকম দেখালে বোঝা গেল আমরা পাইথন ইন্সটলেশন শেষে এটাকে রান করাতে পেরেছি কমান্ড লাইনে।

প্রথম প্রোগ্রাম

উপরের যেকোনো একটি মাধ্যমে যদি কোন ভাবে আপনি পাইথন কনসোল ওপেন করে থাকেন তাহলে নিচের লাইনটি সেখানে লিখুন এবং এন্টার চাপুন,

>>> print('Hello world!')

তাহলে তারপরের লাইনেই আউটপুট পাবেন নিচের মত,

Hello world!

>>> চিহ্নটির মানে হচ্ছে পাইথন ইন্টারপ্রেটার আপনার কাছে পাইথন স্টেটমেন্ট নেয়ার জন্য প্রস্তুত এবং এখানেই আপনি লিখতে পারবেন।