❓کوئیز شماره ۷: حلقه بیپایان در For
کدوم یک باعث میشه که حلقه for بینهایت ادامه پیدا کنه؟
کدوم یک باعث میشه که حلقه for بینهایت ادامه پیدا کنه؟
Anonymous Quiz
38%
for i in range(10): continue
52%
for i in iter(int, 1): pass
6%
for i in [1, 2, 3]: break
4%
for i in range(10): print(i)
👍7🤔2😎2❤1
یکی از مفاهیم پیشرفته در استفاده از حلقههای "for" در پایتون، استفاده از تابع
itertools.chain
برای ترکیب چندین توالی بدون ایجاد یک لیست جدیده. این روش زمانی که نیاز به پیمایش دیتاستهای بزرگ هست و میخواین از مصرف حافظه زیاد جلوگیری کنین، مفیده.این کد تمام اعداد در
list1
و list2
رو پیمایش میکنه، بدون اینکه نیاز باشه یک لیست جدید و بزرگتر ایجاد شه.#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2👏1👨💻1
#Weekend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1👏1
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1👏1
حلقه while ابزار قدرتمندی برای تکرار دستورات تا زمان برآورده شدن یک شرطه.
sum = 0
while sum < 50:
number = float(input("یک عدد وارد کنید: "))
sum += number
print("جمع اعداد بیش از ۵۰ شد.")
else
با while، یک ویژگی منحصر به فرد در پایتونه که اجازه میده پس از اتمام حلقه، بدون شکستن حلقه، کد خاصی اجرا شه.count = 0
while count < 5:
print(count)
count += 1
else:
print("حلقه به اتمام رسید.")
0
1
2
3
4
حلقه به اتمام رسید.
while
در ترکیب با try-except
برای مدیریت خطاها در ورودیهای کاربر استفاده کنیم و مطمئن شیم که برنامه در صورت ورودی نامعتبر، متوقف نمیشه.while True:
try:
x = int(input("لطفاً یک عدد وارد کنید: "))
break
except ValueError:
print("مقدار وارد شده عدد نیست. دوباره امتحان کنید.")
while
میتونن برای اجرای وظایف به صورت موازی با استفاده از threading به کار برن. در نتیجه این امکان به وجود میاد که برنامههای تعاملیتر بسازیم.import threading
def print_numbers():
i = 0
while i < 10:
print(i)
i += 1
t = threading.Thread(target=print_numbers)
t.start()
# ادامه کد برای انجام دیگر وظایف در حین اجرای thread
with open('data.txt', 'r') as file:
while line := file.readline():
print(line.strip())
items = ['apple', 'banana', 'cherry']
index = 0
while index < len(items):
print(index, items[index])
index += 1
1 banana
2 cherry
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2👨💻2
d = {'A': 1, 'B': 2, 'C': 3}
while d:
print(d.popitem())
print('Done')
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
👍3
آموزش دیتاساینس و ماشینلرنینگ
d = {'A': 1, 'B': 2, 'C': 3} while d: print(d.popitem()) print('Done') #Programming #Python @Data_ML | دیتاساینس و ماشین لرنینگ
❓کوئیز شماره ۸: حلقه while
خروجی این قطعه کد چیه؟
خروجی این قطعه کد چیه؟
Anonymous Quiz
13%
خطا میده
14%
خط اول: A، خط دوم: B، خط سوم: C
43%
خط اول: ('C', 3)، خط دوم: ('B', 2)، خط سوم: ('A', 1) و درنهایت Done
30%
Done
🔥4❤2👏2😎2🤔1
میشه از حلقه
while
در روش Divide and Conquer برای بهینهسازی پارامترهای مدل در یادگیری ماشین استفاده کرد. این روش با اجرای حلقه تا رسیدن به شرایط خاص، مثل حداکثر دقت مدل یا کاهش تفاوت پارامترها به کمتر از Threshold تعیینشده، مؤثره. این استراتژی، بهویژه برای Tuning دقیق مدلهای پیچیده که جستجوی دستی برای پارامترها ناکارآمده، مفیده.
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👨💻2
در پایتون، استفاده از
if
به عنوان پایهای برای بررسی شرایط مختلف، بسیار کاربردیه. میتونیم با استفاده از شرطهای ترکیبی و توابع، منطقهای بسیار پیچیدهای رو پیادهسازی کنیم.and
و or
به ما این امکان رو میدن که چندین معیار رو همزمان در نظر بگیریم.def check_temp_humidity(temp, humidity):
if temp > 30 and humidity > 50:
return "Hot and Humid"
elif temp > 30 or humidity > 50:
return "Hot or Humid"
else:
return "Comfortable"
print(check_temp_humidity(32, 55))
print(check_temp_humidity(32, 45))
def grade_evaluation(score):
if score >= 90:
if score >= 95:
return "A+"
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
else:
return "D"
print(grade_evaluation(96))
print(grade_evaluation(82))
elif
استفاده میکنیم.def traffic_light(color):
if color == "green":
return "Go"
elif color == "yellow":
return "Slow Down"
elif color == "red":
return "Stop"
else:
return "Invalid Color"
print(traffic_light("yellow"))
in
در if
برای بررسی وجود یک عنصر درون یک مجموعه، لیست، یا رشته استفاده میشه. همچنین از از not
برای برعکس کردن یک شرط میشه استفاده کرد.def check_membership(num, dataset):
if num in dataset:
return f"{num} is in the dataset."
else:
return f"{num} is not in the dataset."
dataset = {1, 3, 5, 7}
print(check_membership(3, dataset))
numbers = [1, 2, 3, 4, 5]
new_list = ["Even" if num % 2 == 0 else "Odd" for num in numbers]
print(new_list)
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1👨💻1
❓کوئیز شماره ۹: استفاده از if برای فیلتر کردن دادهها
فرض کنین یک لیست از اعداد دارین و میخواین اعداد بزرگتر از 100 رو به لیست دیگهای اضافه کنین. کدوم قطعه کد زیر این کار رو به درستی انجام میده؟
فرض کنین یک لیست از اعداد دارین و میخواین اعداد بزرگتر از 100 رو به لیست دیگهای اضافه کنین. کدوم قطعه کد زیر این کار رو به درستی انجام میده؟
Anonymous Quiz
11%
if x > 100: new_list.append(x)
46%
new_list = [x for x in original_list if x > 100]
16%
if x in original_list > 100: new_list.append(x)
27%
new_list.append(x for x in original_list if x > 100)
❤6👍3🔥1😎1
در پایتون، زمانی که میخوایم چک کنیم یک متغیر
None
هست یا نه، باید از is
استفاده کنیم، نه از ==
. این یکی از توصیههای مهم در نوشتن شرطهای if
هست که حتی برنامهنویسان پیشرفته هم گاهی اوقات نادیده میگیرن! مقدار
None
یک نمونه منحصر به فرده و استاندارد پایتون (PEP 8) توصیه میکنه که برای مقایسه با این مقدار خاص از is
استفاده شه. استفاده از is
صحت و سرعت بالاتری داره. همچنین، این روش کد رو خواناتر و اجرای درست برنامه در شرایط مختلف رو تضمین میکنه.روش غلط:
if my_variable == None:
روش درست:
if my_variable is None:
# انجام عملیات خاصی اگر my_variable برابر با None باشد
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2👨💻2🤔1
توابع در برنامهنویسی، بلوکهای کدی هستن که برای اجرای گروهی دستوراتی مشخص، با هدف کاهش تکرار کد و افزایش خوانایی، تعریف میشن. این بلوکها میتونن دادهها رو به عنوان ورودی بگیرن، عملیات انجام بدن و نتایج رو برگردونن.
def calculate_accuracy(predictions, labels):
correct = sum(p == l for p, l in zip(predictions, labels))
accuracy = correct / len(labels)
return accuracy
# فرض کنید predictions و labels برچسبهای پیشبینی شده و واقعی هستند.
accuracy = calculate_accuracy(predictions, labels)
print(f"Accuracy: {accuracy:.2%}")
from sklearn.preprocessing import StandardScaler
def preprocess_data(data):
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
return scaled_data
# فرض کنید data دادههای خام است.
scaled_data = preprocess_data(data)
from sklearn.model_selection import cross_val_score
def evaluate_model_with_cv(model, data, labels, cv=5):
scores = cross_val_score(model, data, labels, cv=cv)
return scores
# فرض کنید model مدل ماشین لرنینگ، data دادهها و labels برچسبها هستند.
cv_scores = evaluate_model_with_cv(best_model, scaled_data, labels)
print(f"CV Scores: {cv_scores}")
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1🤔1👨💻1
❓کوئیز شماره ۱۰: Function
کدوم گزینه نشون دهنده صحیح اصل DRY (Don't Repeat Yourself) در توابعه؟
کدوم گزینه نشون دهنده صحیح اصل DRY (Don't Repeat Yourself) در توابعه؟
Anonymous Quiz
20%
نوشتن کدهای مشابه در توابع مختلف
7%
استفاده از حلقهها به جای توابع
70%
استفاده از توابع برای اجتناب از تکرار کدها
3%
کپی کردن و چسباندن کدها در جاهای مختلف
👍7😎2❤1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
تابع
()any
در پایتون برای بررسی اینکه آیا هر یک از عناصر داخل یک لیست یا Tuple برابر با True
هست یا نه، استفاده میشه. این تابع برای بررسی شرایط متعدد به صورت موازی بسیار مفیده و عملیاتهای محاسباتی پیچیده رو با استفاده از خطوط کد نسبتاً کم انجام میده.
این کد یک لیست از دشمنان رو نشون میده که هر دشمن به صورت یک دیکشنری تعریف شده و دارای دو کلید
type
و health
هست. اینجا تابع ()any
برای تعیین اینکه آیا هنوز دشمنی با سلامتی بالاتر از صفر (یعنی هنوز زنده) وجود داره یا نه، استفاده میشه.اگه حداقل یک دشمن با سلامتی بالاتر از صفر باشه، عبارت
The battle is not over!
چاپ میشه، که به این معنیه که مبارزه هنوز تموم نشده. اگر هیچ دشمن زندهای وجود نداشته باشه (یعنی سلامتی همه صفر یا کمتر باشه)، عبارت No more enemies remain!
چاپ میشه که نشوندهنده پایان مبارزهست.#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1👨💻1
توابع Lambda در پایتون، توابعی هستن که به کمک کلیدواژه
lambda
تعریف میشن. این توابع به دلیل انعطافپذیری و امکان نوشتن در یک خط، برای انجام عملیاتهای سریع بسیار کاربرد دارن. این توابع میتونن هر تعداد پارامتر رو دریافت کنن اما تنها یک عبارت رو ارزیابی و مقدارش رو برمیگردونن. این عبارت به طور خودکار و بدون نیاز به استفاده از دستور
return
برگشت داده میشه.()filter
و ()map
و ()reduce
استفاده میشن که به ما اجازه میدن تا عملیاتهای پیچیدهتر رو بر روی دادهها اجرا کنیم.numbers = range(-5, 5)
negative_numbers = list(filter(lambda x: x < 0, numbers))
print(negative_numbers)
squared = list(map(lambda x: x ** 2, numbers))
print(squared)
from functools import reduce
# یافتن حاصل ضرب تمام اعداد در یک لیست
product = reduce(lambda x, y: x * y, [1, 2, 3, 4, 5])
print(product)
def apply_function(func, value):
return func(value)
result = apply_function(lambda x: x * x, 5)
print(result)
names = ['David', 'Brian', 'Alice', 'Catherine']
sorted_names = sorted(names, key=lambda name: len(name))
print(sorted_names)
data = [(1, 'd'), (2, 'b'), (3, 'c'), (4, 'a')]
# برای مرتبسازی یک لیست از تاپلها
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1👏1
❓کوئیز شماره ۱۱: Lambda Functions
کدوم تابع زیر میتونه برای مرتبسازی یک لیست از Tupleها بر اساس عنصر دوم استفاده شه؟
کدوم تابع زیر میتونه برای مرتبسازی یک لیست از Tupleها بر اساس عنصر دوم استفاده شه؟
Anonymous Quiz
71%
sorted(my_list, key=lambda x: x[1])
10%
sorted(my_list, key=lambda x: x[0])
13%
sorted(my_list, key=lambda x: x)
6%
sorted(my_list, key=lambda x: x[2])
👍6😎2👏1🤔1
زمان نوشتن توابع لامبدا در پایتون، یکی از کارهایی که نباید انجام داد، استفاده از عبارتهای پیچیده یا انجام چندین عملیات در یک تابعه. توابع لامبدا باید ساده و خوانا باشن؛ چون برای تعریف مختصر در یک خط طراحی شدن. اگه لازمه که عملیات پیچیدهتری انجام شه، بهتره که از توابع معمولی استفاده کنیم تا خوانایی و قابلیت نگهداری کد حفظ شه.
یه مثال برای یه لامبدا پیچیده که درکش سخته و بیش از حده:
complex_lambda = lambda x, y, z: x**2 + y**2 if x > y else (x + z) * (y - z)
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4👨💻2🔥1
لیستهای پیچیده یکی از قابلیتهای قدرتمند پایتون هستن که به شما اجازه میده با استفاده از حلقهها و شرطها در یک خط کد، لیستهای پیچیدهتری نسبت به حلقههای معمولی تولید کنید. List Comprehensions همچنین میتونه به افزایش خوانایی و کارایی کد کمک کنه، مخصوصاً زمانی که با فیلترها و توابع سفارشی ترکیب میشن.
# تولید لیستی از اعداد زوج که مجموعهی ارقامشون به 3 بخشپذیره.
even_numbers_div_by_three = [x for x in range(2, 100, 2) if sum(int(digit) for digit in str(x)) % 3 == 0]
print(even_numbers_div_by_three)
def is_perfect_square(x):
# تعریف تابعی برای بررسی اینکه آیا یک عدد، مربع کامله یا نه.
return x == int(x**0.5) ** 2
# تولید لیستی از اعدادی که مربع کامل هستن.
perfect_squares = [x for x in range(1, 31) if is_perfect_square(x)]
print(perfect_squares)
dataset['numeric_column'] = [float(value) for value in dataset['text_column']]
# تبدیل ستونی از دادههای متنی به مقادیر عددی
text_lengths = [len(text) for text in dataset['text_column']]
# محاسبه طول رشتهها برای یک ستون متنی
batches = [data[i:i + 32] for i in range(0, len(data), 32)]
# تقسیم دادهها به بچهای 32 تایی
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👏2❤1🔥1
❓کوئیز شماره ۱۲: List Comprehension
برای فیلتر کردن و حذف عناصر تکراری از یه لیست در زمان ایجاد یک لیست جدید با استفاده از list comprehension، چه تکنیکی به کار میره؟
برای فیلتر کردن و حذف عناصر تکراری از یه لیست در زمان ایجاد یک لیست جدید با استفاده از list comprehension، چه تکنیکی به کار میره؟
Anonymous Quiz
19%
[x for x in list if list.count(x) > 1]
57%
[x for x in set(list)]
17%
[list(x) for x in set(list)]
7%
[x for x in sorted(list)]
👍5😎2❤1👏1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3👨💻1
کلاس یک طرح یا قالب کلی برای ایجاد شی (Object) هست. شیها نمونههایی از کلاسها هستن که دارای ویژگی (Attribute) و رفتار (Method) هستن.
class BankAccount:
def __init__(self):
self.balance = 0
def deposit(self, amount):
self.balance += amount
def get_balance(self):
return self.balance
# استفاده از کلاس
account = BankAccount()# ساخت یک شی از کلاس
account.deposit(100) # اضافه کردن 100 واحد به موجودی
print(account.get_balance()) # دریافت موجودی حساب
class BaseModel:
def train(self, data):
# این متد باید در کلاسهای وارث پیادهسازی شه، در غیر این صورت خطا رخ میده.
raise NotImplementedError("متد train پیادهسازی نشده است.")
class LinearRegression(BaseModel):
def train(self, data):
# منطق آموزش برای رگرسیون خطی در اینجا پیادهسازی میشه
pass
class DecisionTree(BaseModel):
def train(self, data):
# منطق آموزش برای درخت تصمیم در اینجا پیادهسازی میشه
pass
پارامتر
self
در پایتون به هر شیای که داخل یک کلاس تعریف میشه اشاره داره و به متدهای کلاس میگه که کارهاشون رو روی همین شی انجام بدن. یعنی وقتی شما یک متدی رو فراخوانی میکنین، self
باعث میشه که متد بدونه داره روی کدوم شی کار میکنه.class Trainable:
def train(self, data):
print("Training with data.")
class Predictable:
def predict(self, input_data):
print("Predicting output.")
class RandomForest(Trainable, Predictable):
def train(self, data):
# منطق آموزش خاص برای جنگل تصادفی (Random Forest) را پیادهسازی کنید
pass
__str__
و __repr__
. این دو تا به ما کمک میکنن که وقتی یک شی از یک کلاس رو چاپ میکنیم، به جای حروف و ارقام نامفهوم، یه توضیح معنادار و مرتبط با اون شی ببینیم.class KMeans:
def __init__(self, n_clusters):
self.n_clusters = n_clusters
def __str__(self):
return f"KMeans(n_clusters={self.n_clusters})"
مثلاً، توی یک کلاس به نام
KMeans
که برای دستهبندی دادهها به چند گروه استفاده میشه، ما میتونیم __str__
رو تعریف کنیم تا وقتی یک شی از این کلاس رو چاپ میکنیم، به ما بگه که این کلاس داره با چندتا گروه از دادهها کار میکنه. این کار میتونه به خصوص وقتی داریم دیباگ میکنیم و میخواهیم سریع بفهمیم شیهایی که باهاشون کار میکنیم چه خصوصیاتی دارن، خیلی مفید باشه. #Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥1👨💻1