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

August 2022

دانلود ویدیو

اگر دانلود ویدیو شروع نشد، روی ویدیو راست کلیک کرده و گزینه Save Video As را انتخاب کنید.

در این قسمت از آموزش های پیشرفته پایتون به سراغ 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 در پایتون

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم

سیامک

October 2021

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

def test(class_)
def test(_class)

پاسخ به نظر


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

October 2021

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

vahid

May 2021

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

پاسخ به نظر