মাইক এবং অ্যালেক্সের পরামর্শকে আরও প্রতিধ্বনি করা এবং আমার নিজের রঙ যুক্ত করা ...
উদাহরণস্বরূপ বৈশিষ্ট্যগুলি ব্যবহার করা হ'ল টিপিকাল ... আরও বেশি পরিমাণে অজগর Py শ্রেণীর বৈশিষ্ট্যগুলি তত বেশি ব্যবহৃত হয় না, যেহেতু তাদের ব্যবহারের ক্ষেত্রে সুনির্দিষ্ট। স্থির এবং শ্রেণিবদ্ধ পদ্ধতি বনাম "স্বাভাবিক" পদ্ধতির ক্ষেত্রেও এটি একই। তারা নির্দিষ্ট ব্যবহারের কেসগুলিকে সম্বোধন করার জন্য বিশেষ নির্মাণকারী, অন্যথায় এটি কোডটি কোনও অ্যারান্ট প্রোগ্রামার দ্বারা তৈরি করা হয়েছে যা তারা পাইথন প্রোগ্রামিংয়ের কিছু অস্পষ্ট কোণ জানেন off
অ্যালেক্স তার জবাবে উল্লেখ করেছে যে অল্প অল্প মাত্রা দেখার কারণে অ্যাক্সেস (সামান্য) দ্রুত হবে ... আমাকে কী আরও কীভাবে এটি এখনও কাজ করে না তা জানেন না তাদের জন্য আরও স্পষ্ট করে বলি। এটি ভেরিয়েবল অ্যাক্সেসের সাথে খুব মিল - এর অনুসন্ধান ক্রমটি যা:
- অঁচলবাসী
- nonlocals
- globals
- বিল্ট-ইন
বৈশিষ্ট্য অ্যাক্সেসের জন্য, অর্ডারটি হ'ল:
- দৃষ্টান্ত
- শ্রেণী
- এমআরও দ্বারা নির্ধারিত বেস ক্লাস (পদ্ধতি সমাধানের আদেশ)
উভয় কৌশলই "অভ্যন্তরীণ" পদ্ধতিতে কাজ করে, যার অর্থ সর্বাধিক স্থানীয় অবজেক্টগুলি প্রথমে পরীক্ষা করা হয়, তারপরে বাইরের স্তরগুলি পর পর পরীক্ষা করা হয়।
আপনার উপরের উদাহরণে, আসুন আমরা এই path
বৈশিষ্ট্যটি সন্ধান করছি say যখন এটি " self.path
" এর মতো কোনও রেফারেন্সের মুখোমুখি হয় , পাইথন ম্যাচের জন্য প্রথমে উদাহরণের বৈশিষ্ট্যগুলি দেখবে। যখন এটি ব্যর্থ হয়, এটি ক্লাসটি পরীক্ষা করে যেখান থেকে বস্তুটি ইনস্ট্যান্ট করা হয়েছিল। শেষ পর্যন্ত, এটি বেস ক্লাসগুলি অনুসন্ধান করবে। অ্যালেক্স যেমন বলেছিল, আপনার বৈশিষ্ট্যটি যদি এই দৃষ্টিতে খুঁজে পাওয়া যায়, তবে এটি অন্য কোথাও দেখার দরকার নেই, তাই আপনার সময় সাশ্রয়ের সামান্য পরিমাণ।
তবে, আপনি যদি শ্রেণীর বৈশিষ্ট্যগুলিতে জোর দিয়ে থাকেন তবে আপনার সেই অতিরিক্ত অনুসন্ধান দরকার। অথবা , আপনার অন্য বিকল্প বর্গ পরিবর্তে উদাহরণস্বরূপ, যেমন মাধ্যমে বস্তুর উল্লেখ করতে হয়, MyController.path
পরিবর্তে self.path
। এটি একটি প্রত্যক্ষ অনুসন্ধান যা স্থগিত অনুসন্ধানের আশেপাশে পাওয়া যাবে, তবে নীচে অ্যালেক্সের হিসাবে উল্লেখ করা হয়েছে, এটি একটি বৈশ্বিক পরিবর্তনশীল, সুতরাং আপনি যে বিটটি হারিয়েছেন আপনি ভেবেছিলেন যে আপনি সংরক্ষণ করতে যাচ্ছেন (যদি না আপনি [বিশ্বব্যাপী] শ্রেণীর নামের একটি স্থানীয় রেফারেন্স না তৈরি করেন) )।
নীচের লাইনটি হ'ল আপনার বেশিরভাগ সময় উদাহরণের বৈশিষ্ট্যগুলি ব্যবহার করা উচিত। তবে, এমন অনুষ্ঠানগুলি হবে যেখানে কোনও শ্রেণীর বৈশিষ্ট্য হ'ল কাজের জন্য সঠিক সরঞ্জাম tool একই সাথে উভয় ব্যবহারের কোডের জন্য সবচেয়ে বেশি পরিশ্রমের প্রয়োজন হবে, কারণ এটি ব্যবহারের self
ফলে কেবলমাত্র উদাহরণের বৈশিষ্ট্য অবজেক্ট এবং একই নামের শ্রেণীর বৈশিষ্ট্যে ছায়া অ্যাক্সেস পাবেন। এই ক্ষেত্রে, আপনাকে অবশ্যই শ্রেণীর নাম দ্বারা অ্যাট্রিবিউটটি রেফারেন্স করতে ব্যবহার করতে হবে।