যখন পাইথন মডিউল (.py ফাইল) চালানো হয়, তখন শীর্ষ স্তরের স্টেটমেন্টগুলি উপরে উপস্থিত থেকে নীচে (শেষ হওয়া পর্যন্ত) প্রদর্শিত হবে তার ক্রমে কার্যকর করা হয়। এর অর্থ আপনি কিছু সংজ্ঞা না দেওয়া পর্যন্ত আপনি কিছু উল্লেখ করতে পারবেন না। উদাহরণস্বরূপ নিম্নলিখিতটি প্রদর্শিত ত্রুটি উত্পন্ন করবে:
c = a + b
a = 13
b = 17
অন্যান্য অনেক ভাষা, সঙ্গে ভিন্ন def
এবং class
বিবৃতির এক্সিকিউটেবল হয় পাইথন-না শুধু ঘোষণামূলক-যাতে আপনি উল্লেখ থাকতে পারে না পারেন a
বা b
না হওয়া পর্যন্ত যে এরকম তারা সংজ্ঞায়িত করছি। এ কারণেই আপনার প্রথম উদাহরণটিতে সমস্যা রয়েছে - আপনি বিবৃতিটি কার্যকর Kerma()
করার আগে def
এবং বডিটি প্রক্রিয়া করার আগে এবং ফাংশনটির নামের সাথে আবদ্ধ ফলশ্রুতি ফাংশন অবজেক্টের আগে আপনি ফাংশনটি উল্লেখ করছেন, সুতরাং এটি স্ক্রিপ্টের সেই বিন্দুতে সংজ্ঞায়িত হয়নি।
সি ++ এর মতো ভাষাগুলিতে প্রোগ্রামগুলি সাধারণত চালানোর আগে প্রাক #include
প্রসেস করা হয় এবং এই সংকলনের পর্যায়ে পুরো প্রোগ্রাম এবং যে কোনও ফাইল এতে উল্লিখিত হয় তা একবারে একবারে পড়া এবং প্রক্রিয়াজাত করা হয়। পাইথনের বিপরীতে, এই ভাষার বর্ণনামূলক বিবৃতি রয়েছে যা ব্যবহারের পূর্বে ফাংশনগুলির নাম এবং কলিং ক্রম (বা স্থির ধরণের ভেরিয়েবলগুলি) ঘোষিত করার (তবে সংজ্ঞায়িত নয়) মঞ্জুরি দেয় যাতে কম্পাইলার যখন তাদের নামের মুখোমুখি হয় তখন এটি পরীক্ষা করার জন্য পর্যাপ্ত তথ্য থাকতে পারে ব্যবহার, যা প্রাথমিকভাবে টাইপ চেকিং এবং টাইপ রূপান্তরগুলিকে অন্তর্ভুক্ত করে যার মধ্যে তাদের প্রকৃত বিষয়বস্তু বা কোডের সংস্থাগুলি এখনও সংজ্ঞায়িত করা প্রয়োজন।