ویرگول
ورودثبت نام
Sanaz Khalili
Sanaz Khalili
خواندن ۱ دقیقه·۱ سال پیش

Ellipsis in python

به نام خدا

در زبان انگلیسی زمانی از سه نقطه یا ... استفاده می کنیم که چیزی را کنار بگذاریم. در پایتون این یک ثابت شناخته شده است(یا built-in constant) که برای استفاده از آن احتیاجی به import شدن ندارد.

اما چه زمانی استفاده می شود؟

1- به عنوان placeholder

در جایی که فعلا نمی خواهیم کدنویسی انجام دهیم مثلا در بدنه ی یک تابع می توانیم از ... یا Ellipsis استفاده کنیم.

def test(): ... test()

استفاده از ... از نظر بصری به کد خوانایی بهتری می دهد.

نکته: به فانکشن یا کلاسی که هنوز پیاده سازی نشده است stub می گویند.

def test(): pass

مثل ... از pass هم می شود استفاده کرد اما ... برای حالت stub متداول تر است.

نکته: type hinting یک راه عالی برای مشخص کردن نوع داده ها در پایتون است تا نوع متغیرها مشخص شوند و گیج کننده نباشد.

2- برای مواردی از type hinting می توان از ... استفاده کرد.

number: tuple[int, ...]

به این معناست که همه ی عناصر آن تاپل int باشد.

def partial(func: Callable[..., str], *args) -> Callable[..., str]: # Body

با استفاده از Ellipsis در آرگومان های ورودی تابع مشخص کرده است که تابع func دارای ورودی از هر نوع می تواند باشد اما خروجی آن str است.([str, ...])

3- استفاده از ... برای برگرداندن ابعادی که در آرایه ی نامپای اهمیتی ندارد نیز می تواند استفاده شود.

import numpy as np a = np.random(5,2,3) a[1,...]

در این کد Ellipsis به این معناست که در بعد اول این آرایه فقط سطر اول را می خواهیم و برای ابعاد دیگر همه ی مقادیر را می خواهیم(به عبارتی ابعاد دیگر اهمیتی ندارد از بعد اول فقط عدد 1 را قرار داده ایم.)


منابع:

https://realpython.com/python-ellipsis/#:~:text=In%20Short%3A%20Use%20the%20Ellipsis%20as%20a%20Placeholder%20in%20Python,-While%20you%20can&text=That%20means%20you%20can%20use,parts%20of%20your%20code%20online.

https://medium.com/techtofreedom/3-uses-of-the-ellipsis-in-python-25795aac723d




ellipsispython
https://github.com/sanazkhalili - https://www.kaggle.com/skhalili
شاید از این پست‌ها خوشتان بیاید