در حال بارگذاری...

توابع داخلی پایتون

توابع داخلی پایتون مجموعه‌ای از ابزارهای پیش‌ساخته هستند که توسعه‌دهندگان می‌توانند بدون نیاز به وارد کردن کتابخانه‌های اضافی از آن‌ها استفاده کنند. این توابع برای مدیریت ساختارهای داده، تبدیل نوع داده‌ها، انجام محاسبات، کار با اشیاء و اجرای کد داینامیک کاربرد دارند. اهمیت آن‌ها در توسعه بک‌اند به دلیل افزایش خوانایی کد، کاهش زمان توسعه و بهینه‌سازی عملکرد است. این توابع معمولاً زمانی به کار می‌روند که نیاز به جمع‌بندی، فیلتر کردن، مرتب‌سازی یا ارزیابی داده‌ها باشد. مفاهیم کلیدی شامل نحو صحیح، استفاده بهینه از الگوریتم‌ها، مدیریت ساختارهای داده و رعایت اصول OOP است. استفاده درست از این توابع باعث جلوگیری از مشکلات رایج مانند نشت حافظه، مدیریت ضعیف خطا و الگوریتم‌های ناکارآمد می‌شود. با مطالعه این راهنما، کاربر خواهد آموخت چگونه با بهره‌گیری از توابع داخلی پایتون سیستم‌های بک‌اند امن، پرکاربرد و با عملکرد بالا ایجاد کند.

مثال عملی: پردازش سفارش‌های یک فروشگاه آنلاین. فرض کنید می‌خواهیم مجموع فروش، بیشترین و کمترین سفارش، فیلتر مشتریان ویژه و بررسی وجود سفارش بزرگ را انجام دهیم. برای این منظور از توابع sum، max، min، filter، sorted و any استفاده می‌کنیم. تابع sum مجموع را محاسبه می‌کند، max و min مقادیر بیشینه و کمینه را مشخص می‌کنند، filter سفارش‌های ویژه را جدا می‌کند، sorted بر اساس مقدار سفارش‌ها مرتب می‌کند و any بررسی می‌کند آیا سفارش بزرگ وجود دارد یا خیر. این مثال نشان می‌دهد چگونه توابع داخلی می‌توانند با لیست‌ها و دیکشنری‌ها به‌طور مؤثر کار کنند و نیاز به حلقه‌های پیچیده را کاهش دهند. در کاربردهای واقعی بک‌اند، این توابع تحلیل داده‌ها، گزارش‌گیری و پردازش بلادرنگ را ساده و بهینه می‌کنند و باعث می‌شوند توسعه‌دهندگان سیستم‌های کارا و امن بسازند.

Example

python
PYTHON Code
# مثال: تحلیل سفارش‌های فروشگاه

orders = \[
{"user": "Ali", "amount": 120},
{"user": "Sara", "amount": 80},
{"user": "Reza", "amount": 200},
{"user": "Neda", "amount": 50}
]

# مجموع فروش

total_sales = sum(order\["amount"] for order in orders)

# بیشترین و کمترین سفارش

highest_order = max(orders, key=lambda o: o\["amount"])
lowest_order = min(orders, key=lambda o: o\["amount"])

# فیلتر سفارش‌های ویژه

vip_orders = list(filter(lambda o: o\["amount"] >= 100, orders))

# مرتب‌سازی سفارش‌ها بر اساس مقدار

sorted_orders = sorted(orders, key=lambda o: o\["amount"], reverse=True)

# بررسی وجود سفارش بزرگ

has_big_order = any(o\["amount"] > 150 for o in orders)

print("مجموع فروش:", total_sales)
print("بیشترین سفارش:", highest_order)
print("کمترین سفارش:", lowest_order)
print("سفارش‌های ویژه:", vip_orders)
print("سفارش‌های مرتب‌شده:", sorted_orders)
print("سفارش بزرگ وجود دارد:", has_big_order)

📊 Comprehensive Reference

تابع توضیح نحو مثال توضیحات
abs مقدار مطلق عدد abs(x) abs(-5) → 5 int, float, complex
all همه عناصر True هستند یا نه all(iterable) all(\[1, True, 3]) → True لیست خالی → True
any حداقل یک عنصر True است any(iterable) any(\[0, False, 5]) → True لیست خالی → False
ascii نمایش ASCII ascii(obj) ascii("فارسی") → "'\u0641\u0627\u0631\u0633\u06cc'" برای دیباگ
bin نمایش باینری bin(x) bin(5) → '0b101' فقط int
bool تبدیل به Boolean bool(x) bool("") → False مطابق استاندارد True/FALSE پایتون
bytearray بایت‌های قابل تغییر bytearray(\[65,66]) bytearray(b'AB') داده باینری
bytes بایت‌های غیرقابل تغییر bytes("abc","utf-8") b"abc" فایل و شبکه
callable قابل فراخوانی است یا نه callable(obj) callable(len) → True obj با متد call
chr کاراکتر Unicode از عدد chr(i) chr(65) → 'A' معکوس ord
classmethod متد کلاس @classmethod class C: @classmethod def f(cls): pass برای OOP
compile کامپایل کد منبع compile(source,filename,mode) exec(compile("print(5)","","exec")) برای eval/exec
complex ساخت عدد مختلط complex(real, imag) complex(2,3) → (2+3j) یا از رشته
delattr حذف صفت delattr(obj,name) delattr(o,"x") معادل del o.x
dict ساخت دیکشنری dict(a=1,b=2) {"a":1,"b":2} ساختار داده
dir لیست صفت‌ها dir(obj) dir(\[]) برای introspection
divmod مانده و خارج قسمت divmod(a,b) divmod(7,3) → (2,1) معادل a//b, a%b
enumerate ایتراتور اندیس‌دار enumerate(iterable) list(enumerate(\["a","b"])) برای حلقه
eval ارزیابی رشته eval(expr) eval("3+5") → 8 مخاطرات امنیتی
exec اجرای کد exec(obj) exec("x=5") کد داینامیک
filter فیلتر کردن دنباله filter(func,iterable) list(filter(lambda x:x>0,\[-1,2])) ایتراتور بازمی‌گرداند
float تبدیل به float float(x) float("3.14") → 3.14 از رشته یا عدد
format فرمت‌دهی format(value, format_spec) format(255,"x") → 'ff' جایگزین str.format
frozenset مجموعه غیرقابل تغییر frozenset(iterable) frozenset(\[1,2,3]) می‌تواند کلید dict باشد
getattr خواندن صفت getattr(obj,name\[,default]) getattr(str,"upper") جلوگیری از AttributeError
globals فضای نام سراسری globals() globals()\["name"] دیباگ
hasattr وجود صفت hasattr(obj,name) hasattr(\[], "append") → True introspection
hash مقدار هش hash(obj) hash("abc") برای اشیاء غیر هش پذیر خطا
help کمک تعاملی help(obj) help(len) فقط تعاملی
hex نمایش هگز hex(x) hex(255) → '0xff' دیباگ
id شناسه یکتا id(obj) id(123) آدرس حافظه
input ورودی کاربر input(prompt) input("نام:") فقط تعاملی
int تبدیل به int int(x) int("10") → 10 گزینه پایه
isinstance نوع شی isinstance(obj,cls) isinstance(5,int) → True چند کلاس ممکن
issubclass چک ارث‌بری issubclass(C,D) issubclass(bool,int) True/False
iter ایتراتور iter(obj) iter(\[1,2,3]) برای حلقه
len طول len(obj) len(\[1,2,3]) → 3 تمام توالی‌ها
list ساخت لیست list(iterable) list("abc") → \["a","b","c"] تبدیل نوع
locals فضای نام محلی locals() locals()\["x"] دیباگ
map اعمال تابع map(func,iterable) list(map(str,\[1,2])) ایتراتور بازمی‌گرداند
max بیشینه max(iterable) max(\[1,3,2]) → 3 با key function
memoryview نمایش حافظه memoryview(obj) memoryview(b"abc")\[0] برای داده‌های بزرگ
min کمینه min(iterable) min(\[1,3,2]) → 1 با key function
next عنصر بعدی next(iterator\[,default]) next(iter(\[1,2])) گزینه پیش‌فرض
object شی پایه object() o=object() پایه همه کلاس‌ها
oct نمایش اکتال oct(x) oct(8) → '0o10' دیباگ
open باز کردن فایل open(file,mode) open("a.txt","w") باید close شود
ord کد یونیکد ord(c) ord("A") → 65 معکوس chr
pow توان pow(x,y\[,mod]) pow(2,3) → 8 mod اختیاری
print خروجی print(obj) print("سلام") چند آرگومان
property ساخت property property(fget,fset) class C: x=property(...) encapsulation
range ایتراتور int range(start,stop,step) list(range(3)) → \[0,1,2] برای حلقه
repr نمایش رشته‌ای repr(obj) repr(\[1,2]) دیباگ
reversed ایتراتور معکوس reversed(seq) list(reversed(\[1,2])) → \[2,1] ایتراتور بازمی‌گرداند
round گرد کردن round(x\[,n]) round(3.14159,2) → 3.14 n اختیاری
set مجموعه set(iterable) set(\[1,2,2]) → {1,2} حذف تکراری
setattr تنظیم صفت setattr(obj,name,value) setattr(o,"x",5) معادل o.x=5
slice شی slice slice(start,stop,step) \[1,2,3]\[slice(1,3)] برای توالی‌ها
sorted لیست مرتب‌شده sorted(iterable) sorted(\[3,1,2]) → \[1,2,3] با key function
staticmethod متد استاتیک @staticmethod class C: @staticmethod def f(): pass مبتنی بر کلاس
str تبدیل به رشته str(obj) str(123) → '123' تبدیل نوع
sum جمع sum(iterable\[,start]) sum(\[1,2,3]) → 6 فقط اعداد
super فراخوانی متد والد super() super().method() OOP
tuple ساخت تاپل tuple(iterable) tuple("ab") → ("a","b") غیرقابل تغییر
type نوع یا کلاس type(obj) type(5) → int قابل تعریف پویا
vars بازگرداندن صفت‌ها vars(obj) vars(str) introspection
zip چند ایترابل zip(*iterables) list(zip(\[1,2],\[3,4])) ایتراتور بازمی‌گرداند
import ایمپورت داینامیک import("os") import("math").sqrt(4) کم استفاده

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را آزمایش کنید

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

3
سوالات
🎯
70%
برای قبولی
♾️
زمان
🔄
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود