In backend way
99 subscribers
27 photos
8 videos
8 files
16 links
اینجا هیچ چیز خاصی نمیبینی صرفا دارم آموزش هایی که میبینم رو به زبون خودم واسه خودم داکیومنت میکنم شاید به درد تو هم بخوره
Download Telegram
Forwarded from Matin
سوال پایتونی 🔥:
مفهوم 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():
    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)
در این مثال، consumer یک coroutine است که داده‌های دریافتی را چاپ می‌کند. producer یک تابع است که داده‌ها را به coroutine consumer ارسال می‌کند. این نمونه‌کد نشان می‌دهد چگونه می‌توان از coroutines برای ارتباط و مبادله داده‌ها بین دو تابع استفاده کرد.
#python
#generators #coroutines

@programmers_land
📊 کار با داده های آماری در پایتون

توی این پست میخوایم ببینیم چجوری باید با داده های آماری داخل پایتون کار کرد. تو پایتون یه ماژول داخلی وجود داره به اسم 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