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


Admin: @Yousef_Vafaei
Download Telegram
✔️ تشخیص عدد زوج یا فرد در سطح باینری

▪️روش اول: بررسی بیت واحد: بیت کم‌ارزش (بیت راست‌ترین) عدد باینری را بررسی کنید.

اگر این بیت 0 باشد، عدد زوج است و اگر این بیت 1 باشد، عدد فرد است.

مثال:

✔️عدد باینری 1010: بیت کم‌ارزش 0 است، بنابراین عدد زوج است.
✔️عدد باینری 1101: بیت کم‌ارزش 1 است، بنابراین عدد فرد است.

▪️روش دوم: انجام عمل AND با 1: عدد باینری را با 1 (به صورت باینری) عمل AND کنید.

اگر نتیجه 0 باشد، عدد زوج است و اگر نتیجه 1 باشد، عدد فرد است.

مثال روش دوم در تصویر.
💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
✔️ وبسایت هایی برای نمونه سوالات و تمرینات پایتون

1⃣ LeetCode:
https://leetcode.com/

🔢 HackerRank:
https://www.hackerrank.com/domains/tutorials/10-days-of-python

🔢 Codewars:
https://www.codewars.com/

🔢 Exercism
https://exercism.io/tracks/python/exercises

🔢 GeeksforGeeks:
https://www.geeksforgeeks.org/python-programming-language/

🔢 Project Euler:
https://projecteuler.net/

💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4
✔️ دیتابیس ردیس چیست؟

ردیس (Redis) یک دیتابیس NoSQL متن‌باز و رایگان است که بر اساس مدل ذخیره‌سازی کلید-مقدار (key-value) عمل می‌کند. این دیتابیس از انواع مختلفی از داده‌ها مانند رشته‌ها (string)، هش‌ها (hash)، لیست‌ها (list)، مجموعه‌ها (set)، و مجموعه‌های مرتب (sorted set) پشتیبانی می‌کند. ردیس داده‌ها را به صورت درون‌حافظه‌ای (in-memory) ذخیره می‌کند که این ویژگی باعث افزایش چشمگیر سرعت خواندن و نوشتن اطلاعات می‌شود. اگرچه ردیس بیشتر به عنوان حافظه نهان (cache) مورد استفاده قرار می‌گیرد، اما می‌توان از آن به عنوان دیتابیس اصلی یا کارگزار پیام (message broker) نیز بهره برد.

❤️ @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
print(type(aTuple[2:3])) —> for ex: aTuple = (1, 'Jhon', 1+3j)
Anonymous Quiz
19%
list
22%
Python Data Types
34%
tuple
25%
complex
👎2
توی پایتون و مبحث شی گرایی، اولویت با کدومه؟
Anonymous Quiz
63%
class attribute
37%
instance attribute
👍5
📢 تپ سواپ قراره ۲۵ روز دیگه توی بایننس لیست بشه، اگه نات کوین نداشتی میتونی اینو استارک کنی!

📎 لینک ربات:
➡️ @Tapswap


🔥 ادد لیست کانال های ربات برای گرفتن جایزه و طی کردن مراحلش:
https://t.me/addlist/QC-qrEqfb2U1MmU0


💻 @kaliboys | کالی بویز
Please open Telegram to view this post
VIEW IN TELEGRAM
👌1👀1
✔️ مفهوم پلی‌مورفیسم یا چند ریختی در پایتون

در #پایتون، پلی‌مورفیسم (Polymorphism) یکی از اصول اصلی برنامه‌نویسی شیء‌گرا (Object-Oriented Programming) است که به معنای "چند ریختی" می‌باشد. پلی‌مورفیسم این امکان را می‌دهد که اشیاء مختلف بتوانند از طریق یک رابط یکسان استفاده شوند، حتی اگر این اشیاء از کلاس‌های متفاوتی باشند.

به طور خلاصه، پلی‌مورفیسم به این معنی است که یک متد یا تابع می‌تواند بر روی اشیاء مختلفی از کلاس‌های متفاوت عمل کند و بسته به نوع شیء، رفتار متفاوتی را اجرا کند. این قابلیت به کمک وراثت (Inheritance) و متدهای مشترک بین کلاس‌ها محقق می‌شود.

مثال ساده‌ای از پلی‌مورفیسم در پایتون:

class Cow:
def sound(self):
return "Moow"

class Cat:
def sound(self):
return "Meow"

def make_sound(animal):
return animal.sound()

cow = Cow()
cat = Cat()

print(make_sound(cow)) # خروجی: Moow
print(make_sound(cat)) # خروجی: Meow


در این مثال، کلاس‌های Cow و Cat هر دو متدی به نام sound دارند. تابع make_sound می‌تواند هر شیء‌ای که دارای متد sound است را بپذیرد و متد مربوطه را فراخوانی کند. به این ترتیب، بدون اینکه نوع دقیق شیء را بدانیم، می‌توانیم از یک رابط یکسان برای دسترسی به متدها استفاده کنیم. این قابلیت انعطاف‌پذیری کد را افزایش می‌دهد و امکان توسعه و نگهداری آن را آسان‌تر می‌کند.

❤️ @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👌1
✔️ اورلودینگ (Overloading) در برنامه نویسی

اورلودینگ در برنامه‌نویسی شیءگرا به معنای تعریف چندین نسخه از یک تابع با نام یکسان ولی پارامترهای مختلف است. این ویژگی به ما اجازه می‌دهد تا توابعی با نام مشابه ولی با رفتارهای متفاوت بسته به ورودی‌هایشان داشته باشیم.

در پایتون، اورلودینگ به دو شکل می‌تواند اتفاق بیافتد: اورلودینگ متدها و اورلودینگ عملگرها. هر کدام از این موارد را به تفصیل توضیح می‌دهم.

1. اورلودینگ متدها
پایتون به طور پیش‌فرض از اورلودینگ متدها پشتیبانی نمی‌کند مانند زبان‌هایی مثل جاوا یا سی‌پلاس‌پلاس. اما می‌توان با استفاده از تکنیک‌هایی این قابلیت را شبیه‌سازی کرد. معمولاً با بررسی تعداد و نوع پارامترهای ورودی درون یک متد، می‌توان رفتارهای مختلفی را پیاده‌سازی کرد.

مثال:
class MathOperations:
def add(self, a, b, c=None):
if c is not None:
return a + b + c
else:
return a + b

math_op = MathOperations()
print(math_op.add(1, 2)) # خروجی: 3
print(math_op.add(1, 2, 3)) # خروجی: 6

2. اورلودینگ عملگرها
در پایتون، می‌توانیم رفتار عملگرهای استاندارد (مثل +, -, *, == و ...) را برای اشیاء کلاس‌های خود بازتعریف کنیم. این کار با استفاده از متدهای خاصی که با دابل آندر اسکور (__) شروع و پایان می‌یابند انجام می‌شود.

مثال:
class Vector:
def init(self, x, y):
self.x = x
self.y = y

def add(self, other):
return Vector(self.x + other.x, self.y + other.y)

def str(self):
return f"({self.x}, {self.y})"

v1 = Vector(2, 3)
v2 = Vector(5, 7)
v3 = v1 + v2
print(v3) # خروجی: (7, 10)

در این مثال، عملگر + برای اشیاء کلاس Vector بازتعریف شده است تا امکان جمع دو بردار را فراهم کند.

### متدهای مخصوص اورلودینگ عملگرها
پایتون متدهای زیادی برای اورلودینگ عملگرها دارد. در زیر چند نمونه آوadd:

- add(self, other) برای +
- sub(self, other) برای -
- mul(self, other) برای *
- truediv(self, other) برای /
- eq(self, other) برای ==
- lt(self, other) برای <
- le(self, other) برای <=

این متدها به ما اجازه می‌دهند که رفتارهای خاصی برای عملگرها تعریف کنیم که با نوع خاصی از اشیاء کار کنند.


💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
✔️ کاربرد yield در پایتون

کلمه کلیدی yield در پایتون برای ساخت توابع ژنراتور (generator functions) استفاده می‌شود. توابع ژنراتور نوع خاصی از توابع هستند که به جای بازگرداندن یک مجموعه مقادیر به طور کامل، مقادیر را به صورت یکی در میان و به صورت تنبل (lazy) تولید می‌کنند.

این قابلیت مزایای متعددی را به همراه دارد، از جمله:

▪️مصرف حافظه کم‌تر: توابع ژنراتور فقط مقدار مورد نیاز را در هر بار فراخوانی تولید می‌کنند، نه کل مجموعه را به طور کامل. این امر آنها را برای کار با مجموعه داده‌های بزرگ یا نامحدود ایده‌آل می‌کند.
▪️سادگی بیشتر: توابع ژنراتور را می‌توان به روشی ساده و مختصر نوشت، بدون نیاز به مدیریت حافظه پیچیده.
▪️قابلیت ترکیب: توابع ژنراتور را می‌توان به راحتی با سایر توابع و اشیاء ژنراتور ترکیب کرد، که آنها را برای ساخت خطوط لوله داده قدرتمند مفید می‌کند.

عملکرد yield به این صورت است که درون یک تابع ژنراتور، از کلمه کلیدی yield برای ارسال مقادیر به بیرون از تابع استفاده می‌شود. هر بار که yield فراخوانی می‌شود، تابع ژنراتور متوقف می‌شود و مقدار بعدی را ذخیره می‌کند.

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

در اینجا چند نمونه از کاربردهای رایج yield در پایتون آورده شده است:

✔️ایجاد توابع شمارش: توابع ژنراتور می‌توانند برای ایجاد توابع شمارش ساده یا پیچیده استفاده شوند، مانند توابعی که اعداد زوج، اعداد فیبوناچی یا اعداد اول را تولید می‌کنند.
✔️خواندن و پردازش فایل‌های بزرگ: توابع ژنراتور می‌توانند برای خواندن و پردازش فایل‌های بزرگ به صورت خط به خط بدون نیاز به بارگذاری کل فایل در حافظه استفاده شوند.
✔️ایجاد خطوط لوله داده: توابع ژنراتور می‌توانند با سایر توابع و اشیاء ژنراتور برای ایجاد خطوط لوله داده قدرتمند برای پردازش داده‌ها به روشی کارآمد ترکیب شوند.


💻 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
✔️ انتقال #تجربه ...

من یه موس دارم که از سال 1392 که لپ تاپم رو گرفتم همراهش بود و من باهاش خیلی احساس راحتی میکنم.

اخیرا اسکرولش دیگه کار نمیکرد و این منو خیلی اذیت میکرد و به فکر یه موس دیگه بودم ...
امروز تصمیم گرفتم بازش کنم که نتیجه این شد🥹

الان باور کنید از روز اول هم روون تر شده :))

💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20😍6🤮1
✔️ انواع مختلف پایگاه‌داده‌ها (Databases)

1. پایگاه‌داده‌های رابطه‌ای (Relational Databases)
- مثال‌ها: MySQL, PostgreSQL, Oracle, SQL Server

2. پایگاه‌داده‌های NoSQL
- انواع مهم:
- پایگاه‌داده‌های کلید-مقدار (Key-Value Stores)
- مثال‌ها: Redis, DynamoDB
- پایگاه‌داده‌های سندگرا (Document Stores)
- مثال‌ها: MongoDB, CouchDB
- پایگاه‌داده‌های ستون-محور (Column-Family Stores)
- مثال‌ها: Cassandra, HBase
- پایگاه‌داده‌های نموداری (Graph Databases)
- مثال‌ها: Neo4j, ArangoDB

3. پایگاه‌داده‌های مبتنی بر حافظه (In-Memory Databases)
- مثال‌ها: Redis, Memcached

4. پایگاه‌داده‌های شی‌گرا (Object-Oriented Databases)
- مثال‌ها: db4o, ObjectDB

5. پایگاه‌داده‌های توزیعی (Distributed Databases)
- مثال‌ها: Apache Cassandra, CockroachDB

6. پایگاه‌داده‌های مبتنی بر زمان (Time-Series Databases)
- مثال‌ها: InfluxDB, TimescaleDB

7. پایگاه‌داده‌های چندمدلی (Multi-Model Databases)
- مثال‌ها: ArangoDB, OrientDB

هر یک از این انواع پایگاه‌داده‌ها دارای ویژگی‌ها و کاربردهای خاصی هستند که آنها را برای برخی از پروژه‌ها و نیازها مناسب‌تر می‌کند.
💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
✔️ وقتی یه فرانت کار میخواد رمز strong انتخاب کنه :))

#fun #فان
💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣28😎2❤‍🔥1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ اگه دنبال یه راه جذاب برای تقویت مهارت‌های کدنویسی هستین، مخزن "App Ideas" توی گیت‌هاب رو از دست ندین!

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

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

مخزن "App Ideas" عالیه برای کسایی که می‌خوان مهارت‌هاشون رو تقویت کنن، چیزهای جدید یاد بگیرن و نمونه‌کارهای جذاب به رزومه‌شون اضافه کنن.

📎 https://github.com/florinpop17/app-ideas

🆔 @Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥62
⌨️ آشنایی با JSON در پایتون

سلام دوستان! امروز می‌خوایم درباره‌ی یکی از پرکاربردترین فرمت‌های تبادل داده، یعنی JSON، و نحوه‌ی استفاده از اون در پایتون صحبت کنیم.

🔹جیسون (JSON) چیست؟

جیسون JSON (JavaScript Object Notation) یک فرمت سبک و استاندارد برای تبادل داده‌هاست که به راحتی توسط انسان‌ها قابل خواندن و نوشتن است و به راحتی توسط ماشین‌ها قابل تجزیه و تحلیل است. JSON معمولاً برای ارسال و دریافت داده‌ها بین سرورها و کلاینت‌ها استفاده می‌شود.

🔹 دیتا تایپ‌های JSON:

1. آبجکت (Object): مشابه دیکشنری در پایتون.
   {
"name": "Ali",
"age": 30
}

2. آرایه (Array): مشابه لیست در پایتون.
   ["apple", "banana", "cherry"]

3. رشته (String): مشابه رشته در پایتون.
   "Hello, World!"

4. عددی (Number): شامل اعداد صحیح و اعشاری.
   123
45.67

5. بولین (Boolean): شامل true و false.
   true
false

6. نال (null): مشابه None در پایتون.
   null


▪️ استفاده از JSON در پایتون:

برای کار با JSON در پایتون، می‌تونید از ماژول json استفاده کنید. دو تابع اصلی در این ماژول وجود داره: json.dumps() برای تبدیل یک آبجکت پایتون به رشته JSON و json.loads() برای تبدیل رشته JSON به یک آبجکت پایتون.

1. تبدیل آبجکت پایتون به JSON:

   import json

data = {
"name": "Ali",
"age": 30,
"is_student": False
}

json_data = json.dumps(data)
print(json_data) # خروجی: {"name": "Ali", "age": 30, "is_student": false}


2. تبدیل JSON به آبجکت پایتون:

   import json

json_data = '{"name": "Ali", "age": 30, "is_student": false}'

data = json.loads(json_data)
print(data) # خروجی: {'name': 'Ali', 'age': 30, 'is_student': False}


با استفاده از این توابع، به راحتی می‌تونید داده‌ها رو بین فرمت JSON و پایتون تبدیل کنید و در پروژه‌های خودتون استفاده کنید.

#Python #JSON #Programming

💻@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
✔️ موقع تبدیل داده های جیسون به پایتون و برعکس دیتاتایپ ها به این صورت تغییر پیدا میکنند.

❤️@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👌91
✔️ کامنتهایی که کارآموز توی پروژه میذاره:

#fun #فان
❤️@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣41👍3
✔️ عبارت "Artificial Intelligence" از کجا آمد؟

جان مک کارتی در سال 1956 میلادی (1335 شمسی) اصطلاح "هوش مصنوعی" را ابداع کرد و زبان برنامه نویسی LISP را توسعه داد که به ابزار استاندارد تحقیقات هوش مصنوعی تبدیل شد.
❤️@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
📱طرف ۲۲ سال تو مایکروسافت کار کرده و بعدش بار و بساطش رو جمع کرده و رفته یه مزرعه پرورش غاز زده و از دنیای تکنولوژی و متعلقاتش خداحافظی کرده.
بازنشستگی به این می‌گن

❤️@Teachify |IranCoderz
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39❤‍🔥4😁4🤯4🐳4👀3
⌨️ مفهوم عبارت زیر در پایتون چیست؟
if __name__ == '__main__':

این عبارت یک بلوک کد را مشخص می‌کند که فقط زمانی که فایل به طور مستقیم به عنوان یک اسکریپت اجرا می‌شود، اجرا می‌شود. این عبارت از یک متغیر خاص به نام __name__ استفاده می‌کند که مقدار آن بستگی به نحوه اجرای فایل دارد:

✔️اگر فایل به طور مستقیم به عنوان یک اسکریپت اجرا شود: مقدار __name__ برابر با '__main__' خواهد بود.
✔️اگر فایل به عنوان یک ماژول توسط یک اسکریپت دیگر import شود: مقدار __name__ برابر با نام آن ماژول خواهد بود.

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


در اینجا یک مثال از نحوه استفاده از عبارت if __name__ == '__main__': آورده شده است:

def main():
print("این کد فقط زمانی که اسکریپت به طور مستقیم اجرا می‌شود اجرا می‌شود.")

if __name__ == '__main__':
main()


در این مثال، تابع main() فقط زمانی که اسکریپت به طور مستقیم اجرا می‌شود چاپ می‌شود. اگر این اسکریپت به عنوان یک ماژول import شود، تابع main() اجرا نمی‌شود.

❤️@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ تصویری که برای ثبت کردنش، فیلمبردار drone خودش رو فدا کرد!

❤️@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
😍15🔥3👍2❤‍🔥1