آموزش پایتون - توابع داخلی
توابع داخلی در پایتون چیستند؟
توابع داخلی (Built-in functions) توابعی هستند که بهصورت پیشفرض در مفسر پایتون تعریف شدهاند و برای استفاده از آنها نیازی به وارد کردن (import) هیچ ماژولی ندارید. این توابع به انجام طیف وسیعی از عملیات روی رشتهها، تکرارکنندهها (iterators) و اعداد کمک میکنند. بهعنوان مثال، توابع داخلی مانند ()sum() ،min و ()max برای سادهسازی عملیات ریاضی استفاده میشوند.
چگونه از توابع داخلی در پایتون استفاده کنیم؟
برای استفاده از توابع داخلی در کد خود، کافی است تابع مورد نظر را با پاس دادن پارامترهای لازم (در صورت وجود) در داخل پرانتز فراخوانی کنید. از آنجا که این توابع از قبل تعریف شدهاند، نیازی به وارد کردن هیچ ماژول یا پکیجی ندارید.
مثالی از استفاده از توابع داخلی
مثال زیر را که نحوه استفاده از توابع داخلی را در کد شما نشان میدهد، در نظر بگیرید:
# Using print() and len() function
text = "Tutorials Point"
print(len(text)) # Prints 15
در مثال بالا، ما از دو تابع داخلی ()print و ()len استفاده میکنیم.
لیست توابع داخلی پایتون
تا نسخه ۳.۱۲.۲ پایتون، لیست توابع داخلی به شرح زیر است −
| شماره | تابع و توضیحات |
|---|---|
|
1 |
یک تکرارکننده ناهمگام (asynchronous iterator) برای یک قابلتکرار ناهمگام برمیگرداند. |
|
2 |
اگر تمام عناصر در قابلتکرار درست (True) باشند، مقدار True برمیگرداند. |
|
3 |
آیتم بعدی را از تکرارکننده ناهمگام دادهشده برمیگرداند. |
|
4 |
بررسی میکند که آیا حداقل یکی از عناصر قابلتکرار درست (True) است یا خیر. |
|
5 |
رشتهای حاوی بازنمایی قابلچاپ از شئ برمیگرداند. |
|
6 |
یک عدد صحیح را به رشته باینری (دودویی) تبدیل میکند. |
|
7 |
یک مقدار را به بولین (Boolean) تبدیل میکند. |
|
8 |
این تابع شما را در محل فراخوانی وارد اشکالزدایی (debugger) میکند و ()sys.breakpointhook را فرا میخواند. |
|
9 |
آرایهای از بایتها با اندازه دادهشده برمیگرداند. |
|
10 |
یک شئ بایتی تغییرناپذیر (immutable) برمیگرداند. |
|
11 |
بررسی میکند که آیا شئ قابلفراخوانی است یا خیر. |
|
12 |
یک کاراکتر (رشته) متناظر با یک عدد صحیح برمیگرداند. |
|
13 |
یک متد کلاس برای تابع دادهشده برمیگرداند. |
|
14 |
یک شئ کد (code object) برمیگرداند. |
|
15 |
یک عدد مختلط ایجاد میکند. |
|
16 |
یک ویژگی (attribute) را از شئ حذف میکند. |
|
17 |
یک دیکشنری ایجاد میکند. |
|
18 |
سعی میکند ویژگیهای یک شئ را برگرداند. |
|
19 |
یک تاپل شامل خارجقسمت و باقیمانده برمیگرداند. |
|
20 |
یک شئ شمارنده (Enumerate) برمیگرداند. |
|
21 |
کد را درون برنامه اجرا میکند. |
|
22 |
برنامهای که بهصورت پویا ایجاد شده را اجرا میکند. |
|
23 |
یک تکرارکننده از عناصری که مقدار آنها درست (True) است میسازد. |
|
24 |
یک عدد ممیز شناور از عدد یا رشته برمیگرداند. |
|
25 |
نمایش فرمتشدهای از یک مقدار را برمیگرداند. |
|
26 |
یک شئ frozenset (مجموعه تغییرناپذیر) برمیگرداند. |
|
27 |
مقدار ویژگی نامگذاریشده یک شئ را برمیگرداند. |
|
28 |
دیکشنری جدول نمادهای سراسری فعلی را برمیگرداند. |
|
29 |
بررسی میکند که آیا شئ دارای ویژگی نامگذاریشده هست یا خیر. |
|
30 |
مقدار هش یک شئ را برمیگرداند. |
|
31 |
سیستم راهنمای داخلی را فرا میخواند. |
|
32 |
یک عدد صحیح را به هگزادسیمال (شانزدهتایی) تبدیل میکند. |
|
33 |
شناسه منحصربهفرد یک شئ را برمیگرداند. |
|
34 |
یک خط رشته را میخواند و برمیگرداند. |
|
35 |
یک عدد صحیح از یک عدد یا رشته برمیگرداند. |
|
36 |
بررسی میکند که آیا یک شئ نمونهای از یک کلاس است یا خیر. |
|
37 |
بررسی میکند که آیا یک کلاس زیرکلاسِ کلاس دیگری است یا خیر. |
|
38 |
یک تکرارکننده (iterator) برمیگرداند. |
|
39 |
طول یک شئ را برمیگرداند. |
|
40 |
یک لیست در پایتون ایجاد میکند. |
|
41 |
دیکشنری جدول نمادهای محلی فعلی را برمیگرداند. |
|
42 |
یک تابع را اعمال کرده و یک لیست برمیگرداند. |
|
43 |
نمای حافظه (memory view) یک آرگومان را برمیگرداند. |
|
44 |
آیتم بعدی را از تکرارکننده بازیابی میکند. |
|
45 |
یک شئ پایه و بدون ویژگی خاص ایجاد میکند. |
|
46 |
نمایش هشتتایی (octal) یک عدد صحیح را برمیگرداند. |
|
47 |
یک شئ فایل برمیگرداند. |
|
48 |
عدد صحیح متناظر با کاراکتر یونیکد را برمیگرداند. |
|
49 |
شئ دادهشده را چاپ میکند. |
|
50 |
ویژگی property را برمیگرداند. |
|
51 |
دنبالهای از اعداد صحیح را برمیگرداند. |
|
52 |
یک نمایش قابلچاپ از شئ برمیگرداند. |
|
53 |
تکرارکننده معکوسشده یک دنباله را برمیگرداند. |
|
54 |
یک مجموعه (set) میسازد و برمیگرداند. |
|
55 |
مقدار یک ویژگی از شئ را تنظیم میکند. |
|
56 |
یک شئ برش (slice) برمیگرداند. |
|
57 |
یک لیست مرتبشده از قابلتکرار دادهشده برمیگرداند. |
|
58 |
یک متد را به یک متد استاتیک تبدیل میکند. |
|
59 |
نسخه رشتهای از شئ را برمیگرداند. |
|
60 |
یک شئ وکالتی (proxy object) از کلاس پایه برمیگرداند. |
|
61 |
یک تاپل برمیگرداند. |
|
62 |
نوع (type) شئ را برمیگرداند. |
|
63 |
ویژگی __dict__ را برمیگرداند. |
|
64 |
یک تکرارکننده از تاپلها برمیگرداند. |
|
65 |
تابعی که توسط دستور import فراخوانی میشود. |
|
66 |
یک کدپوینت یونیکد را به کاراکتر یونیکد متناظرش تبدیل میکند. |
|
67 |
اعداد صحیح با اندازه دلخواه را بازنمایی میکند. |
توابع ریاضی داخلی
برخی توابع داخلی اضافه نیز وجود دارند که تنها برای انجام عملیات ریاضی در پایتون استفاده میشوند؛ این توابع در زیر فهرست شدهاند −
| شماره | تابع و توضیحات |
|---|---|
|
1 |
تابع ()abs قدر مطلق x را برمیگرداند، یعنی فاصله مثبت بین x و صفر. |
|
2 |
تابع ()max بزرگترین آرگومان ورودی خود یا بزرگترین عدد را از یک قابلتکرار (لیست یا تاپل) برمیگرداند. |
|
3 |
تابع ()min کوچکترین آرگومان ورودی خود (یعنی نزدیکترین مقدار به بینهایت منفی) یا کوچکترین عدد را از یک قابلتکرار (لیست یا تاپل) برمیگرداند. |
|
4 |
تابع ()pow مقدار x به توان y را برمیگرداند که معادل x**y است. این تابع یک آرگومان اختیاری سوم به نام mod نیز دارد؛ در صورت دادن این آرگومان، مقدار mod % (x**y) را برمیگرداند. |
|
5 |
تابع ()round یک تابع داخلی در پایتون است که مقدار x را تا n رقم اعشار گرد میکند. |
|
6 |
تابع ()sum مجموع تمام آیتمهای عددی موجود در یک قابلتکرار (لیست یا تاپل) را برمیگرداند. یک آرگومان اختیاری start وجود دارد که مقدار پیشفرض آن ۰ است؛ در صورت مشخص شدن، اعداد درون لیست به مقدار start اضافه میشوند. |
مزایای استفاده از توابع داخلی
مزایای استفاده از توابع داخلی به شرح زیر است:
- استفاده از توابع داخلی، حجم کد را کاهش داده و آن را سادهتر میکند و خوانایی کد را افزایش میدهد.
- بهجای نوشتن مکرر یک منطق یکسان، میتوانید از این توابع در بخشهای مختلف برنامه استفاده کنید. این کار نه تنها در زمان صرفهجویی میکند، بلکه به حفظ یکپارچگی کد نیز کمک میکند.
- این توابع طیف وسیعی از قابلیتها از جمله عملیات ریاضی، تبدیل انواع داده و انجام عملیات روی تکرارکنندهها را ارائه میدهند.
- این توابع دارای نامهای توصیفی هستند که فهم و نگهداری کد را آسانتر میسازد. توسعهدهندگان نیازی به نوشتن کدهای پیچیده اضافی برای انجام برخی عملیات ندارند.
سوالات متداول درباره توابع داخلی
چگونه خطاهای مربوط به توابع داخلی را مدیریت کنم؟
هنگام کار با توابع داخلی ممکن است با خطاهایی مواجه شوید؛ برای مدیریت این خطاها میتوانید از بلوکهای try-except استفاده کنید. این کار به شما کمک میکند تا نوع خطا و استثناهای رخداده را شناسایی کنید.
آیا میتوانیم قابلیتهای توابع داخلی را گسترش دهیم؟
بله، ما میتوانیم با استفاده از توابع داخلی در کنار سایر متدها و اعمال منطق خود بر اساس نیاز، قابلیتهای آنها را گسترش دهیم. با این حال، این کار روی ویژگیهای پیشفرضِ تابعِ استفادهشده تأثیری نخواهد گذاشت.
آیا میتوانم توابع داخلی اختصاصی خودم را بسازم؟
خیر، شما نمیتوانید تابع داخلی اختصاصی خودتان را بسازید. اما پایتون به کاربر اجازه میدهد توابع تعریفشده توسط کاربر (user-defined functions) ایجاد کند.
چگونه از توابع داخلی استفاده کنم؟
استفاده از یک تابع داخلی بسیار ساده است؛ کافی است آن را با نامش همراه با پرانتز فراخوانی کرده و آرگومانهای لازم را در داخل پرانتز وارد کنید.
پیشرفت مطالعه: وضعیت خواندهشدن این درس فقط در همین مرورگر ذخیره میشود؛ بدون نیاز به حساب کاربری.