متد ها و توابع کاربردی انواع داده در پایتون
متد ها و توابع کاربردی انواع داده در پایتون
متد ها و توابع کاربردی انواع داده در پایتون
در پایتون، برای کار با دادهها از دو ابزار استفاده میکنیم:
- متدها (Methods): عملکردهای اختصاصی که وابسته به یک نوع داده خاص هستند و با علامت نقطه فراخوانی میشوند (مانند
text.upper()). - توابع توکار (Built-in Functions): ابزارهای عمومی و سراسری پایتون که روی انواع مختلف داده اعمال میشوند (مانند
len(text)یاabs(number)).
در ادامه، مهمترین متدها و توابع کاربردی ۵ نوع داده پایه را به همراه مثالهای ساده بررسی میکنیم.
متدها و توابع اعداد صحیح (int)
اعداد صحیح برای شمارش و مقادیر بدون اعشار استفاده میشوند.
متدهای پرکاربرد:
bit_length(): تعداد بیتهای لازم برای ذخیره عدد در مبنای ۲ را محاسبه میکند.
number = 18 # در مبنای دو: 10010
print(number.bit_length()) # خروجی: 5
to_bytes(length, byteorder): عدد صحیح را به آرایهای از بایتها تبدیل میکند.
number = 1000
byte_data = number.to_bytes(2, byteorder='big')
print(byte_data) # خروجی: b'\x03\xe8'
توابع توکار اعمالپذیر:
abs(x): قدر مطلق (فاصله عدد تا صفر) را بدون در نظر گرفتن علامت برمیگرداند.
score_loss = -25
print(abs(score_loss)) # خروجی: 25
bin(x)/hex(x)/oct(x): تبدیل عدد به رشتههای مبنای ۲، ۱۶ و ۸.
num = 15
print(bin(num)) # خروجی: '0b1111'
print(hex(num)) # خروجی: '0xf'
max(a, b, ...)وmin(a, b, ...): یافتن بزرگترین و کوچکترین عدد میان چند مقدار.
grade1, grade2, grade3 = 14, 19, 11
print(max(grade1, grade2, grade3)) # خروجی: 19
print(min(grade1, grade2, grade3)) # خروجی: 11
متدها و توابع اعداد اعشاری (float)
اعداد اعشاری برای مقادیر پیوسته و اندازهگیریها به کار میروند.
متدهای پرکاربرد:
is_integer(): بررسی میکند که آیا بخش اعشاری صفر است یا خیر.
temp1 = 37.0
temp2 = 37.5
print(temp1.is_integer()) # خروجی: True
print(temp2.is_integer()) # خروجی: False
as_integer_ratio(): کسر دقیق معادل عدد اعشاری را به صورت(صورت, مخرج)برمیگرداند.
ratio = 0.75
print(ratio.as_integer_ratio()) # خروجی: (3, 4)
توابع توکار اعمالپذیر:
round(number, ndigits): عدد اعشاری را تا تعداد ارقام مشخصشده گرد میکند.
average = 17.6583
print(round(average, 2)) # خروجی: 17.66
print(round(average)) # خروجی: 18
abs(x): قدر مطلق عدد اعشاری را برمیگرداند.
temperature_change = -3.4
print(abs(temperature_change)) # خروجی: 3.4
max(a, b, ...)وmin(a, b, ...): مقایسه مقادیر اعشاری.
price1, price2 = 19.99, 14.50
print(max(price1, price2)) # خروجی: 19.99
print(min(price1, price2)) # خروجی: 14.50
متدها و توابع اعداد مختلط (complex)
اعداد مختلط شامل دو بخش حقیقی (real) و موهومی (imag) هستند.
ویژگیها و متدهای پرکاربرد:
- ویژگیهای
realوimag: دسترسی مستقیم به بخش حقیقی و موهومی.
z = 4 + 7j
print(z.real) # خروجی: 4.0
print(z.imag) # خروجی: 7.0
conjugate(): مزدوج عدد مختلط (قرینه کردن علامت بخش موهومی) را میسازد.
z = 4 + 7j
print(z.conjugate()) # خروجی: (4-7j)
توابع توکار اعمالپذیر:
abs(z): اندازه یا قدر مطلق عدد مختلط () را محاسبه میکند.
z = 3 + 4j
print(abs(z)) # خروجی: 5.0
متدها و توابع مقادیر منطقی (bool)
بولینها دو مقدار True (معادل عددی ۱) و False (معادل عددی ۰) را میپذیرند.
توابع توکار اعمالپذیر:
bool(x): بررسی ارزش منطقی دادهها (تبدیل مقادیر خالی یا صفر بهFalseو بقیه مقادیر بهTrue).
print(bool("")) # خروجی: False (متن خالی)
print(bool("Ali")) # خروجی: True
print(bool(0)) # خروجی: False
print(bool(15)) # خروجی: True
int(b): تبدیل مقدار بولی به معادل عددی.
print(int(True)) # خروجی: 1
print(int(False)) # خروجی: 0
max(a, b)وmin(a, b): مقایسه بر مبنای ارزش منطقی (True > False).
print(max(True, False)) # خروجی: True
print(min(True, False)) # خروجی: False
متدها و توابع رشتهها (str)
رشتهها برای ذخیره متن استفاده میشوند و تنوع بالایی از متدها دارند.
متدهای پرکاربرد:
upper()وlower(): تغییر تمامی حروف به بزرگ یا کوچک.
city = "Tehran"
print(city.upper()) # خروجی: 'TEHRAN'
print(city.lower()) # خروجی: 'tehran'
strip(): پاکسازی فاصلههای خالی (اسپیس) از ابتدا و انتهای متن.
username = " user_student "
print(username.strip()) # خروجی: 'user_student'
split(separator): جداسازی متن بر اساس یک کاراکتر و تبدیل به لیست.
fruits = "apple,banana,orange"
print(fruits.split(",")) # خروجی: ['apple', 'banana', 'orange']
join(iterable): متصل کردن اعضای یک لیست با یک کاراکتر رابط.
words = ["Learn", "Python", "Today"]
print(" ".join(words)) # خروجی: 'Learn Python Today'
replace(old, new): جایگزین کردن یک بخش از متن با مقدار دیگر.
message = "Hello World"
print(message.replace("World", "Python")) # خروجی: 'Hello Python'
startswith(prefix)وendswith(suffix): بررسی شروع یا پایان متن با یک کاراکتر خاص.
file_name = "report.pdf"
print(file_name.endswith(".pdf")) # خروجی: True
print(file_name.startswith("data")) # خروجی: False
isdigit(): بررسی اینکه آیا کل متن فقط شامل اعداد است یا خیر.
phone = "09120000000"
print(phone.isdigit()) # خروجی: True
توابع توکار اعمالپذیر:
len(s): شمارش تعداد کل کاراکترها.
name = "Sara"
print(len(name)) # خروجی: 4
max(s)وmin(s): پیدا کردن کاراکتر با بیشترین و کمترین کد اسکی (ASCII).
letters = "python"
print(max(letters)) # خروجی: 'y'
print(min(letters)) # خروجی: 'h'
توابع توکار پرکاربرد (Built-in Functions)
توابع پیشفرض (Built-in Functions) ابزارهایی هستند که مفسر پایتون بدون نیاز به هیچ کتابخانه جانبی در اختیار شما قرار میدهد. توجه داشته باشید هر تابع نوع خاصی ار ورودی را پشتیبانی می کند. در صورتی که داده نامرتبط به عنوان ورودی داده شود خطا بر میگرداند.
| نام تابع | نوع ورودی معمول | عملکرد | مثال | خروجی |
|---|---|---|---|---|
print() | همه نوع داده | چاپ خروجی در کنسول | print("Hello", 10) | Hello 10 |
len() | رشته، لیست، تاپل، دیکشنری | شمارش تعداد اعضا یا طول | len("Python") | 6 |
type() | همه نوع داده | بازگرداندن نوع شیء یا داده | type(3.14) | <class 'float'> |
int() | عدد، رشته عددی صحیح | تبدیل به عدد صحیح | int("42") | 42 |
float() | عدد، رشته عددی | تبدیل به عدد اعشاری | float("3.5") | 3.5 |
str() | همه نوع داده | تبدیل داده به رشته | str(100) | '100' |
sum() | لیست/تاپل عددی | جمع تمام عناصر | sum([10, 20, 30]) | 60 |
min() / max() | مجموعهها یا چند آرگومان | یافتن کمترین / بیشترین مقدار | max(5, 12, 3) | 12 |
abs() | عدد (صحیح یا اعشاری) | قدر مطلق عدد | abs(-15) | 15 |
round() | عدد اعشاری | گرد کردن عدد | round(3.678, 1) | 3.7 |
sorted() | ساختارهای داده قابل پیمایش | مرتبسازی صعودی/نزولی | sorted([4, 1, 3]) | [1, 3, 4] |
range() | عدد صحیح (شروع، پایان، گام) | تولید دنبالهای از اعداد | list(range(1, 4)) | [1, 2, 3] |
به طور خاص ساختار توابع زیر جهت یادآوری آورده شده است.
| ساختار کلی | عملکرد تابع |
|---|---|
print(*objects, sep=' ', end='\n') | این تابع ورودیهای مختلف را دریافت کرده، متد متنی آنها (__str__) را صدا میزند، آنها را با کاراکتر sep (بهطور پیشفرض یک فاصله) از هم جدا میکند و در نهایت با end (بهطور پیشفرض رفتن به خط جدید \n) به خروجی سیستم میفرستد. |
input(prompt="") | متن prompt را در کنسول نمایش میدهد، اجرای برنامه را تا زمان فشردن کلید Enter معلق نگه میدارد، داده ورودی را به شکل رشته خالص (str) بازمیگرداند. |
range(start, stop[, step]) | یک نوع داده شیءگرای مولد و غیرقابلتغییر که بازههای عددی را بدون تخصیص حافظه یکجا تولید میکند . |
مثال هایی از توابع بالا
text_val = "100.75"
num_val = -42.85
print(f"1. type(): {type(text_val)}")
print(f"2. len(): {len(text_val)}")
print(f"3. float(): {float(text_val)}")
print(f"4. int(): {int(100.75)}")
print(f"5. str(): {str(500) + ' تومان'}")
print(f"6. abs(): {abs(num_val)}")
print(f"7. round(): {round(num_val, 1)}")
print(f"8. range(): {list(range(1, 6))}")
print("9. print() با پارامتر sep و end:", "پایتون", "زبان", "قدرتمند", sep=" - ", end="!\n")
تابع all() (معادل منطقی AND)
توابع any() و all() دو تابع توکار (Built-in) بسیار پرکاربرد در پایتون هستند که روی مجموعهای از دادهها (مثل لیست یا تاپل) اعمال میشوند و وضعیت درستی/نادرستی آنها را بررسی میکنند:
- تعریف: اگر تمام اعضای یک دنباله مقدار
Trueداشته باشند، خروجیTrueمیدهد. اگر حتی یک عضو مقدارFalse(یا مقادیر معادل آن مثل0,"",None) باشد، خروجیFalseخواهد بود. - مثال: آیا همه نمرات دانشجو بالای ۱۰ است؟
scores = [15, 18, 12, 14]
is_all_passed = all(score >= 10 for score in scores)
print(is_all_passed) # خروجی: True
تابع any() (معادل منطقی OR)
- تعریف: اگر حداقل یک عضو از دنباله مقدار
Trueداشته باشد، خروجیTrueمیدهد. تنها در صورتی خروجیFalseمیشود که همه اعضاFalseباشند. - مثال: آیا حداقل یک نمره مردودی (زیر ۱۰) وجود دارد؟
scores = [15, 8, 19, 14]
has_failed = any(score < 10 for score in scores)
print(has_failed) # خروجی: True
رفتار با لیست خالی
all([])همیشه مقدارTrueبرمیگرداند (چون هیچ عضو نادرستی در آن نیست).any([])همیشه مقدارFalseبرمیگرداند (چون هیچ عضو درستی در آن نیست).
