এটি ঘটে কারণ পাইথনে সংকলন বর্ণনামূলক কোড সম্পাদন করে সম্পাদিত হয়।
কেউ যদি বলেন
def f(x = {}):
....
এটি বেশ পরিষ্কার হবে যে আপনি প্রতিবার একটি নতুন অ্যারে চেয়েছিলেন।
তবে আমি যদি বলি:
list_of_all = {}
def create(stuff, x = list_of_all):
...
এখানে আমি অনুমান করব যে আমি বিভিন্ন তালিকায় স্টাফ তৈরি করতে চাই এবং যখন আমি তালিকাটি নির্দিষ্ট না করি তখন একক বিশ্বব্যাপী ক্যাচ-অল থাকি।
তবে সংকলকটি কীভাবে এটি অনুমান করবে? তাহলে কেন চেষ্টা করবেন? আমরা এটির নামকরণ হয়েছিল কিনা তার উপর নির্ভর করতে পারি এবং এটি কখনও কখনও সহায়তা করতে পারে তবে সত্যই এটি অনুমান করা হবে। একই সময়ে, চেষ্টা না করার একটি ভাল কারণ রয়েছে - ধারাবাহিকতা।
যেমনটি রয়েছে, পাইথন কেবল কোডটি কার্যকর করে। ভেরিয়েবল তালিকা_সামান্য_প্রেম ইতিমধ্যে একটি অবজেক্ট বরাদ্দ করা হয়েছে, সুতরাং যে অবজেক্টটি কোডের রেফারেন্সের মাধ্যমে এমনভাবে প্রেরণ করা হবে যে কোনও ডিফল্ট xকে একইভাবে কোনও ফাংশনে ডাকলে এখানে স্থানীয় কোনও স্থানীয় রেফারেন্স পাওয়া যায়।
আমরা যদি নামযুক্ত কেস থেকে নামবিহীন পার্থক্য করতে চাই, যেটি সংকলনের সময় কোডটি রান-টাইমে মৃত্যুদন্ড কার্যকর হওয়ার চেয়ে কার্যকরভাবে নির্ধারিত কার্য সম্পাদনে অন্তর্ভুক্ত করবে। তাই আমরা বিশেষ কেসটি করি না।