به نام خدا
در زبان انگلیسی زمانی از سه نقطه یا ... استفاده می کنیم که چیزی را کنار بگذاریم. در پایتون این یک ثابت شناخته شده است(یا 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