۵ ترفند باحال پایتون که برنامهنویسها دوست دارن بدونن!
سلام به همه برنامهنویسای خوشذوق!
امروز میخوام چند تا از اون ترفندهای خفن پایتون رو بگم که هم کدتونو شیک میکنه، هم ممکنه دوستاتون فکر کنن شما یه هکر حرفهای هستید 😏💪
۱. چند مقدار رو با یه خط عوض کن!
تا حالا شده بخوای دو تا متغیر رو جابهجا کنی؟ تو زبانهای دیگه باید کلی خط کد بنویسی، اما پایتون میگه چرا لقمه رو دور سرت بپیچونی؟
پایتون: چون زندگی کوتاهه!
۲. فشردهنویسی با List Comprehension
فرض کن یه لیست از اعداد داری و میخوای فقط اعداد زوج رو استخراج کنی.
راه معمولی:
راه پایتونی:
هم قشنگتر، هم سریعتر!
۳. تبدیل لیست به رشته با یه خط
میخوای یه لیست از کلمات رو با فاصله بهم بچسبونی؟
۴. Counter برای شمردن تکرارها
وقتی میخوای تعداد تکرار هر آیتم توی لیست رو بشمری، نیازی نیست با حلقهها خودتو اذیت کنی.
خروجی:
۵. unpack کردن لیستها مثل حرفهایها
فرض کن یه تابع داری که چند تا ورودی میگیره:
حالا اگه اطلاعاتتو تو یه تاپل یا لیست داشته باشی، اینجوری صداش میزنی:
اگه خوشتون اومده، بگید که تو قسمت بعدی بریم سراغ ترفندهای پیشرفتهتر یا ترفندهای پنهان توی کتابخونههایی مثل Pandas و NumPy! 😉
@python_with_mohammad
سلام به همه برنامهنویسای خوشذوق!
امروز میخوام چند تا از اون ترفندهای خفن پایتون رو بگم که هم کدتونو شیک میکنه، هم ممکنه دوستاتون فکر کنن شما یه هکر حرفهای هستید 😏💪
۱. چند مقدار رو با یه خط عوض کن!
تا حالا شده بخوای دو تا متغیر رو جابهجا کنی؟ تو زبانهای دیگه باید کلی خط کد بنویسی، اما پایتون میگه چرا لقمه رو دور سرت بپیچونی؟
a, b = 5, 10 a, b = b, a print(a, b) # خروجی: 10 5
پایتون: چون زندگی کوتاهه!
۲. فشردهنویسی با List Comprehension
فرض کن یه لیست از اعداد داری و میخوای فقط اعداد زوج رو استخراج کنی.
راه معمولی:
even_numbers = [] for i in range(10): if i % 2 == 0: even_numbers.append(i)
راه پایتونی:
even_numbers = [i for i in range(10) if i % 2 == 0]
هم قشنگتر، هم سریعتر!
۳. تبدیل لیست به رشته با یه خط
میخوای یه لیست از کلمات رو با فاصله بهم بچسبونی؟
words = ['من', 'پایتون', 'دوست', 'دارم'] sentence = ' '.join(words) print(sentence) # خروجی: من پایتون دوست دارم
۴. Counter برای شمردن تکرارها
وقتی میخوای تعداد تکرار هر آیتم توی لیست رو بشمری، نیازی نیست با حلقهها خودتو اذیت کنی.
from collections import Counter nums = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] counter = Counter(nums) print(counter)
خروجی:
Counter({4: 4, 3: 3, 2: 2, 1: 1})
۵. unpack کردن لیستها مثل حرفهایها
فرض کن یه تابع داری که چند تا ورودی میگیره:
def greet(name, age): print(f'سلام {name}! تو {age} سالته.')
حالا اگه اطلاعاتتو تو یه تاپل یا لیست داشته باشی، اینجوری صداش میزنی:
info = ('محمد', 24) greet(*info)
اگه خوشتون اومده، بگید که تو قسمت بعدی بریم سراغ ترفندهای پیشرفتهتر یا ترفندهای پنهان توی کتابخونههایی مثل Pandas و NumPy! 😉
@python_with_mohammad
👌4👍1
هوش مصنوعی در بازارهای مالی – وقتی کدها پول درمیارن! 💰🤖
سلام به همه برنامهنویسای عزیززز!
این روزا بازارهای مالی مثل بورس، کریپتو و فارکس پر از نوسانات عجیبغریبه. حالا فکر کن یه ماشین هوشمند داشته باشیم که بتونه روند بازار رو تحلیل کنه و حتی قیمتها رو پیشبینی کنه! 😏
هوش مصنوعی چطور میتونه توی بازارهای مالی کمک کنه؟
هوش مصنوعی با استفاده از یادگیری ماشین (Machine Learning) و یادگیری عمیق (Deep Learning) میتونه:
قیمتها رو پیشبینی کنه
الگوهای مخفی توی دادههای بازار رو پیدا کنه
احساسات بازار رو از توی اخبار و توییتها بفهمه
سبد سرمایهگذاری رو بهینه کنه
انواع مدلهای هوش مصنوعی توی بازارهای مالی:
رگرسیون خطی (Linear Regression):
برای پیشبینی قیمتهای آینده با استفاده از دادههای گذشته.
شبکههای عصبی (Neural Networks):
برای پیدا کردن الگوهای پیچیده توی روند قیمتها.
شبکههای حافظه کوتاهمدت بلندمدت (LSTM):
مدلهایی که مخصوص پیشبینی سریهای زمانی طراحی شدن (مثل قیمت بیتکوین در هفته آینده).
تحلیل احساسات (Sentiment Analysis):
تشخیص احساسات مثبت یا منفی از توییتها و اخبار مالی.
یه مثال ساده با پایتون:
بیایم قیمت بیتکوین رو با استفاده از کتابخونه Scikit-learn پیشبینی کنیم.
چالشها:
❗ بازارهای مالی قابل پیشبینی نیستن
❗ اتفاقات سیاسی و اجتماعی میتونن همه چیزو به هم بریزن
❗ الگوریتمهای هوش مصنوعی همیشه درست نمیگن (مثل بعضی از کارشناسای تلویزیونی!)
تو پست بعدی میریم سراغ تحلیل احساسات بازار با هوش مصنوعی!
دوست دارید بدونید چطور میشه با چند خط کد فهمید مردم درباره بیتکوین خوشحالن یا ناراحت؟ 😏
@python_with_mohammad
سلام به همه برنامهنویسای عزیززز!
این روزا بازارهای مالی مثل بورس، کریپتو و فارکس پر از نوسانات عجیبغریبه. حالا فکر کن یه ماشین هوشمند داشته باشیم که بتونه روند بازار رو تحلیل کنه و حتی قیمتها رو پیشبینی کنه! 😏
هوش مصنوعی چطور میتونه توی بازارهای مالی کمک کنه؟
هوش مصنوعی با استفاده از یادگیری ماشین (Machine Learning) و یادگیری عمیق (Deep Learning) میتونه:
قیمتها رو پیشبینی کنه
الگوهای مخفی توی دادههای بازار رو پیدا کنه
احساسات بازار رو از توی اخبار و توییتها بفهمه
سبد سرمایهگذاری رو بهینه کنه
انواع مدلهای هوش مصنوعی توی بازارهای مالی:
رگرسیون خطی (Linear Regression):
برای پیشبینی قیمتهای آینده با استفاده از دادههای گذشته.
شبکههای عصبی (Neural Networks):
برای پیدا کردن الگوهای پیچیده توی روند قیمتها.
شبکههای حافظه کوتاهمدت بلندمدت (LSTM):
مدلهایی که مخصوص پیشبینی سریهای زمانی طراحی شدن (مثل قیمت بیتکوین در هفته آینده).
تحلیل احساسات (Sentiment Analysis):
تشخیص احساسات مثبت یا منفی از توییتها و اخبار مالی.
یه مثال ساده با پایتون:
بیایم قیمت بیتکوین رو با استفاده از کتابخونه Scikit-learn پیشبینی کنیم.
import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression
# بارگذاری دادهها
df = pd.read_csv("bitcoin_prices.csv") df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True)
# انتخاب ویژگیها
X = np.array(df.index.factorize()[0]).reshape(-1, 1) y = df['Close'].values
# تقسیم دادهها
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# ساخت مدل
model = LinearRegression() model.fit(X_train, y_train)
# پیشبینی
predictions = model.predict(X_test) print("پیشبینی قیمتها: ", predictions[:5])
چالشها:
❗ بازارهای مالی قابل پیشبینی نیستن
❗ اتفاقات سیاسی و اجتماعی میتونن همه چیزو به هم بریزن
❗ الگوریتمهای هوش مصنوعی همیشه درست نمیگن (مثل بعضی از کارشناسای تلویزیونی!)
تو پست بعدی میریم سراغ تحلیل احساسات بازار با هوش مصنوعی!
دوست دارید بدونید چطور میشه با چند خط کد فهمید مردم درباره بیتکوین خوشحالن یا ناراحت؟ 😏
@python_with_mohammad
👍2
شما به پیش بینی های یک هوش مصنوعی آموزش دیده بیشتر اعتماد می کنید یا یک کارشناس بازار مالی؟
Anonymous Poll
57%
هوش مصنوعی
43%
نیروی انسانی
تحلیل احساسات بازار – وقتی هوش مصنوعی حرف مردم رو میفهمه! 😏📊
سلام رفقا، بازم با کمی تاخیر و فاصله برگشتم.
بریم سراغ ادامه موضوع قبلی
تا حالا شده ببینید یه خبر توی توییتر منتشر میشه و قیمت بیتکوین یهویی میره بالا یا پایین؟ 🤯
اینجاست که تحلیل احساسات (Sentiment Analysis) وارد بازی میشه!
ایده اینه که هوش مصنوعی میاد همه توییتها، اخبار یا حتی کامنتها رو میخونه و میفهمه مردم نسبت به بازار حس خوبی دارن یا نه.
هوش مصنوعی چطوری احساسات رو تشخیص میده؟
الگوریتمهای پردازش زبان طبیعی (NLP) میان متنها رو بررسی میکنن و به هر متن یه امتیاز میدن:
مثبت 😊
منفی 😡
خنثی 😐
مثلاً:
"بیتکوین داره میترکونه!" → مثبت
"بازار افتضاحه! دیگه پامو تو کریپتو نمیذارم" → منفی
ابزارهایی که به درد ما میخورن:
NLTK
TextBlob
VADER (برای توییتها)
Hugging Face Transformers (مدلهای پیشرفته مثل BERT)
مثال کدنویسی با TextBlob:
بیایم چند تا جمله رو بررسی کنیم:
خروجی:
چطوری میشه اینو توی بازار مالی استفاده کرد؟
جمعآوری توییتها با API توییتر
تحلیل احساسات هر توییت
حساب کردن میانگین احساسات
تصمیمگیری برای خرید یا فروش
یه نکته مهم 🚨
احساسات مردم همیشه با قیمت واقعی بازار یکی نیست!
مثلاً ممکنه همه بگن بیتکوین میره بالا، ولی همون موقع نهنگها (Whales) دارن میفروشن!
@python_with_mohammad
سلام رفقا، بازم با کمی تاخیر و فاصله برگشتم.
بریم سراغ ادامه موضوع قبلی
تا حالا شده ببینید یه خبر توی توییتر منتشر میشه و قیمت بیتکوین یهویی میره بالا یا پایین؟ 🤯
اینجاست که تحلیل احساسات (Sentiment Analysis) وارد بازی میشه!
ایده اینه که هوش مصنوعی میاد همه توییتها، اخبار یا حتی کامنتها رو میخونه و میفهمه مردم نسبت به بازار حس خوبی دارن یا نه.
هوش مصنوعی چطوری احساسات رو تشخیص میده؟
الگوریتمهای پردازش زبان طبیعی (NLP) میان متنها رو بررسی میکنن و به هر متن یه امتیاز میدن:
مثبت 😊
منفی 😡
خنثی 😐
مثلاً:
"بیتکوین داره میترکونه!" → مثبت
"بازار افتضاحه! دیگه پامو تو کریپتو نمیذارم" → منفی
ابزارهایی که به درد ما میخورن:
NLTK
TextBlob
VADER (برای توییتها)
Hugging Face Transformers (مدلهای پیشرفته مثل BERT)
مثال کدنویسی با TextBlob:
بیایم چند تا جمله رو بررسی کنیم:
from textblob import TextBlob
text1 = "Bitcoin is going to the moon!"
text2 = "The market is crashing, sell everything!"
blob1 = TextBlob(text1)
blob2 = TextBlob(text2)
print(f"جمله: {text1} → احساس: {blob1.sentiment.polarity}") print(f"جمله: {text2} → احساس: {blob2.sentiment.polarity}")
خروجی:
Bitcoin is going to the moon! → 0.5 The market is crashing, sell everything! → -0.8
چطوری میشه اینو توی بازار مالی استفاده کرد؟
جمعآوری توییتها با API توییتر
تحلیل احساسات هر توییت
حساب کردن میانگین احساسات
تصمیمگیری برای خرید یا فروش
یه نکته مهم 🚨
احساسات مردم همیشه با قیمت واقعی بازار یکی نیست!
مثلاً ممکنه همه بگن بیتکوین میره بالا، ولی همون موقع نهنگها (Whales) دارن میفروشن!
@python_with_mohammad
👍1
موافقید با هم بریم و یه پروژه جدید رو بررسی کنیم؟ ساخت یه روبات تلگرامی چطوره؟
Anonymous Poll
100%
بزن بریم
0%
جالب نیست برام
پروژه ساخت بات تلگرام هواشناسی با پایتون
میخوایم یه بات تلگرام بسازیم که کاربر بتونه بهش اسم شهر رو بده و بات اطلاعات آبوهوای اون شهر رو بهش برگردونه. این پروژه ترکیبی از کار با API، کتابخانههای پایتون و ساخت بات تلگرامه.
مرحله ۱: آمادهسازی محیط و نصب کتابخانهها
اول از همه، باید محیطمون رو آماده کنیم. برای این کار، به چند کتابخانه نیاز داریم:
کتابخانه python-telegram-bot: برای کار با تلگرام و ساخت بات.
کتابخانه requests: برای ارسال درخواست به API هواشناسی.
نصب کتابخانهها:
تو ترمینال یا cmd دستورات زیر رو اجرا کن:
میخوایم یه بات تلگرام بسازیم که کاربر بتونه بهش اسم شهر رو بده و بات اطلاعات آبوهوای اون شهر رو بهش برگردونه. این پروژه ترکیبی از کار با API، کتابخانههای پایتون و ساخت بات تلگرامه.
مرحله ۱: آمادهسازی محیط و نصب کتابخانهها
اول از همه، باید محیطمون رو آماده کنیم. برای این کار، به چند کتابخانه نیاز داریم:
کتابخانه python-telegram-bot: برای کار با تلگرام و ساخت بات.
کتابخانه requests: برای ارسال درخواست به API هواشناسی.
نصب کتابخانهها:
تو ترمینال یا cmd دستورات زیر رو اجرا کن:
pip install python-telegram-bot requests
کد بالا رو دیدی؟ حالا بگو:کدام کتابخانه برای کار با APIها استفاده میشه؟
Anonymous Quiz
31%
telegram
49%
requests
17%
pandas
3%
numpy
مرحله ۲: ساخت بات تلگرام و دریافت توکن
حالا باید یه بات تو تلگرام بسازیم. برای این کار:
تو تلگرام سرچ کن BotFather.
دستور /newbot رو بزن و یه اسم برای باتت انتخاب کن.
در نهایت، یه توکن بهت میده. این توکن رو یادداشت کن، چون بهش نیاز داریم.
حالا باید یه بات تو تلگرام بسازیم. برای این کار:
تو تلگرام سرچ کن BotFather.
دستور /newbot رو بزن و یه اسم برای باتت انتخاب کن.
در نهایت، یه توکن بهت میده. این توکن رو یادداشت کن، چون بهش نیاز داریم.
مرحله ۳: نوشتن اولین کد برای راهاندازی بات
حالا میخوایم اولین کدمون رو بنویسیم تا باتمون بتونه به دستور /start پاسخ بده.
حالا میخوایم اولین کدمون رو بنویسیم تا باتمون بتونه به دستور /start پاسخ بده.
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext
def start(update: Update, context: CallbackContext):
update.message.reply_text('سلام! به بات هواشناسی خوش آمدید. نام شهر رو بفرستید.')
def main():
token = 'TOKEN' # توکنی که از BotFather گرفتی رو اینجا قرار بده
updater = Updater(token, use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler("start", start))
updater.start_polling()
updater.idle()
if __name__ == "__main__":
main()
کدام تابع برای پاسخ دادن به کاربر استفاده میشه؟
Anonymous Quiz
18%
update.send_message()
48%
update.reply_text()
21%
context.reply()
12%
message.send()
مرحله ۴: دریافت نام شهر از کاربر
حالا میخوایم باتمون بتونه نام شهر رو از کاربر دریافت کنه. برای این کار از MessageHandler استفاده میکنیم.
حالا میخوایم باتمون بتونه نام شهر رو از کاربر دریافت کنه. برای این کار از MessageHandler استفاده میکنیم.
from telegram.ext import MessageHandler, Filters
def get_city(update: Update, context: CallbackContext):
city = update.message.text
update.message.reply_text(f'شهر شما: {city}. در حال دریافت اطلاعات آبوهوا...')
# در مرحله بعدی، اطلاعات آبوهوا رو دریافت میکنیم
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, get_city))
🙏1
کدام کلاس برای دریافت پیامهای متنی کاربران استفاده میشه؟
Anonymous Quiz
38%
MessageHandler
29%
CommandHandler
32%
TextHandler
0%
UpdateHandler
مرحله ۵: دریافت اطلاعات آبوهوا از API
برای دریافت اطلاعات آبوهوا، از API سایت OpenWeatherMap استفاده میکنیم.
اول باید تو سایت OpenWeatherMap ثبتنام کنی و یه API Key دریافت کنی.
https://openweathermap.org/api
برای دریافت اطلاعات آبوهوا، از API سایت OpenWeatherMap استفاده میکنیم.
اول باید تو سایت OpenWeatherMap ثبتنام کنی و یه API Key دریافت کنی.
https://openweathermap.org/api
import requests
def get_weather(city):
api_key = 'API_KEY' # API Key خودت رو اینجا قرار بده
url = f'http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric'
response = requests.get(url)
data = response.json()
if data['cod'] == 200:
weather = data['weather'][0]['description']
temp = data['main']['temp']
return f'وضعیت آبوهوا در {city}: {weather}, دما: {temp}°C'
else:
return 'شهر مورد نظر یافت نشد.'
def get_city(update: Update, context: CallbackContext):
city = update.message.text
weather_info = get_weather(city)
update.message.reply_text(weather_info)
openweathermap.org
Weather API
Explore OpenWeather's vast range of weather APIs including the versatile One Call API 3.0. Ideal for both
beginners and professionals, our APIs offer current weather, minute-by-minute forecasts, historical data archives, and
future predictions. Access weather…
beginners and professionals, our APIs offer current weather, minute-by-minute forecasts, historical data archives, and
future predictions. Access weather…
کدام کتابخانه برای ارسال درخواست به API استفاده میشه؟
Anonymous Quiz
20%
telegram
31%
requests
41%
json
8%
os
مرحله ۶: اضافه کردن قابلیتهای بیشتر (اختیاری)
میتونی بات رو توسعه بدی و قابلیتهای بیشتری بهش اضافه کنی. مثلاً:
نمایش رطوبت و سرعت باد.
اضافه کردن دستور /help برای راهنمایی کاربران.
استفاده از دکمههای شیشهای (Inline Keyboard) برای انتخاب شهر.
مرحله ۷: استقرار بات روی سرور (اختیاری)
اگر میخوای باتت همیشه فعال باشه، میتونی اون رو روی یه سرور مثل Heroku یا PythonAnywhere استقرار بدی.
میتونی بات رو توسعه بدی و قابلیتهای بیشتری بهش اضافه کنی. مثلاً:
نمایش رطوبت و سرعت باد.
اضافه کردن دستور /help برای راهنمایی کاربران.
استفاده از دکمههای شیشهای (Inline Keyboard) برای انتخاب شهر.
مرحله ۷: استقرار بات روی سرور (اختیاری)
اگر میخوای باتت همیشه فعال باشه، میتونی اون رو روی یه سرور مثل Heroku یا PythonAnywhere استقرار بدی.
👍1
examples.rar
54.5 KB
کد ها قبلی جنبه اموزش مفاهیم رو داشتن.اینجا یه سری پروژه گذاشتم که می تونید برای تمرین بیشتر ازشون استفاده کنید.
@python_with_mohammad
@python_with_mohammad
رفقا سلاااام
من یه کم حوصله م سر رفته، اینترنتم هم بی نهایت کند شده.
خوشبختانه تایم عید بیمارستان هم قرار نیست برم و کلی سرم خلوته.
دوست داشتم یه موضوع رو به صورت منظم و کوتاه آموزش بدم.
یه موضوع که نسبتا تازه و همچنان سخت و چالشی و البتههههه غیر کلیشه ای باشه.
من یه کم حوصله م سر رفته، اینترنتم هم بی نهایت کند شده.
خوشبختانه تایم عید بیمارستان هم قرار نیست برم و کلی سرم خلوته.
دوست داشتم یه موضوع رو به صورت منظم و کوتاه آموزش بدم.
یه موضوع که نسبتا تازه و همچنان سخت و چالشی و البتههههه غیر کلیشه ای باشه.
❤3👍1
این کتاب که داره آپلود می شه ، یه کتاب خفن و کاربردی برای آموزش و یادگیری الگوریتم ها هست.
اسمش اینه :
Introduction to Algorithms
نمی دونم ترجمه فارسی داره یا نه، اما من می خوام بر اساس این کتاب الگوریتم های کاربردی دنیای برنامه نویسی رو آموزش بدم، البته اگر حال و حوصله ش رو داشته باشم، برای درک بهتر این مفاهیم ، از کارای تصویری و انیمیشن هم استفاده خواهم کرد، البته اگرررررر حوصله شو داشت باشم.
اسمش اینه :
Introduction to Algorithms
نمی دونم ترجمه فارسی داره یا نه، اما من می خوام بر اساس این کتاب الگوریتم های کاربردی دنیای برنامه نویسی رو آموزش بدم، البته اگر حال و حوصله ش رو داشته باشم، برای درک بهتر این مفاهیم ، از کارای تصویری و انیمیشن هم استفاده خواهم کرد، البته اگرررررر حوصله شو داشت باشم.
❤3
خب حالا یه سوال، این ویدیو های کوتاه (حدودا دو سه دقیقه ای) رو علاوه بر تلگرام کجا آپلود کنم؟
Anonymous Poll
33%
اینستاگرام
74%
یوتیوب
7%
لینکدین
اگه جای دیگه ای هم تو ذهنتون بود بگید، من ترجیحم اینه جایی باشه که دسترسی تون بهش راحت تر باشه.
👍5