برنامه نویسی

متغیرهای کلاس افکار اولیه 🤔

من تازه شروع به یادگیری Python کرده ام، از زبان هایی مانند C# و JavaScript/TypeScript. من به این https://docs.python.org/3/tutorial/index.html آموزش فکر می کنم. به بخش کلاس ها رسیدم. یکی از چیزهایی که من احساس کردم استفاده از آن می تواند کمی مخاطره آمیز باشد، متغیرهای کلاس است. به این ترتیب می توانید کنترل وضعیت اشیاء در کد خود را هنگام استفاده از آنها از دست بدهید.

در اینجا نمونه Dog است که در آموزش پایتون وجود دارد.

class Dog:
    kind = 'canine'

    def __init__(self, name):
        self.name = name
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

من به نمونه هایی از کلاس سگ می پردازم

fido = Dog('Fido')
buddy = Dog('Buddy')

print(fido.kind) // prints canine
print(buddy.kind) // prints canine
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

همه چیز خوب است، من می دانم که چه نوع خواهد بود. در آموزش بیان می کند که کلاس یک متغیر مشترک بین نمونه های کلاس است. مثل این

Dog.kind = 'dog'

print(fido.kind) // prints dog
print(buddy.kind) // prints dog
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اما اگر تنظیم کنم kind در یکی از نمونه‌ها، نمونه به اشتراک گذاشته شد kind

fido.kind = 'super dog'
Dog.kind = 'dog'

print(fido.kind) // prints super dog
print(buddy.kind) // prints dog
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در یک پایگاه کد بزرگ، می توان به راحتی مسیر کد را از دست داد kind متغیر. واقعاً نمی توان به متغیر اعتماد کرد، زیرا می توان آن را با متغیر کلاس مشترک تغییر داد یا کدی متغیر نمونه را تنظیم کرده است.

یکی می تواند با استفاده خصوصی علامت گذاری کند _kind به توسعه دهندگان دیگر بگویید که باید خصوصی در نظر گرفته شود، اما هنوز هم می توان به راحتی استفاده از آن را از دست داد. مطمئن نیستم که آیا هرگز بخواهم آن را به صورت عمومی به ما ارائه دهم. اما هنوز در Pyhon جدید است، بنابراین هنوز در حال یادگیری هستم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا