وبلاگ
چیت شیت توابع و ماژولها در پایتون: کاربردی و سریع
فهرست مطالب
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان
0 تا 100 عطرسازی + (30 فرمولاسیون اختصاصی حامی صنعت)
دوره فوق فشرده مکالمه زبان انگلیسی (ویژه بزرگسالان)
شمع سازی و عودسازی با محوریت رایحه درمانی
صابون سازی (دستساز و صنعتی)
صفر تا صد طراحی دارو
متخصص طب سنتی و گیاهان دارویی
متخصص کنترل کیفی شرکت دارویی
“`html
چیت شیت توابع و ماژولها در پایتون: کاربردی و سریع
پایتون، به عنوان یکی از محبوبترین زبانهای برنامهنویسی، به دلیل سادگی، خوانایی و گستردگی کتابخانهها و ماژولهایش شناخته میشود. تسلط بر توابع و ماژولهای پایتون، کلید اصلی تبدیل شدن به یک برنامهنویس حرفهای است. این چیت شیت جامع، به شما کمک میکند تا به سرعت به توابع و ماژولهای پرکاربرد دسترسی پیدا کنید، نحوه استفاده از آنها را بیاموزید و در پروژههای خود به بهترین شکل از آنها بهره ببرید.
چرا به چیت شیت توابع و ماژولها نیاز دارید؟
حجم گستردهای از توابع و ماژولها در پایتون وجود دارد که حفظ کردن همه آنها غیرممکن است. چیت شیتها به عنوان یک راهنمای سریع و مختصر، به شما کمک میکنند تا:
- به سرعت توابع و ماژولهای مورد نیاز خود را پیدا کنید.
- نحوه استفاده از توابع و ماژولها را به خاطر بیاورید.
- در زمان خود صرفهجویی کنید و از دوبارهکاری اجتناب کنید.
- کدنویسی کارآمدتر و موثرتری داشته باشید.
این چیت شیت به ویژه برای برنامهنویسان مبتدی و متوسط پایتون طراحی شده است، اما حتی برنامهنویسان باتجربه نیز میتوانند از آن به عنوان یک مرجع سریع استفاده کنند.
بخش اول: توابع 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”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان