برنامه نویسی | Teachify
12.1K subscribers
1.01K photos
420 videos
231 files
648 links
برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃


Admin: @Yousef_Vafaei
Download Telegram
⌨️ کاربرد متغیر __all__ در پایتون!

متغیر __all__ در پایتون ابزاری قدرتمند برای کنترل نحوه دسترسی به اجزای یک ماژول یا پکیج است. این متغیر، یک لیست یا تاپل از رشته‌ها (strings) است که مشخص می‌کند کدام اجزا (توابع، کلاس‌ها، متغیرها و غیره) زمانی که کاربر از دستور from module import * استفاده می‌کند، ایمپورت می‌شوند. در ادامه، همه کاربردهای مهم __all__ را به همراه مثال‌های مرتبط توضیح می‌دهم.

1. کنترل محتوای ایمپورت‌ها (from module import *)

این کاربرد اصلی __all__ است. زمانی که __all__ در یک ماژول یا پکیج تعریف می‌شود، تنها آیتم‌هایی که در این لیست آمده‌اند هنگام استفاده از from module import * ایمپورت می‌شوند.

مثال:

فرض کنید شما یک فایل module.py دارید که شامل چند تابع و کلاس است:

# module.py

def func1():
return "This is func1"

def func2():
return "This is func2"

class MyClass:
pass

__all__ = ['func1', 'MyClass']


در این مثال، __all__ مشخص می‌کند که تنها func1 و MyClass باید ایمپورت شوند:

# importing all from module
from module import *

print(func1()) # "This is func1"
print(MyClass) # <class 'module.MyClass'>

# The following will raise an AttributeError
print(func2()) # AttributeError: module 'module' has no attribute 'func2'


اینجا func2 ایمپورت نمی‌شود، چرا که در __all__ ذکر نشده است.

2. پنهان کردن اعضای داخلی ماژول

با استفاده از __all__ می‌توانید اجزای داخلی یک ماژول را از دسترسی عمومی پنهان کنید، به خصوص در مواردی که نمی‌خواهید کاربران به صورت ناخواسته به کدهای خصوصی یا توابعی که برای استفاده داخلی هستند، دسترسی داشته باشند.

مثال:

# module_internal.py

def _internal_func():
return "This is an internal function"

def public_func():
return "This is a public function"

__all__ = ['public_func']


در اینجا، حتی اگر _internal_func تعریف شده باشد، استفاده از from module_internal import * تنها public_func را در دسترس قرار می‌دهد:

from module_internal import *

print(public_func()) # "This is a public function"

# The following will raise an AttributeError
print(_internal_func()) # AttributeError: module 'module_internal' has no attribute '_internal_func'


3. افزایش وضوح و مستندسازی

__all__ به نوعی مستندات ضمنی فراهم می‌کند. وقتی توسعه‌دهندگان دیگر به کد شما نگاه می‌کنند، با مشاهده __all__ می‌توانند به سرعت متوجه شوند که کدام بخش‌ها از کد برای استفاده عمومی طراحی شده‌اند و کدام بخش‌ها خصوصی یا برای استفاده داخلی هستند.

مثال:

در یک ماژول بزرگ، شما می‌توانید با استفاده از __all__ مشخص کنید کدام قسمت‌ها برای کاربران نهایی (End Users) طراحی شده‌اند:

# large_module.py

def public_func1():
pass

def public_func2():
pass

def _private_func():
pass

__all__ = ['public_func1', 'public_func2']


این کار باعث می‌شود که هم توسعه‌دهندگان دیگر و هم کاربرانی که کد شما را استفاده می‌کنند، به سرعت متوجه شوند که کدام بخش‌ها از این ماژول برای استفاده عمومی طراحی شده‌اند.

4. کنترل محتوای ایمپورت در پکیج‌ها

در پکیج‌ها، __all__ در فایل __init__.py قرار می‌گیرد تا مشخص کند کدام اجزا از زیرماژول‌ها باید به صورت عمومی در دسترس باشند.

مثال:

فرض کنید پکیجی به نام mypackage دارید که شامل دو ماژول module1.py و module2.py است:

# mypackage/module1.py

class Class1:
pass

# mypackage/module2.py

class Class2:
pass

# mypackage/__init__.py

from .module1 import Class1
from .module2 import Class2

__all__ = ['Class1']


در اینجا، حتی اگر Class2 در module2 وجود دارد و در __init__.py نیز ایمپورت شده، اما چون در __all__ ذکر نشده است، تنها Class1 هنگام استفاده از from mypackage import * ایمپورت می‌شود:

from mypackage import *

print(Class1) # <class 'mypackage.module1.Class1'>

# The following will raise an AttributeError
print(Class2) # AttributeError: module 'mypackage' has no attribute 'Class2'


💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👌2
✔️ اصطلاحاتی که در سطح مدیریتی شرکت ها و سازمان ها استفاده میشوند!

▪️CEO (Chief Executive Officer):
مدیر عامل اجرایی، بالاترین مقام اجرایی در یک سازمان که مسئولیت کلی عملیات شرکت را بر عهده دارد.
▫️CFO (Chief Financial Officer):
مدیر ارشد مالی، مسئول مدیریت مالی شرکت، شامل برنامه‌ریزی مالی، مدیریت ریسک و گزارش‌دهی مالی.
▪️COO (Chief Operating Officer):
مدیر ارشد عملیاتی، مسئول نظارت بر عملیات روزانه شرکت.
▫️CTO (Chief Technology Officer):
مدیر ارشد فناوری، مسئول هدایت استراتژی تکنولوژی شرکت و اجرای فناوری‌های جدید.
▪️CIO (Chief Information Officer):
مدیر ارشد اطلاعات، مسئول مدیریت فناوری اطلاعات و سیستم‌های اطلاعاتی شرکت.
▫️CHRO (Chief Human Resources Officer):
مدیر ارشد منابع انسانی، مسئول مدیریت منابع انسانی و سیاست‌های مربوط به کارکنان.
▪️CMO (Chief Marketing Officer):
مدیر ارشد بازاریابی، مسئولیت تمام فعالیت‌های مرتبط با بازاریابی را بر عهده دارد.
▫️ CSO (Chief Security Officer):
مدیر ارشد امنیت، مسئول نظارت بر استراتژی‌های امنیتی و حفاظت از دارایی‌های فیزیکی و دیجیتالی شرکت.
▪️CPO (Chief Product Officer):
مدیر ارشد محصول، مسئول توسعه و مدیریت محصولات شرکت.
▫️CCO (Chief Customer Officer):
مدیر ارشد مشتری، مسئول مدیریت تجربیات و رضایت مشتریان.

این اصطلاحات معمولاً در شرکت‌ها و سازمان‌های بزرگ استفاده می‌شوند و ممکن است در سازمان های مختلف معانی متفاوتی هم داشته باشند. هر کدام نقش‌ها و مسئولیت‌های خاص خود را در مدیریت کلان سازمان ایفا می‌کنند.

💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12
python.pdf
54 KB
⌨️ رودمپ بک اند با پایتون

💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
⌨️ معرفی فریم ورک FastAPI در پایتون

فست ای پی ای یا FastAPI یک فریم‌ورک وب سریع و مدرن برای ساخت API‌ها (Application Programming Interfaces) است که برای زبان برنامه‌نویسی پایتون (Python) طراحی شده است. این فریم‌ورک به دلیل سرعت بالا، سهولت استفاده و توانایی مدیریت پروژه‌های بزرگ، محبوبیت زیادی پیدا کرده است.

1. سرعت بالا: FastAPI از استاندارد ASGI (Asynchronous Server Gateway Interface) و پایتون‌های مدرن مانند async/await استفاده می‌کند که باعث می‌شود درخواست‌ها به صورت همزمان و با کارایی بالا پردازش شوند.

2. قابلیت Type Hints پایتون: FastAPI به طور کامل از قابلیت Type Hints پایتون استفاده می‌کند. این به توسعه‌دهندگان کمک می‌کند تا کدهایی با خطاهای کمتر بنویسند و از امکاناتی مانند تکمیل خودکار (autocomplete) و بررسی‌های زمان کامپایل بهره ببرند.

3. مستندات خودکار: FastAPI به طور خودکار مستندات API را تولید می‌کند. این مستندات با استفاده از استانداردهای OpenAPI و JSON Schema تولید می‌شوند و می‌توانند با Swagger UI یا ReDoc نمایش داده شوند.

4. سادگی در استفاده: نوشتن کد با FastAPI بسیار ساده است و یادگیری آن نیز آسان است. برای پیاده‌سازی یک API ساده تنها نیاز به چند خط کد دارید.

5. پشتیبانی از WebSocket و GraphQL: علاوه بر REST APIها، FastAPI به طور کامل از WebSocket و GraphQL نیز پشتیبانی می‌کند.

▪️موارد استفاده FastAPI:
- توسعه سریع APIهای RESTful
- ساخت سیستم‌های مدیریت محتوا (CMS)
- سرویس‌های میکروسرویس (Microservices)
- پروژه‌هایی که نیاز به پردازش همزمان و با عملکرد بالا دارند

فست ای پی ای به دلیل سادگی، سرعت و امکانات گسترده‌ای که ارائه می‌دهد، در میان توسعه‌دهندگان پایتون، به ویژه برای پروژه‌هایی که نیاز به API دارند، بسیار محبوب است.
💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
⌨️ چگونه زمان اجرای کد پایتون را اندازه‌گیری کنیم؟

برای سنجش زمان اجرای برنامه یا بخشی از کد در پایتون، می‌توانید از چندین روش استفاده کنید. در اینجا سه روش محبوب را معرفی می‌کنیم:

1️⃣ استفاده از time:
یک راه ساده برای اندازه‌گیری زمان اجرا. کافیست زمان شروع و پایان را ثبت کرده و اختلاف آن‌ها را محاسبه کنید.

   import time

start_time = time.time()

# کد شما اینجا

end_time = time.time()

elapsed_time = end_time - start_time
print(f"زمان اجرای برنامه: {elapsed_time} ثانیه")


2️⃣ استفاده از timeit:
برای دقت بیشتر و به‌خصوص برای قطعه‌های کوچک کد، از این ماژول استفاده کنید.

   import timeit

def my_function():
# کد شما اینجا

execution_time = timeit.timeit(my_function, number=1)
print(f"زمان اجرای برنامه: {execution_time} ثانیه")


3️⃣ استفاده از perf_counter (از پایتون 3.3 به بعد):
این روش نسبت به time دقیق‌تر است و برای اندازه‌گیری زمان اجرا توصیه می‌شود.

   import time

start_time = time.perf_counter()

# کد شما اینجا

end_time = time.perf_counter()

elapsed_time = end_time - start_time
print(f"زمان اجرای برنامه: {elapsed_time} ثانیه")


با این روش‌ها می‌توانید زمان اجرای کد خود را به‌راحتی اندازه‌گیری کنید!

#پایتون #برنامه‌نویسی #Python
💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍7
پاول دوروف به دلیل سانسور نکردن محتوای تلگرام و با اتهامات احتمالی «حمایت از تروریسم، قاچاق مواد مخدر، مشارکت در جنایات، کلاهبرداری جمعی، پولشویی، پنهان کاری، محتوای پدوفیلی، فرار از تحریم و ...» در فرانسه دستگیر شد.

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
💔23😁2
تفاوت 0، null و undefined در برنامه نویسی :))

#fun
@Teachify
👍26🤣6
✔️ یکی اومده و کلیدهای یکی از کیبوردهای نوستالژیک آی‌بی‌ام رو فشار داده و صداش رو ضبط کرده. حالا یه برنامه نوشته که روی hashtag#لینوکس و مک می‌تونه همون صدای قدیمی رو موقع تایپ براتون بازتولید کنه! 🎹

اسم این برنامه بامزه "bucklespring" هست.

🌐 کدهای برنامه رو اینجا می‌تونید ببینید:
https://github.com/zevv/bucklespring

❤️ @Teachify |Shima Fallah
Please open Telegram to view this post
VIEW IN TELEGRAM
👌8👍1
یه شرکتی اومده برای Python Developer آگهی زده و توی مهارت هاش اینا رو خواسته:

پ.ن: آخه لامصب تو برای پایتون آگهی زدی ولی c++ رو زدی حرفه ای و پایتون رو زدی متوسط؟!

❤️ @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
😐25😁11🗿1
✔️ معرفی ابزار Cookiecutter

کوکی کاتر ابزاری عالی برای شروع سریع و استاندارد پروژه‌هاست. با استفاده از تمپلیت‌ها، می‌تونید پروژه‌های جدید رو با ساختار آماده بسازید. این ابزار با پایتون توسعه داده شده اما برای هر زبانی قابل استفاده‌ست.

▪️ نحوه کار Cookiecutter:
1. استفاده از تمپلیت‌ها برای ساختاردهی پروژه.
2. پرسش از شما برای شخصی‌سازی پروژه.
3. ایجاد پروژه آماده بر اساس پاسخ‌های شما.

📌 نصب و استفاده:
pip install cookiecutter
cookiecutter gh:cookiecutter/cookiecutter-pypackage


#programming #cookiecutter
❤️ @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7
✔️ روز برنامه نویس مبارک

۱۳ سپتامبر روز برنامه نویسی انتخاب شده که دقیقا میشه ۲۵۶امین روز از سال میلادی!!

از جمله دلایل انتخاب عدد ۲۵۶ به عنوان روز برنامه‌نویس اینه که عدد ۲۵۶ بزرگترین توان عدد ۲ کوچکتر از ۳۶۵ که تعداد روزهای یک ساله، هست.
در سیستم دودویی کامپیوتری تعداد اعداد منحصربه‌فردی که میشه توسط یه بایت تولید کرد ۲۵۶ تا هست، که شامل اعداد ۰ تا ۲۵۵ هست.


💻 @Kaliboys | کانال کالی بویز
Please open Telegram to view this post
VIEW IN TELEGRAM
24
✔️ آخرین خواسته مرحوم قبل مرگش این بود که تاریخچه سرچ های مرورگرش پاک بشه.

نمونه ای از سرچاش:
- اگه من دوبار ویندوز ۳۲ بیت نصب کنم، ۶۴ بیت میشه؟
- چجوری میتونم اینترنتو توی یه درایو بریزم تا بتونم از محل کار ببرمش خونه؟
- چرا میگن از دکمه خاموش روشن کردن لپتاپ. فقط واسه روشن کردن لپتاپ استفاده کنیم؟
- چرا برنامه نویسا سینگل هستن؟
- چجوری میتونم اکانت فیبسوک دوست دختر سابقمو با html هک کنم؟
- این دکمه any key کدوم دکمه کیبورده؟

#Fun #فان

💻 @Teachify | #Syntax_fa
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣40👍3👻1
✔️ 5 افزونه ضروری برای فرانت‌اند کارها در VsCode

1. افزونه Live Server
این افزونه به شما اجازه می‌دهد تا یک سرور محلی برای پروژه خود راه‌اندازی کرده و به‌صورت لحظه‌ای تغییرات را در مرورگر مشاهده کنید. با این ابزار دیگر نیازی به رفرش دستی صفحه نخواهید داشت.

2. افزونه ESLint
ESLint برای تحلیل و شناسایی خطاهای کدنویسی در جاوااسکریپت به کار می‌رود. این افزونه به شما کمک می‌کند تا کدی تمیزتر و با رعایت استانداردهای کدنویسی بنویسید.

3. افزونه Prettier - Code Formatter
افزونه‌ای برای فرمت خودکار کدها طبق قوانین تعیین‌شده. Prettier به بهبود خوانایی و یکدست شدن کدها کمک می‌کند و باعث می‌شود تیم شما از یک سبک کدنویسی پیروی کند.

4. افزونه IntelliSense for CSS class names in HTML
این افزونه امکان پیشنهاد خودکار کلاس‌های CSS، Sass و Less را در فایل‌های HTML و JSX فراهم می‌کند و به شما کمک می‌کند تا سریع‌تر و با دقت بیشتری کلاس‌ها را در کد خود وارد کنید.

5. افزونه GitLens — Git Supercharged
این افزونه ابزاری بسیار قدرتمند برای مدیریت Git است که تغییرات، تاریخچه و تعارضات کد را به‌صورت واضح نمایش می‌دهد و به شما در مدیریت بهتر نسخه‌های کد کمک می‌کند.

💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤‍🔥1
✔️ کتاب‌های پیشنهادی رهبران دنیای فناوری!

بسیاری از رهبران موفق در دنیای فناوری علاقه‌ی زیادی به مطالعه دارند و کتاب‌هایی که تأثیر قابل توجهی بر زندگی و دیدگاه‌هایشان گذاشته را به دیگران نیز پیشنهاد می‌کنند. در این پست به معرفی برخی از کتاب‌های پیشنهادی از سوی این افراد برجسته می‌پردازیم:

▪️ ایلان ماسک: صفر تا یک

• کتاب صفر تا یک (Zero to One) نوشته‌ی «پیتر تیل» و «بلیک مسترز» در سال ۲۰۱۴ منتشر شد. پیتر تیل یکی از معروف‌ترین سرمایه‌گذاران خطرپذیر و از بنیان‌گذاران PayPal است. این کتاب چکیده‌ای از یادداشت‌های آنلاین بلیک مسترز، دانشجوی پیتر تیل، درباره ایجاد نوآوری و پیشرفت در دنیای کسب‌وکار است.

▪️ سم آلتمن: سرآغاز بیکرانگی

• کتاب سرآغاز بیکرانگی (The Beginning of Infinity) اثر «دیوید دویچ»، رابطه‌ای عمیق بین قوانین طبیعت، انسان، دانش و پیشرفت ایجاد می‌کند. این کتاب به تحلیل ماهیت بی‌پایان دانش و امکان‌های بی‌نهایت پیشرفت بشری می‌پردازد.

▪️ بیل گیتس: اصول

• کتاب اصول (Principles) نوشته‌ی «ری دالیو»، یک داستان شخصی است که نکاتی ارزشمند در مورد دستیابی به موفقیت و رهبری ارائه می‌دهد. این کتاب می‌تواند به‌عنوان یک راهنمای عملی برای تصمیم‌گیری‌های زندگی و کسب‌وکار عمل کند.

▪️ جف بزوس: بازانجام

• کتاب بازانجام (Rework) نوشته‌ی «جیسن فرید» و «دیوید هاینمایر هانسون»، رویکردی جدید و متفاوت به قوانین تجارت و کارآفرینی ارائه می‌دهد. این کتاب نشان می‌دهد که موفقیت در کسب‌وکار نیازی به پیروی از روش‌های سنتی ندارد و می‌توان با نوآوری و تغییر رویکرد به موفقیت‌های چشمگیری دست یافت.
💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
✔️ ‏زیر دلم درد گرفت بخدا :))

پ.ن: از جمله آگهی سایت های انجام پروژه

#fun #فان
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿20🤣9😐3😢1
This media is not supported in your browser
VIEW IN TELEGRAM
اونایی که خانوم هاشون هنرمند هست مراقب لپ تاپشون باشن :))

#fun #فان
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿13🤣7🤮6😐1
✔️ اگر در دانشگاه علوم کامپیوتر یا مهندسی کامپیوتر درس نخوندین و همیشه حسرت این رو داشتین تو یکی از دانشگاه‌های برتر تحصیل کنید، این ریپو برای شماست اگر پشتکار و تلاش لازم رو داشته باشین.

github.com/ossu/computer-science

#RezaJafari
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👌8
✔️ چندتا جمله انگیزشی بخونیم:

1. "The only limit to our realization of tomorrow is our doubts of today." – Franklin D. Roosevelt
(تنها محدودیت ما برای تحقق فردا، شک‌های امروزمان است.)

2. "Success is not final, failure is not fatal: It is the courage to continue that counts." – Winston Churchill
(موفقیت نهایی نیست، شکست مرگبار نیست؛ شجاعت ادامه دادن مهم است.)

3. "Don’t watch the clock; do what it does. Keep going." – Sam Levenson
(به ساعت نگاه نکن؛ مثل خودِ ساعت باش. به حرکت ادامه بده.)

4. "The harder you work for something, the greater you’ll feel when you achieve it."
(هر چه سخت‌تر برای چیزی کار کنی، حس بهتری از رسیدن به آن خواهی داشت.)

5. "Doubt kills more dreams than failure ever will." – Suzy Kassem
(شک، بیشتر از شکست، رویاها را می‌کُشد.)

6. "Your limitation—it's only your imagination."
(محدودیت تو فقط در خیالت است.)

7. "Dream it. Wish it. Do it."
(رویاپردازی کن. آرزو کن. انجامش بده.)

8. "Success is not about being the best, it’s about being better than you were yesterday."
(موفقیت به معنای بهترین بودن نیست، بلکه به معنای بهتر بودن از دیروز خود است.)

9. "Believe in yourself and all that you are. Know that there is something inside you that is greater than any obstacle." – Christian D. Larson
(به خودت و به تمام آنچه که هستی، باور داشته باش. بدان که چیزی درون تو هست که بزرگتر از هر مانعی است.)

10. "The secret of getting ahead is getting started." – Mark Twain
(راز پیشرفت، شروع کردن است.)

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏8👌6👍3👎1💯1
چقدر حقه این تصویر :)))))

#fun #فان
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣43👍6