Forwarded from Matin
سوال پایتونی 🔥:
مفهوم Generators و Coroutines در Python را توضیح دهید. یک مثال کاربردی از استفاده از آنها ارائه دهید.
Generators:
در Python توابعی هستند که مقادیر را یکی پس از دیگری تولید میکنند، به جای محاسبه و بازگرداندن یک لیست کامل. این امر منجر به صرفهجویی در حافظه و کارایی بهتر میشود.
Coroutines:
در Python نوعی توابع ویژهای هستند که میتوانند در طول اجرای خود چندین بار متوقف و از سر گرفته شوند. آنها برای انجام عملیاتهای همزمان و غیرمتوالی مانند برنامهنویسی شبکه یا برنامهنویسی رویدادی مفید هستند.
مثال کاربردی: فرض کنید میخواهیم یک تابع بنویسیم که اعداد فیبوناچی را تا یک حد مشخص تولید کند. میتوانیم از یک generator برای این کار استفاده کنیم:
در این مثال، fibonacciGenerator یک generator است که در هر بار فراخوانی، عدد بعدی در دنباله فیبوناچی را تولید میکند. این روش کارآمدتر از محاسبه و ذخیره کل دنباله در یک لیست است.
یک مثال از استفاده از coroutines:
#python
#generators #coroutines
@programmers_land
مفهوم Generators و Coroutines در Python را توضیح دهید. یک مثال کاربردی از استفاده از آنها ارائه دهید.
Generators:
در Python توابعی هستند که مقادیر را یکی پس از دیگری تولید میکنند، به جای محاسبه و بازگرداندن یک لیست کامل. این امر منجر به صرفهجویی در حافظه و کارایی بهتر میشود.
Coroutines:
در Python نوعی توابع ویژهای هستند که میتوانند در طول اجرای خود چندین بار متوقف و از سر گرفته شوند. آنها برای انجام عملیاتهای همزمان و غیرمتوالی مانند برنامهنویسی شبکه یا برنامهنویسی رویدادی مفید هستند.
مثال کاربردی: فرض کنید میخواهیم یک تابع بنویسیم که اعداد فیبوناچی را تا یک حد مشخص تولید کند. میتوانیم از یک generator برای این کار استفاده کنیم:
def fibonacciGenerator(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
for num in fibonacciGenerator(10):
print(num)
در این مثال، fibonacciGenerator یک generator است که در هر بار فراخوانی، عدد بعدی در دنباله فیبوناچی را تولید میکند. این روش کارآمدتر از محاسبه و ذخیره کل دنباله در یک لیست است.
یک مثال از استفاده از coroutines:
def consumer():در این مثال، consumer یک coroutine است که دادههای دریافتی را چاپ میکند. producer یک تابع است که دادهها را به coroutine consumer ارسال میکند. این نمونهکد نشان میدهد چگونه میتوان از coroutines برای ارتباط و مبادله دادهها بین دو تابع استفاده کرد.
while True:
received = yield
print(f"Received: {received}")
def producer(consumer_coroutine):
consumer = consumer_coroutine
next(consumer) # Advance to the yield keyword
n = 0
while True:
n += 1
print(f"Producing: {n}")
consumer.send(n)
if n == 5:
break
consumer_cor = consumer()
producer(consumer_cor)
#python
#generators #coroutines
@programmers_land
Forwarded from | کانال توسعهدهندگان پایتون |
📊 کار با داده های آماری در پایتون
توی این پست میخوایم ببینیم چجوری باید با داده های آماری داخل پایتون کار کرد. تو پایتون یه ماژول داخلی وجود داره به اسم statistics که دقیقا مخصوص همین کاره 👌
نیازی به نصب نداره و فقط کافیه با دستور زیر ایمپورتش کنید 👇
این ماژول به شما این امکان رو میده تا یه سری محاسبات ساده رو انجام بدید مثل گرفتن میانگین، مد، انحراف معیار و واریانس
اول باید از لحاظ ریاضی بدونیم اینا چی هستن :
میانگین (Average): اگر اعدادی رو جمع کنید با همدیگه و به تعدادشون تقسیم کنید. مثل
(5 + 4 + 3) / 3 = 4
میانه (Median): اگر اعدادی را از کوچک به بزرگ مرتب کنیم و عددی که وسط این اعداد قرار گرفته رو حساب کنیم میشه میانه. در مثال زیر به عنوان مثال میانه 3 است
1, 2, 3, 4, 5
انحراف معیار (Standard Deviation): نشون میده عددهای یه مجموعه چقدر دور یا نزدیک به میانگین (متوسط) هستن.
واریانس (Variance): مثل انحراف معیاره، ولی به جای اینکه مستقیماً فاصله عددها از میانگین رو بگه، فاصلهها رو به توان دو میرسونه و بعد میانگینشون رو میگیره.
مد (Mode): داده ای که بیشترین تکرار رو داخل یه مجموعه داره.
حالا بیاید وارد کد بشیم و چیزایی رو که گفتیم امتحان کنیم 😃
برای مثال ها از لیستی به اسم data استفاده میکنیم
برای گرفتن میانگین باید اعدادمون رو داخل یه لیست بزاریم و بعدش از تابع mean که این ماژول در اختیارمون میذاره استفاده کنیم:
برای گرفتن میانه باید از تابع median استفاده کنیم :
برای گرفتن انحراف معیار باید از تابع stdev استفاده کنیم:
برای گرفتن واریانس باید از تابع variance استفاده کنیم:
برای گرفتن مد باید از تابع mode استفاده کنیم:
به همین راحتی !! 👌
البته باید اینم بگم که اگه نیاز به تحلیل های آماری پیچیدهتری دارید باید از کتابخونه هایی مثل NumPy استفاده کنید
امیدوارم از این پست لذت برده باشید و مفید باشه براتون 🙏
🔖 #Python, #پایتون
👤 soroushGH
💎 Channel: @DevelopixPython
توی این پست میخوایم ببینیم چجوری باید با داده های آماری داخل پایتون کار کرد. تو پایتون یه ماژول داخلی وجود داره به اسم statistics که دقیقا مخصوص همین کاره 👌
نیازی به نصب نداره و فقط کافیه با دستور زیر ایمپورتش کنید 👇
import statistics
این ماژول به شما این امکان رو میده تا یه سری محاسبات ساده رو انجام بدید مثل گرفتن میانگین، مد، انحراف معیار و واریانس
اول باید از لحاظ ریاضی بدونیم اینا چی هستن :
میانگین (Average): اگر اعدادی رو جمع کنید با همدیگه و به تعدادشون تقسیم کنید. مثل
(5 + 4 + 3) / 3 = 4
میانه (Median): اگر اعدادی را از کوچک به بزرگ مرتب کنیم و عددی که وسط این اعداد قرار گرفته رو حساب کنیم میشه میانه. در مثال زیر به عنوان مثال میانه 3 است
1, 2, 3, 4, 5
انحراف معیار (Standard Deviation): نشون میده عددهای یه مجموعه چقدر دور یا نزدیک به میانگین (متوسط) هستن.
واریانس (Variance): مثل انحراف معیاره، ولی به جای اینکه مستقیماً فاصله عددها از میانگین رو بگه، فاصلهها رو به توان دو میرسونه و بعد میانگینشون رو میگیره.
مد (Mode): داده ای که بیشترین تکرار رو داخل یه مجموعه داره.
حالا بیاید وارد کد بشیم و چیزایی رو که گفتیم امتحان کنیم 😃
برای مثال ها از لیستی به اسم data استفاده میکنیم
data = [3, 5, 7, 10, 15]
برای گرفتن میانگین باید اعدادمون رو داخل یه لیست بزاریم و بعدش از تابع mean که این ماژول در اختیارمون میذاره استفاده کنیم:
mean = statistics.mean(data)
print("میانگین:", mean)
برای گرفتن میانه باید از تابع median استفاده کنیم :
median = statistics.median(data)
print("میانه:", median)
برای گرفتن انحراف معیار باید از تابع stdev استفاده کنیم:
stdev = statistics.stdev(data)
print("انحراف معیار:", stdev)
برای گرفتن واریانس باید از تابع variance استفاده کنیم:
variance = statistics.variance(data)
print("واریانس:", variance)
برای گرفتن مد باید از تابع mode استفاده کنیم:
data = [3, 5, 5, 7, 5, 10, 15]
mode = statistics.mode(data)
print("مد:", mode)
به همین راحتی !! 👌
البته باید اینم بگم که اگه نیاز به تحلیل های آماری پیچیدهتری دارید باید از کتابخونه هایی مثل NumPy استفاده کنید
امیدوارم از این پست لذت برده باشید و مفید باشه براتون 🙏
🔖 #Python, #پایتون
👤 soroushGH
💎 Channel: @DevelopixPython