পাইথনে আমার একটি নামকৃত টিপল ক্লাস রয়েছে
class Town(collections.namedtuple('Town', [
'name',
'population',
'coordinates',
'population',
'capital',
'state_bird'])):
# ...
আমি টাউন দৃষ্টান্তগুলি অভিধানে রূপান্তর করতে চাই। আমি চাই না যে এটি কোনও টাউনের ক্ষেত্রের নাম বা সংখ্যার সাথে কঠোরভাবে বেঁধে দেওয়া হোক।
এটি লেখার জন্য কি এমন কোনও উপায় আছে যে আমি আরও ক্ষেত্র যুক্ত করতে পারি, বা একটি সম্পূর্ণ ভিন্ন নামের টিপলটি পাস করতে পারি এবং একটি অভিধান পেতে পারি।
আমি অন্য কারও কোডে আসল ক্লাসের সংজ্ঞাটিকে এর মতো পরিবর্তন করতে পারি না। সুতরাং আমি একটি টাউন একটি উদাহরণ নিতে এবং এটি একটি অভিধানে রূপান্তর করা প্রয়োজন।
dict
'namedtuple' এর পরিবর্তে, এবং সূচনাকারী মধ্যে namedtuple পাস। মনে রাখবেন যে আপনি যদি সিএক্সএক্সে অভ্যস্ত হন তবে নির্ধারক class Town(x)
নয়, def __init__(self, *args, **kwargs)
এটির ভিতরে।
dir
এটি কেবল একটি পাইথন অন্তর্নির্মিত ... আপনি এটি কোনও অজগর অবজেক্ট, কনসোলে বা স্ক্রিপ্টে চালাতে পারেন (যেখানে এটি একটি তালিকা প্রত্যাবর্তন করে যা আপনি মুদ্রণ করতে পারেন বা যা কিছু করতে পারেন), এবং এটি একটি তালিকা ফিরে আসবে (প্রায় ) সমস্ত বৈশিষ্ট্য অবজেক্ট। আপনি যদি কোনও অজানা বিষয় কীভাবে কাজ করে তা নির্ধারণের চেষ্টা করছেন তবে সহায়ক।
dir
কমান্ডটি দেখুন, যা আপনাকে যে কোনও অবজেক্টের ক্ষেত্র প্রদর্শন করবে ... যা_asdict
সরাসরি ফাংশনটি দেখাত।