اگر دانلود ویدیو شروع نشد، روی ویدیو راست کلیک کرده و گزینه Save Video As را انتخاب کنید.
ویدیو آموزش انواع underscore در پایتون
August 2022
در این قسمت از آموزش های پیشرفته پایتون به سراغ 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')
برای اطلاعات بیشتر ویدیو رو تماشا کنید.
اگر ویدیو بالا را دوست داشتید پیشنهاد میکنیم به مطالب زیر هم سر بزنید:
سیامک
October 2021پاسخ به نظر
سلام استاد
اگه توی ارگومان تابع برای کلمات کلیدی قبلش undersocre بزاریم چه فرقی داره با اینکه بعدش بزاریم ؟
def test(class_)
def test(_class)
پاسخ به نظر
امیرحسین بیگدلو
October 2021سلام
فرقی نداره ولی قراردادی هست که بعدش بزاریم
vahid
May 2021پاسخ به نظر
مرسی از سایت خوبت
پاسخ به نظر