وبلاگ
چیت شیت توابع و ماژولها در پایتون: کاربردی و سریع
فهرست مطالب
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
0 تا 100 عطرسازی + (30 فرمولاسیون اختصاصی حامی صنعت)
Claude & GPT Credit – API | IDE | n8n
خرید کردیت API برای Claude و GPT با امکان استفاده در IDE و n8n. مناسب برنامهنویسی، تولید محتوا، تحلیل داده و ساخت اتوماسیون؛ راهنمای اتصال و پشتیبانی حامی صنعت همراه سفارش ارائه میشود. مدل و مقدار اعتبار را پیش از خرید بررسی کنید و برای دریافت کردیت API اقدام کنید.
اکانت Leonardo.ai با 8500 کردیت
خرید اکانت ChatGPT Plus یک ماهه با کردیت CODEX اختصاصی
خرید اکانت Gemini Pro و Gemini Advanced ۱۸ ماهه اختصاصی (تضمین فعالسازی)
خرید اکانت Gemini Pro و Gemini Advanced هجدهماهه با فعالسازی روی ایمیل شخصی و پشتیبانی حامی صنعت. مناسب تولید محتوا، برنامهنویسی، تحلیل فایل و استفاده از ابزارهای هوش مصنوعی گوگل. شرایط فعالسازی را مطالعه کنید و برای سفارش اقدام کنید.
دایرکت اتوماتیک اینستاگرام حامی | اشتراک ۳۰روزه یک پیج
اشتراک ۳۰روزه پنل دایرکت اتوماتیک اینستاگرام حامی برای یک پیج؛ پاسخ خودکار کامنت و دایرکت، کمپین کلمه کلیدی، قفل فالو، جذب لید، دکمه و لینک و گزارش تحلیل پیج. پاسخهای ثابت بدون نیاز به هوش مصنوعی کار میکنند و اتصال OpenAI Compatible اختیاری است. همین حالا اشتراک پنل اینستاگرام را تهیه کنید و راهاندازی را از داخل پنل فارسی شروع کنید.
دوره آموزش Flutter و برنامه نویسی Dart [پروژه محور]
دوره جامع آموزش برنامهنویسی پایتون + هک اخلاقی [با همکاری شاهک]
دوره جامع آموزش فرمولاسیون لوازم آرایشی
دوره جامع علم داده، یادگیری ماشین، یادگیری عمیق و NLP
چیت شیت توابع و ماژولها در پایتون: کاربردی و سریع
پایتون، به عنوان یکی از محبوبترین زبانهای برنامهنویسی، به دلیل سادگی، خوانایی و گستردگی کتابخانهها و ماژولهایش شناخته میشود. تسلط بر توابع و ماژولهای پایتون، کلید اصلی تبدیل شدن به یک برنامهنویس حرفهای است. این چیت شیت جامع، به شما کمک میکند تا به سرعت به توابع و ماژولهای پرکاربرد دسترسی پیدا کنید، نحوه استفاده از آنها را بیاموزید و در پروژههای خود به بهترین شکل از آنها بهره ببرید.
چرا به چیت شیت توابع و ماژولها نیاز دارید؟
حجم گستردهای از توابع و ماژولها در پایتون وجود دارد که حفظ کردن همه آنها غیرممکن است. چیت شیتها به عنوان یک راهنمای سریع و مختصر، به شما کمک میکنند تا:
- به سرعت توابع و ماژولهای مورد نیاز خود را پیدا کنید.
- نحوه استفاده از توابع و ماژولها را به خاطر بیاورید.
- در زمان خود صرفهجویی کنید و از دوبارهکاری اجتناب کنید.
- کدنویسی کارآمدتر و موثرتری داشته باشید.
این چیت شیت به ویژه برای برنامهنویسان مبتدی و متوسط پایتون طراحی شده است، اما حتی برنامهنویسان باتجربه نیز میتوانند از آن به عنوان یک مرجع سریع استفاده کنند.
بخش اول: توابع Built-in (توابع داخلی) پایتون
توابع Built-in، توابعی هستند که به طور پیشفرض در پایتون تعریف شدهاند و بدون نیاز به import کردن ماژول خاصی، قابل استفاده هستند. این توابع، ابزارهای اساسی برای انجام عملیات مختلف را در اختیار شما قرار میدهند.
توابع پایهای
- print(): برای نمایش خروجی در کنسول استفاده میشود.
print("Hello, World!")
x = 5
print(type(x)) # Output: <class 'int'>
my_list = [1, 2, 3, 4, 5]
print(len(my_list)) # Output: 5
name = input("Enter your name: ")
print("Hello, " + name + "!")
num_str = "10"
num_int = int(num_str)
print(type(num_int)) # Output: <class 'int'>
توابع محاسباتی
- abs(): مقدار قدر مطلق یک عدد را برمیگرداند.
print(abs(-5)) # Output: 5
print(pow(2, 3)) # Output: 8
print(round(3.14159, 2)) # Output: 3.14
numbers = [1, 5, 2, 8, 3]
print(max(numbers)) # Output: 8
print(min(numbers)) # Output: 1
numbers = [1, 2, 3, 4, 5]
print(sum(numbers)) # Output: 15
توابع مربوط به Iterables
- range(): یک دنباله از اعداد تولید میکند.
for i in range(5):
print(i) # Output: 0 1 2 3 4
my_list = ["apple", "banana", "cherry"]
for index, value in enumerate(my_list):
print(index, value)
# Output:
# 0 apple
# 1 banana
# 2 cherry
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
zipped = zip(names, ages)
for name, age in zipped:
print(name, age)
# Output:
# Alice 25
# Bob 30
# Charlie 35
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # Output: [1, 1, 2, 3, 4, 5, 6, 9]
توابع پیشرفته
- map(): یک تابع را بر روی تمام عناصر یک iterable اعمال میکند.
def square(x):
return x * x
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(square, numbers))
print(squared_numbers) # Output: [1, 4, 9, 16, 25]
def is_even(x):
return x % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(is_even, numbers))
print(even_numbers) # Output: [2, 4, 6]
from functools import reduce
def multiply(x, y):
return x * y
numbers = [1, 2, 3, 4, 5]
product = reduce(multiply, numbers)
print(product) # Output: 120
بخش دوم: ماژولهای پرکاربرد پایتون
ماژولها، فایلهایی هستند که حاوی توابع، کلاسها و متغیرهایی هستند که میتوانید در پروژههای خود از آنها استفاده کنید. پایتون دارای کتابخانههای استاندارد گستردهای است که شامل ماژولهای متنوعی برای انجام وظایف مختلف میشود.
ماژول math
این ماژول، توابع ریاضیاتی مختلفی را ارائه میدهد.
- math.pi: مقدار عدد پی (π).
import math
print(math.pi) # Output: 3.141592653589793
import math
print(math.sqrt(16)) # Output: 4.0
import math
print(math.sin(math.pi/2)) # Output: 1.0
import math
print(math.log(100, 10)) # Output: 2.0
print(math.log(100)) # Output: 4.605170185988092
import math
print(math.ceil(3.14)) # Output: 4
import math
print(math.floor(3.99)) # Output: 3
ماژول datetime
این ماژول، ابزارهایی برای کار با تاریخ و زمان ارائه میدهد.
- datetime.datetime.now(): تاریخ و زمان فعلی را برمیگرداند.
import datetime
now = datetime.datetime.now()
print(now) # Output: 2023-10-27 10:30:00.123456
import datetime
specific_date = datetime.datetime(2023, 12, 25, 12, 0, 0)
print(specific_date) # Output: 2023-12-25 12:00:00
import datetime
specific_date = datetime.date(2023, 12, 25)
print(specific_date) # Output: 2023-12-25
import datetime
specific_time = datetime.time(12, 30, 0)
print(specific_time) # Output: 12:30:00
import datetime
now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date) # Output: 2023-10-27 10:30:00 (مثال)
import datetime
date_string = "2023-12-25 12:00:00"
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(date_object) # Output: 2023-12-25 12:00:00
import datetime
date1 = datetime.datetime(2023, 10, 20)
date2 = datetime.datetime(2023, 10, 27)
difference = date2 - date1
print(difference.days) # Output: 7
ماژول random
این ماژول، توابعی برای تولید اعداد تصادفی ارائه میدهد.
- random.random(): یک عدد اعشاری تصادفی بین 0.0 و 1.0 تولید میکند.
import random
print(random.random()) # Output: (مثال) 0.789456123
import random
print(random.randint(1, 10)) # Output: (مثال) 5
import random
my_list = ["apple", "banana", "cherry"]
print(random.choice(my_list)) # Output: (مثال) banana
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list) # Output: (مثال) [3, 1, 5, 2, 4]
import random
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random_sample = random.sample(my_list, 3)
print(random_sample) # Output: (مثال) [7, 2, 9]
ماژول os
این ماژول، امکان تعامل با سیستم عامل را فراهم میکند.
- os.getcwd(): مسیر فعلی دایرکتوری کار را برمیگرداند.
import os
print(os.getcwd()) # Output: /Users/username/Documents (مثال)
import os
os.chdir("/Users/username/Desktop")
import os
print(os.listdir("/Users/username/Documents")) # Output: ['file1.txt', 'file2.pdf', 'folder1'] (مثال)
import os
os.mkdir("new_directory")
import os
os.makedirs("parent_directory/child_directory")
import os
os.remove("file.txt")
import os
os.rmdir("empty_directory")
import os
if os.path.exists("file.txt"):
print("File exists")
import os
if os.path.isfile("file.txt"):
print("It's a file")
import os
if os.path.isdir("directory"):
print("It's a directory")
import os
file_path = os.path.join("/Users/username/Documents", "file.txt")
print(file_path) # Output: /Users/username/Documents/file.txt
ماژول re (Regular Expressions)
این ماژول، ابزارهایی برای کار با عبارات با قاعده (Regular Expressions) فراهم میکند. عبارات با قاعده، الگوهایی هستند که برای جستجو و دستکاری رشتهها استفاده میشوند.
- re.search(pattern, string): به دنبال اولین تطابق pattern در string میگردد و یک شیء match برمیگرداند. اگر هیچ تطابقی پیدا نشود، None برمیگرداند.
import re
string = "The quick brown fox jumps over the lazy dog"
pattern = "fox"
match = re.search(pattern, string)
if match:
print("Match found:", match.group()) # Output: Match found: fox
import re
string = "The quick brown fox jumps over the lazy fox"
pattern = "fox"
matches = re.findall(pattern, string)
print(matches) # Output: ['fox', 'fox']
import re
string = "The quick brown fox jumps over the lazy dog"
pattern = "fox"
replacement = "cat"
new_string = re.sub(pattern, replacement, string)
print(new_string) # Output: The quick brown cat jumps over the lazy dog
import re
pattern = re.compile("fox")
string1 = "The quick brown fox"
string2 = "The lazy dog"
match1 = pattern.search(string1)
match2 = pattern.search(string2)
if match1:
print("Match found in string1")
if not match2:
print("No match found in string2")
بخش سوم: توابع Lambda (توابع بینام)
توابع Lambda، توابع کوچکی هستند که بدون نام تعریف میشوند. آنها معمولاً برای عملیات ساده و کوتاه استفاده میشوند و به عنوان آرگومان به توابع دیگر مانند map، filter و reduce ارسال میشوند.
نحو: lambda arguments: expression
- مثال: ایجاد یک تابع lambda برای محاسبه مربع یک عدد.
square = lambda x: x * x
print(square(5)) # Output: 25
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x * x, numbers))
print(squared_numbers) # Output: [1, 4, 9, 16, 25]
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # Output: [2, 4, 6]
بخش چهارم: Decorators (دکوراتورها)
دکوراتورها، توابعی هستند که به شما امکان میدهند رفتار یک تابع دیگر را بدون تغییر کد آن تابع، اصلاح کنید. آنها یک راه قدرتمند برای افزودن قابلیتهای جدید به توابع موجود هستند.
نحو:
@decorator_function
def my_function():
# Function body
- مثال: ایجاد یک دکوراتور برای اندازهگیری زمان اجرای یک تابع.
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
execution_time = end_time - start_time
print(f"Function {func.__name__} executed in {execution_time:.4f} seconds")
return result
return wrapper
@timer
def my_function():
time.sleep(2) # Simulate a time-consuming task
print("Function executed")
my_function()
# Output:
# Function executed
# Function my_function executed in 2.0000 seconds (تقریبی)
def validate_input(func):
def wrapper(*args, **kwargs):
for arg in args:
if not isinstance(arg, int):
raise TypeError("Input must be an integer")
result = func(*args, **kwargs)
return result
return wrapper
@validate_input
def add(x, y):
return x + y
print(add(5, 10)) # Output: 15
# print(add(5, "10")) # Raises TypeError: Input must be an integer
بخش پنجم: Generators (مولدها)
Generatorها توابعی هستند که به جای برگرداندن یک مقدار، یک iterator برمیگردانند. iterator ها اشیایی هستند که می توان با استفاده از حلقه `for` روی آنها پیمایش کرد. مولدها بر خلاف لیستها، مقادیر را یکجا در حافظه ذخیره نمیکنند، بلکه هر مقدار را در صورت نیاز تولید میکنند. این ویژگی باعث میشود مولدها برای کار با دادههای حجیم بسیار کارآمد باشند.
- مثال: ایجاد یک مولد برای تولید اعداد زوج.
def even_numbers(max_number):
n = 0
while n < max_number:
yield n
n += 2
for number in even_numbers(10):
print(number) # Output: 0 2 4 6 8
even_numbers = (n for n in range(10) if n % 2 == 0)
for number in even_numbers:
print(number) # Output: 0 2 4 6 8
بخش ششم: مدیریت خطا (Error Handling)
مدیریت خطا بخش مهمی از برنامه نویسی است. در پایتون، می توانید از بلوک های `try…except` برای مدیریت خطاها استفاده کنید.
- بلوک `try…except`: کدی که ممکن است خطا ایجاد کند را در بلوک `try` قرار دهید. اگر خطایی رخ دهد، اجرای بلوک `try` متوقف شده و بلوک `except` مربوطه اجرا میشود.
try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")
# Output: Cannot divide by zero!
try:
f = open("myfile.txt", "r")
# ... code that might raise an exception ...
except FileNotFoundError:
print("File not found")
finally:
f.close() # Ensures the file is closed, even if an error occurred
def check_age(age):
if age < 0:
raise ValueError("Age cannot be negative")
# ... rest of the function ...
try:
check_age(-5)
except ValueError as e:
print(e) # Output: Age cannot be negative
بخش هفتم: نکات پیشرفته و بهترین شیوهها
- List Comprehensions: یک راه مختصر و خوانا برای ایجاد لیستها.
numbers = [1, 2, 3, 4, 5]
squares = [x * x for x in numbers]
print(squares) # Output: [1, 4, 9, 16, 25]
numbers = [1, 2, 3, 4, 5]
square_dict = {x: x * x for x in numbers}
print(square_dict) # Output: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_squares = {x * x for x in numbers}
print(unique_squares) # Output: {1, 4, 9, 16, 25}
with open("myfile.txt", "r") as f:
data = f.read()
# File is automatically closed after the 'with' block
def my_function(x):
"""
This function squares the input.
Args:
x: The input number.
Returns:
The square of the input.
"""
return x * x
help(my_function) # Displays the docstring
این چیت شیت، تنها یک مرور کلی از توابع و ماژولهای پرکاربرد پایتون است. برای یادگیری عمیقتر، به مستندات رسمی پایتون و منابع آموزشی آنلاین مراجعه کنید. با تمرین مداوم، میتوانید به یک برنامهنویس حرفهای پایتون تبدیل شوید.
کدنویسی سریع با هوش مصنوعی
برای یادگیری نحوه دیباگ و حل چالشهای پایتون با هوش مصنوعی، صفحه آموزش پایتون با ChatGPT را مشاهده کنید.