ویدیو آموزش انواع underscore در پایتون

امیرحسین بیگدلو June 2023

در این قسمت از آموزش های پیشرفته پایتون به سراغ underscoreها در پایتون رفتیم. underscoreها در پایتون میتوانند معانی متفاوتی داشته باشند.

 

اولین استفاده از underscoreها در پایتون زمانی هستش که شما میخواین از یک کلمه کلیدی به عنوان اسم یک آرگومان استفاده کنید. به کد زیر دقت کنید:

def show(name,  class):
    pass

 

همونطور که میدونید کلمه  class یک کلمه کلیدی رزرو شده پایتون هستش و شما نمیتونید ازش به عنوان اسم آرگومان استفاده کنید. به همین دلیل میتونید با اضافه کردن یک underscore به آخر کلمه اون رو از حالت رزرو خارج کنید.

def show(name, class_):
    pass

 

مصرف بعدی underscoreها در پایتون برای زمانی هستش که شما میخواید یه عضو از کلاس رو به شکل private یا protected در بیارید:

class Person:
    name = 'amir'  #public
    _age = 10      #protected
    __height = 170 #private

زمانی که قبل از اسم عضوی از کلاس یک underscore قرار بدین اون عضو به شکل protected خواهد بود. اگر دوتا underscore قرار بدین به شکل private خواهد بود.

 

مصرف بعدی زمانی هستش که شما به قبل و بعد از اسم یک متد در کلاس دوتا underscore اضافه کنید:

class Person:
    def __init__(self):
        pass

متدهایی که به این شکل اسم گذاری شوند به عنوان special method در پایتون شناخته میشوند. تمامی متدهای builtin پایتون به این شکل نامگذاری میشوند. شما به هیچ وجه نباید اسم متدهاتون رو به این شکل قرار بدین.

 

آخرین مصرف underscoreها در پایتون زمانی هست که شما مقدار متغیری که دارید براتون مهم نیست:

for i in range(10):
    print('Hello')

 

مثال بالا رو اگه اجرا کنید مقدار Hello ده بار براتون اجرا میشه. اما اگه دقت کنید متغیر i که در حلقه for قرار دادید اصلا کاربرد نداره. پس به جاش میتونید به شکل زیر کار کنید:

for _ in range(10):
    print('Hello')

 

برای اطلاعات بیشتر ویدیو رو تماشا کنید.

اگر ویدیو بالا را دوست داشتید پیشنهاد میکنیم به مطالب زیر هم سر بزنید:

دوره آموزش پایتون

دوره اول آموزش پروژه محور پایتون

دوره آموزش Multi Threading در پایتون

ویدیوهای مشابه



آموزش متد __bool__ در پایتون
امیرحسین بیگدلو

ارسال نظر


کیان

3 ماه قبل پاسخ به نظر

تو حرف نداری و بهترین معلم برنامه نویسی دنیایی

ارسال نظر



سیامک

2 سال قبل پاسخ به نظر

سلام استاد
اگه توی ارگومان تابع برای کلمات کلیدی قبلش undersocre بزاریم چه فرقی داره با اینکه بعدش بزاریم ؟

def test(class_)
def test(_class)

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

سلام
فرقی نداره ولی قراردادی هست که بعدش بزاریم

vahid

2 سال قبل پاسخ به نظر

مرسی از سایت خوبت

ارسال نظر



مونگارد