আমি কিছু সময়ের জন্য এটি ভাবছিলাম। শিরোনামটি যেমন বলে, কোনটি দ্রুত, প্রকৃত ফাংশন বা কেবল অর্ধেক শক্তি বাড়ায়?
হালনাগাদ
এটি অকাল অপটিমাইজেশনের বিষয় নয়। অন্তর্নিহিত কোডটি আসলে কীভাবে কাজ করে তা কেবল এটি একটি প্রশ্ন। পাইথন কোড কীভাবে কাজ করে তার তত্ত্বটি কী?
আমি গাইডো ভ্যান রসমকে একটি ইমেল প্রেরণ করেছি কারণ আমি সত্যই এই পদ্ধতিগুলির মধ্যে পার্থক্য জানতে চেয়েছি।
আমার ইমেইল:
পাইথনে স্কোয়ার রুট করার কমপক্ষে 3 টি উপায় রয়েছে: math.sqrt, '**' অপারেটর এবং পাও (x, .5)। আমি এগুলির প্রতিটি বাস্তবায়নের পার্থক্য সম্পর্কে কেবল কৌতূহলী। এটি দক্ষতা আসে যখন ভাল?
তার প্রতিক্রিয়া:
পাও এবং ** সমতুল্য; math.sqrt জটিল সংখ্যার জন্য কাজ করে না, এবং সি স্কয়ার্ট () ফাংশনের লিঙ্কগুলি। কোনটি দ্রুত, আমার কোনও ধারণা নেই ...
math.sqrt
আরও অনুকূলিত রুটিন হয় (যেমন এটি হয়) এবং অভিপ্রায়টি আরও স্পষ্টভাবে প্রকাশ করে তবে এটি সর্বদা পছন্দ করা উচিত x**.5
। আপনি কী লিখেন তা অকাল অপ্টিমাইজেশন নয়, এবং বিকল্পটি দ্রুততর এবং আরও কোড স্পষ্টতা সরবরাহ করে তা চয়ন করেছেন। যদি তা হয় তবে কেন আপনি অন্যান্য বিকল্পগুলি বেছে নিয়েছেন তা আপনাকে সমানভাবে তর্ক করতে হবে।