পাইথন কোডের কয়েকটি লাইন লিখুন X
, এটি কোনও বিশ্বব্যাপী ভেরিয়েবলের উল্লেখ করে না
def method():
X
print(a)
method()
প্রিন্ট 1
কিন্তু
def method():
X
X
print(a)
method()
কপি করে প্রিন্ট 2
।
সুতরাং, আমি স্টিকারর হিসাবে ঘৃণা করি তবে এটি পাইথনের মতো মনে হয় vars
এবং locals
এটি আসলে বৈশ্বিক পরিবর্তনশীল:
def test_global_1():
global vars, locals
vars = lambda: 2
locals = lambda: 3
def test_global_2():
print(vars())
print(locals())
test_global_1()
test_global_2()
এছাড়াও, দেখে মনে হচ্ছে যে লোকেরা এই ধরণের ধাঁধাগুলির জন্য উদ্দেশ্যমূলক জয়ের মানদণ্ড দেখতে চায়। কোডের দৈর্ঘ্যটি এখানে সঠিকভাবে অনুভব করে না তাই সম্ভবত আমরা কোডের বিভিন্ন অভিনব বৈশিষ্ট্যগুলির জন্য ব্রাউন পয়েন্টগুলির একটি সিস্টেম তৈরি করতে পারি? এগুলি ঠিক কী হতে পারে আমি নিশ্চিত নই তবে এখানে একটি সূচনা:
- সত্যিকার অর্থে কোনও গ্লোবালগুলির জন্য +1 (না
vars
বাlocals
) - নির্দিষ্ট কৌশল পোস্ট করার ক্ষেত্রে প্রথম হওয়ার জন্য +1
- সংক্ষিপ্ততম সমাধান পোস্ট করার জন্য +1
- কেবলমাত্র একক পাইথন বিবৃতি জড়িত সমাধানের জন্য +1
- আকর্ষণীয় "হ্যাকস" এর জন্য লেক্সিকাল অ-সীমানায় যোগদানের মতো +1
- ব্যতিক্রম ব্যবহার না করার জন্য +1
এবং যদি আপনি আরও কিছু ভাবতে পারেন তবে আপনি এই প্রশ্নটিকে তালিকায় যুক্ত করতে সম্পাদনা করতে পারেন।
ব্যতিক্রমগুলি ব্যবহার না করে এবং পছন্দসই vars
এবং বিশ্বব্যাপী ব্যবহার না করেই কি এই সমস্যার সমাধান করা যাবে locals
? আমি সন্দেহ করতে পারি এটি পারে, যদিও আমি এখনও ঠিক কীভাবে বুঝতে পারি নি ...
X
, তবে অন্যান্য বিকল্প রয়েছে।