Python for Data Science
314 subscribers
127 photos
16 videos
12 files
61 links
اطلاعات مفید جهت یادگیری پایتون برای علم داده
Download Telegram
Forwarded from Sadra Codes
یه مقاله خیلی جمع و جور نوشتم واستون. اگه به مبحث type hinting علاقه دارین، توی این مقاله راجع به Generic Typing توی پایتون نوشتم. دقیقا سینتکس زیر و اون [T] که گاها ممکنه گیج کننده باشه:

def function[T](...) -> T:
...


اینکه چیه و چیکار می‌کنه به همراه کلی مثال و تمرین کوچیک که درک این قضیه رو واستون ساده‌تر می‌کنه.

Read 👉 https://blog.imsadra.me/generic-typing-in-python

این سینتکس در ورژن ۳.۱۲ معرفی شد. در رلیزهای بعدی پایتون، خواهید دید که خیلی از این سینتکس استفاده میشه.
👍2
Sadra Codes
یه مقاله خیلی جمع و جور نوشتم واستون. اگه به مبحث type hinting علاقه دارین، توی این مقاله راجع به Generic Typing توی پایتون نوشتم. دقیقا سینتکس زیر و اون [T] که گاها ممکنه گیج کننده باشه: def function[T](...) -> T: ... اینکه چیه و چیکار می‌کنه به همراه…
یک مثال مرتبط با مقاله بالا ببینیم:
کد پایین رو میتونید با پایتون ۳.۱۲ به بعد اجرا کنید و خروجی اون رو ببینید


from typing import TypeVar, Generic, List

T = TypeVar("T")


class Stack(Generic[T]):
def __init__(self) -> None:
self._items: List[T] = []

def push(self, item: T) -> None:
self._items.append(item)

def pop(self) -> T:
if not self._items:
raise IndexError("pop from empty stack")
return self._items.pop()

def peek(self) -> T:
if not self._items:
raise IndexError("peek from empty stack")
return self._items[-1]

def is_empty(self) -> bool:
return len(self._items) == 0

def __repr__(self) -> str:
return f"Stack({self._items})"


def main() -> None:
# Stack for strings
str_stack = Stack[str]()
str_stack.push("1") # This is correct
str_stack.push(1) # This should cause a type error


if __name__ == "__main__":
main()


$ mypy ./g.py
g.py:34: error: Argument 1 to "push" of "Stack" has incompatible type "int"; expected "str" [arg-type]
Found 1 error in 1 file (checked 1 source file)



ضمن اینکه در بخش
 Stack[str]()
میتونید هرنوع دلخواهی به جای str بنویسید تا به تایپ چکر بگید میخواید توی کل اون کلاس به جای T از چه نوع داده‌ای استفاده کنید.
البته اگر چیزی ننویسید هم اجرا میشه!

🔎 @py4ds
👍4
🔺اجرای مدل‌های زبانی از طریق ابزار ollama

ابتدا ابزار ollama را از طریق لینک زیر دانلود کنید
https://github.com/ollama/ollama/releases


برای سفارشی سازی پرامپت در یک پوشه دلخواه فایل Modelfile را بسازید:
FROM llama3.2

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system message
SYSTEM """
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
"""


شما می‌توانید در این فایل تنظیمات مختلفی برای مدل در نظر بگیرید
مثلا
این ModelFile تنظیمات زیر را مشخص می‌کند:
1️⃣ مدل زبانی مورد استفاده: از نسخه llama3.2 استفاده می‌کند.
2️⃣ پارامتر دما: روی 1 تنظیم شده است، به این معنی که پاسخ‌ها خلاقانه‌تر و متنوع‌تر خواهند بود.
3️⃣ پیام سیستمی: مدل باید به عنوان شخصیت ماریو از Super Mario Bros رفتار کند و پاسخ‌ها را در نقش این شخصیت ارائه دهد.

این فایل برای تنظیم مدل زبانی با هدف ارائه پاسخ‌های خاص و شخصیت‌محور مفید است.

در نهایت می‌توانید مدل را از طریق ترمینال سیستم اجرا کنید:
ollama create mario -f ./Modelfile
ollama run mario
>>> hi
Hello! It's your friend Mario.


همچنین برای استفاده از مدل‌ها از طریق پایتون می‌توان از نمونه کد زیر استفاده کرد:
import ollama
from ollama import Client

model = 'llama3.2'

try:
ollama.chat(model)
except ollama.ResponseError as e:
print('Error:', e.error)
if e.status_code == 404:
ollama.pull(model)

client = Client(host='https://localhost:11434')
response = client.chat(model=model, messages=[
{
'role': 'user',
'content': 'Why is the sky blue?',
},
])


🔎 @py4ds
Forwarded from Python4Finance
Media is too big
VIEW IN TELEGRAM
ویژگی های جدید پایتون 3_13

در این فیلم، ویژگی های جدید پایتون توضیح داده می شود. (زبان فایل، انگلیسی روان است)

#پایتون3_13
#python3.13
#new_features

پایتون برای مالی

🆔 @python4finance
Forwarded from PythoMeme🤡
🔥1
🍃🍃🍃🍃🍃🍃🍃🍃🍃
روز ولادت امام علی(ع) و روز مرد مبارک باشه
3
🎉 سال نو شما مبارک باشه
ان‌شاءالله سالی پر از موفقیت داشته باشید. 🌸

🐍🐍🐍

🔎 @py4ds
1
🎉مجددا عیدتون مبارک 🌙
🔎 @py4ds
3
Forwarded from پروگرمرزمیم (Alireza)
گریه‌ها کرده وطن، تاب آورده وطن🖤

#بندرعباس_تسلیت

🔎 @py4ds
💔1
😎 با آی پی آمریکا اکانت ۱۵ ماهه پرو گوگل Gemini ، notebooklm و Veo3 رو فعال و بعدش منم دعا کنید

۲ ترابایت فضای ذخیره‌سازی هم براتون فعال میشه

تقریبا ۳۰ میلیون پولشه!

https://one.google.com/join/ai-student


❗️حتما باید فیلترشکن آمریکا باشه که میتونید از افزونه veepn روی مرورگر کروم یا اج استفاده کنید!
🔎 @py4ds
Please open Telegram to view this post
VIEW IN TELEGRAM
که از چشم بد اندیشان
خدایت در امان دارد ...

@py4ds
4
❗️این رو یادتون باشه که هیچ‌کس حق نداره کسی رو از خونه‌‌اش بیرون کنه!
با تهدید یا با هر ابزار دیگه‌ای!

شاید بگید حالا چرا ما صهیونیست‌ها رو تهدید به اخراج می‌کنیم؟
ج: آفرین چون فلسطین خونه اونها نیست!

🇮🇷 #پاینده_ایران
🔥5
🔺دسترسی افراد زیادی به اینترنت قطع شده و امیدوارم زودتر از این شرایط سخت عبور کنیم 💪

👈لینک‌های زیر ممکنه به کارتون بیاد.
اگه کار مهمی دارین که بخاطر مشکل قطعی اینترنت کارتون خوابیده و نمی‌تونید با سرویس‌های مهم مثل داکر و pypi در ارتباط باشید، فعلا از مخازن زیر استفاده کنید:

🐳مخازن داکر آروان
https://www.arvancloud.ir/fa/dev/docker
🐧مخازن لینوکس آروان
https://www.arvancloud.ir/fa/dev/linux-repository
🐍مخازن python و چیزهای دیگه
https://python.iranrepo.ir/


دورزدن تحریم که فعلا کار نمیکنه ولی تست‌ش ضرر نداره

shecan.ir
begzar.ir
dnspro.ir

🔎 @py4ds
🔴معاهده‌ی NPT و اجرای آن در ایران


🔹 معاهده‌ی NPT چیست؟

معاهده منع گسترش سلاح‌های هسته‌ایی (NPT) یک پیمان بین‌المللی است که در ۱۹۷۰ اجرایی شد. اهداف اصلی آن:

1⃣ عدم اشاعه: جلوگیری از دستیابی کشورهای غیرهسته‌ای به سلاح اتمی.

2⃣ خلع سلاح: تعهد کشورهای هسته‌ای به کاهش تسلیحات.

3⃣ حق استفاده صلح‌آمیز: تضمین دسترسی همه کشورها به فناوری هسته‌ای برای انرژی و پزشکی.


🔹 وضعیت ایران در NPT

🔺ایران در ۱۹۷۰ این معاهده را امضا کرد و از اعضای مؤسس آن است.

🔺 طبق NPT، ایران حق توسعه برنامه هسته‌ای صلح‌آمیز (مثل نیروگاه‌ها و تحقیقات پزشکی) را دارد. (غنی‌سازی تا ۹۰ نیز می‌تواند به صورت صلح آمیز در نظر گرفته شود و یکی از کاربردهای آن ساخت زیردریایی‌های اتمی است!)

🔺 ایران طی سالهای اخیر تحت بیشترین نظارت‌های بین‌المللی و فراتر از حد معمول بوده که به آن نظارت‌های فراپادمانی گفته می‌شود.

🔎 @py4ds
👍5
Forwarded from Mohsen Chavoshi
"علاج"

شاعر: کاظم بهمنی
آهنگساز و تنظیم‌کننده: محسن چاوشی
گیتار الکتریک: عادل روح‌نواز
پیانو: توحید نوری
میکس و مسترینگ: مهدی کریمی
طراح کاور: حامد تلخ‌آبی
2
This media is not supported in your browser
VIEW IN TELEGRAM
اَلسَّلامُ عَلَی الْحُسَیْن وَ عَلی عَلَیِ بْن الْحُسَین وَ عَلی اَوْلادِ الْحْسَیْن وَ عَلی اَصحابِ الْحُسَین🖤

تاسوعا و عاشورای حسینی تسلیت باد🏴

🔎 @py4ds
9
🔺می‌دونید ابعاد یک مکعب یا یک گوی کروی که از ۴۰۰ کیلوگرم اورانیوم غنی شده‌ی ۶۰ درصد درست شده باشه چقدر هست؟

import math

# --- Input Parameters ---
mass = 400 # Mass in kilograms

# Densities of Uranium Isotopes in kg/m³
d_235 = 18800 # Density of U-235
d_238 = 19050 # Density of U-238

# The mixture percentage
enriched_u_235_percentage = 60

# --- Calculations ---
# 1. Calculate the density of the 60% enriched uranium mixture
# The mixture is U-235 and U-238 by mass.
enriched_u_235 = enriched_u_235_percentage / 100
d_enriched = 1 / ((enriched_u_235 / d_235) + ((1 - enriched_u_235) / d_238))

# 2. Calculate volume and side length using the new enriched density
volume = mass / d_enriched
side_length = pow(volume, (1 / 3))

# 3. Calculate radius using the new enriched density
radius = pow(volume / math.pi, (1 / 2))

# --- Pretty Print Results ---
print(f"⚛️ {enriched_u_235_percentage}% Enriched Uranium Cube Calculation ⚛️")
print("-" * 45)
print(f"For a solid cube with a mass of {mass} kg: ")
print(f" 🧪 Calculated Density: {d_enriched:.1f} kg/m³")
print(f" Volume: {volume:.3f} m³")
print(f" For 🧊 Side Length: {side_length:.3f} meters ({side_length * 100:4.1f} cm)")
print(f" For 🏐 Radius: {radius:.3f} meters ({radius * 100:4.1f} cm)")
print("-" * 45)


🔎 @py4ds
2