پایتون | python | برنامه‌نویسی | comma.code
2.7K subscribers
17 photos
46 videos
7 files
49 links
به ⭐️کانال پایتونِ ما⭐️ خوش اومدی؛ جایی که کدها زنده میشن و ایدهها به واقعیت تبدیل میشدن! 🚀 چه تازهکار باشی و چه حرفه ای، اینجا کلی چیز منتظرته

حرفی سخنی انتقادی: @ir_379
Download Telegram
سلام دوستان! حالتون چطوره؟ 😊

بحث امروز درباره تفاوت زبان‌های کامپایلری و مفسری! 🧐

دوتا تفاوت اصلی دارن ✌️

1. نحوه اجرا (Execution): 👨‍🦽👨‍🦼


• زبان‌های مفسری:👨‍🦽

کدها خط به خط اجرا میشن.
این یعنی اگر یه تابع رو در خط 10 تعریف کرده باشین و در خط 5 اون رو فراخوانی کنین، احتمالاً با خطا مواجه میشین. چرا؟ چون مفسر (interpreter) هنوز به تعریف تابع نرسیده.

برای مثال: JavaScript (اگه اسکریپت‌های JavaScript رو در HTML/CSS قرار بدین، معمولاً باید در انتهای صفحه قرار بگیرن تا به عناصر صفحه دسترسی داشته باشه
و Python که به‌صورت خط به خط اجرا میشه.

زبان‌های کامپایلری: 👨‍🦼

کامپایلر (compiler) کل کد رو یک‌جا به کد ماشین (machine code) یا (زبان اسمبلی) تبدیل می‌کنه.
پس، مثال قبلی رو اگه بخوایم بگیم اگر تابعی رو قبل از تعریفش فراخوانی کنین، کامپایلر می‌تونه این مشکل رو شناسایی کنه و خطا بده (یا به روشی این مشکل رو هندل کنه)، ولی دیگه زمان اجرا (runtime) با این مشکل مواجه نمیشین.
برای مثال: زبان‌های Java و خانواده
C (C, C++, C#)


2. فرآیند تبدیل به کد ماشین (Machine Code Conversion): ⚙️



• زبان‌های کامپایلری:
ابتدا، کد توسط کامپایلر به کد ماشین تبدیل میشه و سپس احرا میشه و فایل کامپایل شده مثل فایل های exe در ویندوز میمونه و اون فایل رو فقط ران میگیرین

• زبان‌های مفسری:
این زبان ها یک مفسر یا (interpreter) دارن که کد منبع رو خط به خط می‌خونه و همون لحظه به دستورات ماشین تبدیل و اجرا می‌کنه.
کد ماشین به وجود اومده بعد از به پایان رسیدن اجرای برنامه از حافظه حذف میشه.

حالا یه سوال اساسی.

چرا تبدیل کد زبان پایتون به فایل‌های اجرایی (exe) برای محافظت از کد منبع پیشنهاد نمیشه؟ 🤷‍♂


https://t.me/comma_code_python1
10👍2👏2
پایتون | python | برنامه‌نویسی | comma.code
سلام دوستان! حالتون چطوره؟ 😊 بحث امروز درباره تفاوت زبان‌های کامپایلری و مفسری! 🧐 دوتا تفاوت اصلی دارن ✌️ 1. نحوه اجرا (Execution): 👨‍🦽👨‍🦼 • زبان‌های مفسری:👨‍🦽 کدها خط به خط اجرا میشن. این یعنی اگر یه تابع رو در خط 10 تعریف کرده باشین و در خط 5 اون…
خب بخوایم جواب این سوال رو بدیم ببینین تقریبا تو زبان های مفسری (نه همه زبان های مفسری یه سریاشون)

وقتی کد رو کامپایل میکنیم متادیتا کد(نام متغییر، نام کلاس، نام توابع) رو در بایت کد ذخیره میکنه و وقتی دی کامپایل میکنیم همه متغییر ها و کلاس ها توابع به اسم اصلی رو از همون بایت کد میخونیه و همشون مثل روز اول بر میگردونه.
مثلا در کد زیر
class Calculator:
    def __init__(self, name):
        self.user_name = name
       
    def print_hello(self):
        print(f"Hello, {self.user_name}!")
       
    def add_words(self, word1, word2):
        result = word1 + " " + word2
        print(f"Combined: {result}")
        return result

# دریافت ورودی از کاربر
username = input("Enter your name: ")
calc = Calculator(username)
calc.print_hello()

w1 = input("Enter first word: ")
w2 = input("Enter second word: ")
calc.add_words(w1, w2)

اگر ما اینو کامپایل کنیم و بعد دوباره دیکامپایل کنیم تنها چیزی که تو کد دیگه نمیبینیم کامنت ها هستن که اونا هم تو اول راه موقع کامپایل کردن حذف میشن.
این هم کد دیکامپایل شده کد بالا
class Calculator:
    def __init__(self, name):
        self.user_name = name
       
    def print_hello(self):
        print('Hello, {}!'.format(self.user_name))
       
    def add_words(self, word1, word2):
        result = word1 + ' ' + word2
        print('Combined: {}'.format(result))
        return result

username = input('Enter your name: ')
calc = Calculator(username)
calc.print_hello()
w1 = input('Enter first word: ')
w2 = input('Enter second word: ')
calc.add_words(w1, w2)

فقط کمی ساختار کد تو رشته ها فرق کرده و بقیه ساختار همونطور باقی مونده
10👍2
پایتون | python | برنامه‌نویسی | comma.code
خب بخوایم جواب این سوال رو بدیم ببینین تقریبا تو زبان های مفسری (نه همه زبان های مفسری یه سریاشون) وقتی کد رو کامپایل میکنیم متادیتا کد(نام متغییر، نام کلاس، نام توابع) رو در بایت کد ذخیره میکنه و وقتی دی کامپایل میکنیم همه متغییر ها و کلاس ها توابع به اسم…
یه چیزی که تو پایتون زیاد میبین پوشه pycache هست برای هر پکیج و یا فایل جدا گانه ایجاد میشه این محل ذخیره بایت کد برای هر فایل هستش که موقع ران کردن کد ایجاد میشه پایتون با کش کردن بایت کد ها سرعت خودشو تقریبا 25 الی 30 درصد افزایش میده


این موقع ران شدن یه کد چک.میکنه اگه فایلی تغییر نکرده باشه دیگه بایت کد جدیدی تولید نمیکنه
10
به نظرتون اگر کد زیر رو اجرا کنیم چی خروجی رو میده:🤔
def fun(x=[]):
x.append(1)
return x

print(fun())
print(fun())
print(fun())

لطفا اول اجرا کن و بعد ادامه رو بخون 😉

خب خروجی اینجوری میشه 👇:
[1]
[1, 1]
[1, 1, 1]

😳ولی چرا خروجی اینجوری شد؟

🔰 اینجا پارامتر x به صورت پیش‌فرض یک لیست خالی [] تعریف شده. اما تو زبان پایتون مقادیر پیش‌فرض، زمان تعریف تابع فقط یک بار محاسبه و سیو میشن
پس اگر ما تابع fun رو چند بار صدا کنیم، x به همون لیست اولیه (همونی که اولین بار ساخته شده) اشاره می‌کنه و تغییراتی که رو این لیست انجام میدیم برای باقی فراخونی ها هم حفظ میشه.

☁️ریز تر که بخوام بگم:

💠1. اولین بار که تابع فراخوانی میشه لیست خالی ساخته میشه و بعد مقدار 1 بهش اضافه میشه و حالا لیست ما [1] هستش.

💠2. وقتی که دوباره تابع رو فراخوانی میکنیم دیگه x جدید ساخته نمیشه و به لیست آخر که [1] هستش اشاره می‌کنه و کاری که میخوایم رو روش انجام میده و حالا لیست ما برابر شده با [1,1]

💠3. صدا زدن بعدی هم همین روند رو ادامه میده و لیست ما میشه [1,1,1]


اضافه کنم که این اتفاق روی متغیر هایی از نوع تغییر پذیر پیش میاد چون وقتی ما تغییری روی این نوع متغییر ها انجام میدیم این تغییر روی آدرس فعلی حافظه انجام میشه ولی وقتی روی متغییر های غیر قابل تغییر عملیات انجام میدیم یک شی جدید ایجاد میشه و ارجاع به اون شی جدید اشاره می‌کنه . خب مشخص شد چون ارجاع در متغییر های قابل تغییر داره به همون آدرس اشاره می‌کنه این اتفاق پیش میاد




امیدوارم مفید بوده باشه براتون🙏❤️

📱 کانال تلگرام
📱 پیچ اینستاگرام
📱 چنل یوتیوب


🔤🔤🔤🔤🔤 🔤🔤🔤🔤
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥5👍2
شاید فکر کنید که من از چت بات ها چطور استفاده میکنم 😊
یک نمونش اینه که الان با استفاده از deepseek یه تمرین گیر آوردم که قرارش بدم اینجا تا باهم حلش کنیم و راجبش بحث کنیم تا مطالب مختلفی رو یادبگیریم.
بریم برای تمرین🤓


"ماشین حساب کلمات تکراری"

#### 📜 شرح مسئله:
برنامه‌ای بنویسید که یک رشته متنی از کاربر بگیرد و 3 ویژگی زیر را گزارش دهد:
1. لیست کلماتی که بیشتر از ۲ بار تکرار شده‌اند به همراه تعداد تکرار هر کلمه.
2. طولانی‌ترین کلمه در متن.
3. کلماتی که حروف آنها به ترتیب الفباست (مثل کلمه "ace").

#### ⚠️ ملاحظات:
- نویسه‌های اضافه (مانند ! , . ?) را از کلمات حذف کنید.
- به حروف کوچک و بزرگ حساس نباشد (Case-insensitive).
- اگر ورودی خالی بود، برنامه خطای مناسب برگرداند.

#### 💡 مثال خروجی:
متن ورودی: "Hello world! Hello Python. Let's code with Python. Alphabetical words like apple or bee are amazing."

# خروجی:
1. کلمات تکراری (بیش از ۲ بار):
hello: 2
python: 2

2. طولانی‌ترین کلمه: 'alphabetical'

3. کلمات با حروف الفبایی:
['ace', 'bee']

#پایتون #چالش #برنامه_نویسی #تمرین #کاما_کد
#programing #comma_code #challenge #python_challenge #python



📱کانال تلگرامی
📱پیج اینستاگرام
📱چنل یوتیوب
🔤🔤🔤🔤🔤 🔤🔤🔤🔤
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
سلام😇👋

یکی از بچه ها دانشگاه راجب پروژه ای که استادشون خواسته بود ازم سوال پرسید و منم جواب دادم ، بعد گفتم چطوره خودمم انجام بدم و بعدش باز گفتم چطوره یه ويدئو ازش ضبط کنم .

پروژه از این قرار هستش که برنامه باید یک ورودی از کاربر بگیره و بعد اون رو به شکل کلمات فارسی نمایش بده
مثلا
In:12345
Out:
دوازده هزار و سیصد و چهل و پنج

داخل ويدئو بالا سعی کردم دوباره از اول انجامش بدم تا اگر کسی براش سوال بود راحتر با این مسائل کنار بیاد

راسی سورسش پایینه 👇👇 و میتونه بدون استفاده از هیچ کتابخانه ای تا ۲۱ رقم رو انجام بده هرچند داخل ويدئو هم گفتم چطور میتونید تعداد رقم ها رو هم بیشتر کنید و یا حتی چطور روی زبان های دیگه پیاده کنید


امید وارم مفید بوده باشه براتون🥰🥰

📱 کانال تلگرام
📱 پیچ اینستاگرام
📱 چنل یوتیوب
🔤🔤🔤🔤🔤 🔤🔤🔤🔤
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍1👏1
کد زیر رو در نظر بگیرید. بنظرتون خروجی پرینت ها چیه؟لطفا کامنت کنید و بگید که چرا؟

a = [1, 2]
b = [a, a]
a += [3]
c = [a, a]

print("b: ", b)
print("c: ", c)


#پایتون #تمرین #کاما_کد #برنامه_نویسی #چالش
#python #challenge #comma_code #programing
#python_challenge

📱 کانال تلگرام
📱 پیج اینستاگرام
📱 چنل یوتیوب
🔤🔤🔤🔤🔤 🔤🔤🔤🔤
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍2
کسی با
Kivy
BeeWare
Chaquopy

کار کرده؟ یا خروجی گرفته؟
🤔10👍1
جالبه ها !
اینترنت آزاد برا خبرنگار ها !

سلام کنیم به اینترنت طبقاتی🤝😔
🤨13🤔3
خدا کنه اینجوری باشه آقای رئیس جمهور😔
🤬21🍌106😁1😐1
Media is too big
VIEW IN TELEGRAM
سلام دوستان

تو این ویدئو خاص، دوست عزیزم @Py_Sudo
برای شما دوتا ابزار که در مهندسی معکوس فایلهای کامپایل شده py به exe کمک میکنه رو معرفی کرده.

گیت هاب:
Github.com/PySudo/PatchPYC
Github.com/extremecoders-re/pyinstxtractor

لایک و کامنت فراموش نشه 🙏❤️

📱 کانال تلگرام
📱 پیج اینستاگرام
📱 چنل یوتیوب

مارو به دوستانتون معرفی کنید 😘

🔤🔤🔤🔤🔤 🔤🔤🔤🔤
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥85👍3
این کوچولو هم بهمون اضافه شد

توضیحات دیپ سیک رو این پایین میزارم برای کسانی که سوال دارن

### 🧩 رزبری پای ۵ (Raspberry Pi 5): معرفی و مشخصات فنی
رزبری پای ۵ جدیدترین و قدرتمندترین مدل از سری کامپیوترهای تک‌بوردی است که در اکتبر ۲۰۲۳ توسط بنیاد رزبری پای معرفی شد. این مدل نسبت به نسل قبلی (رزبری پای ۴) پیشرفت‌های چشمگیری در عملکرد، اتصالات و قابلیت‌های چندرسانه‌ای دارد و برای طیف گسترده‌ای از پروژه‌های صنعتی، آموزشی و شخصی مناسب است .

---

#### 📊 مشخصات کلیدی رزبری پای ۵
| ویژگی | توضیحات |
|------------------------|-------------------------------------------------------------------------|
| پردازنده | چهار هسته‌ای ARM Cortex-A76 با فرکانس ۲.۴ گیگاهرتز (ارتقاء ۲-۳ برابری عملکرد نسبت به Pi 4) . |
| پردازنده گرافیکی | VideoCore VII با فرکانس ۸۰۰ مگاهرتز، پشتیبانی از OpenGL ES 3.1 و Vulkan 1.2 . |
| حافظه رم | مدل‌های ۴ گیگابایت (۶۰ دلار) و ۸ گیگابایت (۸۰ دلار) از نوع LPDDR4X با سرعت ۴۲۶۷ مگاترانسفر بر ثانیه . |
| اتصالات | - ۲ پورت USB 3.0 با سرعت ۵ گیگابیت بر ثانیه <br>- ۲ پورت USB 2.0 <br>- درگاه گیگابیت اترنت با پشتیبانی از PoE+ (نیازمند هت جداگانه) . |
| خروجی تصویر | دو پورت HDMI با پشتیبانی همزمان از دو نمایشگر 4K با ۶۰ فریم بر ثانیه . |
| فناوری‌های بی‌سیم | Wi-Fi دوبانده (۲.۴/۵ گیگاهرتز) و بلوتوث 5.0 . |
| سایر امکانات | - رابط PCIe 2.0 برای اتصال دستگاه‌های جانبی پرسرعت (مثل SSD NVMe) <br>- ۴ لینک MIPI برای اتصال دوربین و نمایشگر <br>- دکمه فیزیکی روشن/خاموش . |
| منبع تغذیه | USB-C با توان مورد نیاز ۵ ولت/۵ آمپر (توصیه به استفاده از آداپتور اختصاصی) . |

---

### ⚙️ کاربردهای اصلی رزبری پای ۵
1. کامپیوتر دسکتاپ مقرون‌به‌صرفه:
- با پشتیبانی از دو نمایشگر 4K، اجرای سیستمعامل‌هایی مثل Raspberry Pi OS، اوبونتو یا ویندوز IoT، تبدیل به یک ایستگاه کاری کامل برای برنامه‌نویسی، مرور وب و کارهای اداری می‌شود .

2. سرور خانگی و شبکه:
- ساخت NAS (ذخیره‌ساز شبکه) با اتصال SSD از طریق PCIe.
- راه‌اندازی سرور وب (Apache/Nginx)، VPN یا فایروال (مثل Pi-hole) به‌دلیل پورت اترنت گیگابیتی و رم بالا .

3. پروژه‌های اینترنت اشیاء (IoT) و اتوماسیون:
- کنترل دستگاه‌های هوشمند خانگی (مثل روشنایی، امنیت) با استفاده از پین‌های GPIO و کتابخانه‌هایی مثل Python RPi.GPIO .

4. سیستم چندرسانه‌ای (مدیا سنتر):
- پخش ویدئوهای 4K HDR با رمزگشایی سخت‌افزاری HEVC، مناسب برای ساخت دستگاه‌هایی مشابه Kodi یا Plex .

5. پردازش تصویر و یادگیری ماشین:
- اجرای مدل‌های ساده هوش مصنوعی (مثل تشخیص چهره) با اتصال دوربین‌های MIPI و استفاده از فریم‌ورک‌هایی مثل TensorFlow Lite .

6. گیمینگ و امولیشن:
- اجرای بازی‌های رترو (نسل‌های SNES، PS1) با نرم‌افزارهایی مثل RetroPie، یا ساخت آرکید با کمک پین‌های GPIO .

7. رباتیک و کنترل سخت‌افزار:
- مدیریت موتورها، سنسورها و ماژول‌های الکترونیکی به‌دلیل پشتیبانی از پروتکل‌های ارتباطی (I2C, SPI, UART) .

---

### ⚠️ ملاحظات کاربردی و لوازم جانبی ضروری
- خنک‌کننده: دمای پردازنده تحت فشار به ۸۰°C می‌رسد؛ استفاده از هیت‌سینک یا فن فعال (با اتصال اختصاصی روی برد) الزامی است .
- منبع تغذیه: آداپتور ۲۷ وات (USB-C PD) برای عملکرد پایدار توصیه می‌شود .
- ذخیره‌سازی: کارت‌های microSD سرعت بالا (UHS-I) یا SSD (از طریق آداپتور PCIe) برای افزایش کارایی .
- سیستمعامل: پشتیبانی از سیستم‌عامل‌های مبتنی بر لینوکس و ویندوز 10 IoT Core .

---

### 💎 جمع‌بندی: چرا رزبری پای ۵ انقلابی است؟
رزبری پای ۵ با بهبودهای بنیادین در معماری (تراشه‌های BCM2712 و RP1)، افزایش پهنای باند حافظه و اتصالات پرسرعت (USB 3.0، PCIe)، نه تنها برای آموزش الکترونیک و برنامه‌نویسی مناسب است، بلکه به‌عنوان یک پلتفرم انعطاف‌پذیر برای پروژه‌های صنعتی، سرورهای مقیاس‌کوچک و کاربردهای چندرسانه‌ای حرفه‌ای استفاده می‌شود. قیمت آن بین ۶۰ تا ۸۰ دلار (بسته به مدل رم) و در ایران حدود ۹ میلیون تومان (مدل ۸GB) است .
3
هفت تا چالش براتون آماده کردم که از آسون به سخت قراره هر یک روز در میان ساعت ۱۱ قراره بگیره . اگر دوست داشتین حتما این ساعت ها کانال رو چک کنید و خودتون رو به چالش بکشید

راستی چالش ها از آسون به سخت قرار داده میشن یعنی ساعت ۱۱ آسون ترین چالش رو خواهیم داشت
سلام
#چالش اول

شما در این چالش باید مقادیر دوتا متغیر رو بدون استفاده از متغیر کمکی و در یک خط جا به جا کنید .
a, b = 10, 20
# جایی که شما باید برنامه رو بنویسید
print(a,b)
#--> 20 10

#چالش #چالش_پایتونی #پایتون #کاما_کد #برنامه‌نویسی
#python_challenge #challenge #comma_code #python #programing

🔤🔤🔤🔤🔤 🔤🔤🔤🔤
Please open Telegram to view this post
VIEW IN TELEGRAM
1
خب همونطور که گفتم این قراره آسون ترین چالش ممکن باشه
سلام
#چالش دوم
شما در این چالش باید عدد یک عدد از ورودی بگیرید و بگید که این عدد اولش هستش یا نه
بخاطر اینکه این تمرین خیلی تکرار میشه دیگه توضیح اضافی نمیدم
ولی برای اینکه سختر بشه باید بگم که سورس کدی برندس که از همه سریعتر خلاصه تر و بهینه تر باشه


#چالش #چالش_پایتونی #پایتون #کاما_کد #برنامه_نویسی
#programing #comma_code #challenge #python_challenge #python
2😁1