📝 روز دوم از چالش مرور و خلاصه بندی زبان پایتون:
🟠 ورودی و خروجی (Input/Output)
✅هدف: یادگیری دستورات
امروز یاد میگیریم چطور با کاربر ارتباط برقرار کنیم.
♦️ دستور
✏️ چاپ اطلاعات:
از دستور
🎯 مثال:
این کد، متن
♦️ دستور
💡 گرفتن ورودی از کاربر:
از دستور
🎯 مثال:
این کد نام کاربر رو میپرسه و خوشامد میگه."
♦️ ترکیب
📝 تمرین:
🔍چه اتفاقی میافته؟ امتحان کن!
🧨🧨 نکات مهم: نکات مهم
📚 نکته:
۱. ورودیهایی که با
۲. اگر به عدد نیاز داریم، باید تبدیل کنیم:
❓ تمرین:
کد زیر رو اجرا کن و نتیجه رو حدس بزن:
💡 پاسخ تمرین:
این کد دو عدد رو از کاربر میگیره، به عدد تبدیل میکنه و جمع اونها رو چاپ میکنه.
@python_rd
🟠 ورودی و خروجی (Input/Output)
✅هدف: یادگیری دستورات
input()
و print()
برای تعامل با کاربر.امروز یاد میگیریم چطور با کاربر ارتباط برقرار کنیم.
♦️ دستور
print()
:✏️ چاپ اطلاعات:
از دستور
print()
برای نمایش متن یا اطلاعات استفاده میکنیم. 🎯 مثال:
print("Hello, world!")
این کد، متن
Hello, world!
رو چاپ میکنه."♦️ دستور
input()
💡 گرفتن ورودی از کاربر:
از دستور
input()
برای دریافت اطلاعات استفاده میکنیم. 🎯 مثال:
name = input("What is your name? ")
print("Hello, " + name)
این کد نام کاربر رو میپرسه و خوشامد میگه."
♦️ ترکیب
input()
و print()
📝 تمرین:
age = input("How old are you? ")
print("You are " + age + " years old!")
🔍چه اتفاقی میافته؟ امتحان کن!
🧨🧨 نکات مهم: نکات مهم
📚 نکته:
۱. ورودیهایی که با
input()
گرفته میشوند، همیشه به صورت متن (str
) ذخیره میشوند.۲. اگر به عدد نیاز داریم، باید تبدیل کنیم:
age = int(input("Enter your age: "))
❓ تمرین:
کد زیر رو اجرا کن و نتیجه رو حدس بزن:
num1 = int(input("Enter a number: "))
num2 = int(input("Enter another number: "))
print(num1 + num2)
💡 پاسخ تمرین:
این کد دو عدد رو از کاربر میگیره، به عدد تبدیل میکنه و جمع اونها رو چاپ میکنه.
@python_rd
👍7
جستجوی کلیدواژه معکوس
یک ابزار Python که به شما امکان می دهد تمام صفحات یک وب سایت معین را برای مدت زمان معین دانلود کنید و کلمات کلیدی را جستجو کنید.
https://github.com/lorenzoromani1983/wayback-keyword-search
یک ابزار Python که به شما امکان می دهد تمام صفحات یک وب سایت معین را برای مدت زمان معین دانلود کنید و کلمات کلیدی را جستجو کنید.
https://github.com/lorenzoromani1983/wayback-keyword-search
👍5🙏1
فریمورک جَنگو (Django) یک فریمورک توسعه وب قدرتمند و رایگان بر پایه زبان پایتون است. هدف اصلی آن، توسعه سریع، کدنویسی تمیز و امنیت بالا است.
ویژگیهای کلیدی:
ORM (Object-Relational Mapping): تعامل ساده با دیتابیس بدون نیاز به SQL مستقیم.
Admin Panel خودکار: یک پنل مدیریتی قدرتمند که بهصورت خودکار ساخته میشود.
معماری MTV: شامل Model (مدل)، Template (قالب)، و View (نمایش)، مشابه MVC.
امنیت بالا: محافظت در برابر حملاتی مثل SQL Injection و XSS.
پشتیبانی از توسعه مقیاسپذیر: مناسب برای پروژههای کوچک تا بسیار بزرگ.
کاربردها:
برای ساخت وبسایتها، اپلیکیشنهای تحت وب، فروشگاههای آنلاین، شبکههای اجتماعی و حتی سیستمهای مدیریت محتوا (CMS) استفاده میشود.
@python_rd
ویژگیهای کلیدی:
ORM (Object-Relational Mapping): تعامل ساده با دیتابیس بدون نیاز به SQL مستقیم.
Admin Panel خودکار: یک پنل مدیریتی قدرتمند که بهصورت خودکار ساخته میشود.
معماری MTV: شامل Model (مدل)، Template (قالب)، و View (نمایش)، مشابه MVC.
امنیت بالا: محافظت در برابر حملاتی مثل SQL Injection و XSS.
پشتیبانی از توسعه مقیاسپذیر: مناسب برای پروژههای کوچک تا بسیار بزرگ.
کاربردها:
برای ساخت وبسایتها، اپلیکیشنهای تحت وب، فروشگاههای آنلاین، شبکههای اجتماعی و حتی سیستمهای مدیریت محتوا (CMS) استفاده میشود.
@python_rd
🔥4👍3
python (2).pdf
7.8 MB
🔥10👏2👍1👎1
تکنولوژیهای هوش مصنوعی به تفکیک زمینههای استفاده.
خصوصا در زمینه تحقیق و مقاله نویسی و ویراستاری نباید از هوش مصنوعی غافل شد.
@python_rd
خصوصا در زمینه تحقیق و مقاله نویسی و ویراستاری نباید از هوش مصنوعی غافل شد.
@python_rd
👍2
قدرت مخفی **kwargs 😮
وقتی نمیدونی یه فانکشن قراره چه تعداد یا چه اسمهایی از آرگومانها رو بگیره،
اصلا خوده**kwargs میتونه نجاتدهندهت باشه 😎
چی کار میکنه اصلاً **kwargs؟ 🤔
📤 خروجی:
🧠 چی شد؟
خیلی وقتا این ترفند نجاتت میده... ولی چطوری؟ 🤔
@python_rd
وقتی نمیدونی یه فانکشن قراره چه تعداد یا چه اسمهایی از آرگومانها رو بگیره،
اصلا خوده**kwargs میتونه نجاتدهندهت باشه 😎
چی کار میکنه اصلاً **kwargs؟ 🤔
**kwargs در واقع یه syntax خاص در پایتون هست که به شما اجازه میده تا آرگومانهای نامدار (keyword arguments) رو به صورت دیکشنری به فانکشنها منتقل کنید.حالا بریم مثال اش رو ببینیم👨💻
وقتی میگیم unpacking، منظور اینه که پایتون این دیکشنری رو میگیره و تبدیل میکنه به آرگومانهای جداگانه درون فانکشن. این فرایند باعث میشه که هیچگونه محدودیتی در تعداد آرگومانها نداشته باشیم.
def greet(**kwargs):
for key, value in kwargs.items():
print(f"{key.capitalize()}: {value}")
greet(name="Ali", age=27, city="Tehran")
📤 خروجی:
Name: Ali
Age: 27
City: Tehran
🧠 چی شد؟
خب **kwargs همه آرگومانهای نامدار رو میگیره و میریزه توی یه دیکشنری!💡 ترفند: میتونی حتی **kwargs رو همونجوری که هست به یه فانکشن دیگه پاس بدی!
خیلی کاربردیه برای فانکشنهای داینامیک، APIها یا موقعی که نمیدونی ورودی دقیقاً چیه!
خیلی وقتا این ترفند نجاتت میده... ولی چطوری؟ 🤔
python
def log_data(**data):
save_to_db(**data)
@python_rd
👌5👍1
👍1🔥1
در اینجا چند تمرین با حلقه
### تمرین 1: چاپ اعداد 1 تا 10
صورت مسئله: برنامهای بنویسید که با استفاده از حلقه
توضیح: متغیر
---
### تمرین 2: محاسبه مجموع اعداد 1 تا n
صورت مسئله: برنامهای بنویسید که از کاربر یک عدد
توضیح: برنامه ابتدا عدد
---
### تمرین 3: شمارش معکوس
صورت مسئله: برنامهای بنویسید که از عدد 10 به صورت معکوس تا 1 شمارش کند و هر عدد را چاپ کند.
توضیح: متغیر
---
### تمرین 4: پیدا کردن اولین عدد زوج
صورت مسئله: برنامهای بنویسید که از کاربر اعداد را بگیرد و اولین عدد زوج وارد شده را چاپ کند. اگر کاربر عدد منفی وارد کرد، برنامه متوقف شود.
توضیح: حلقه
---
### تمرین 5: محاسبه فاکتوریل
صورت مسئله: برنامهای بنویسید که فاکتوریل یک عدد
توضیح: متغیر
@python_rd
while
به زبان پایتون قراداد ایم که شامل مسئله، کد و توضیحات است:### تمرین 1: چاپ اعداد 1 تا 10
صورت مسئله: برنامهای بنویسید که با استفاده از حلقه
while
اعداد 1 تا 10 را چاپ کند.i = 1
while i <= 10:
print(i)
i += 1
توضیح: متغیر
i
از 1 شروع میشود. حلقه while
تا زمانی که i
کمتر یا مساوی 10 است ادامه مییابد و در هر تکرار، مقدار i
چاپ شده و یک واحد افزایش مییابد.---
### تمرین 2: محاسبه مجموع اعداد 1 تا n
صورت مسئله: برنامهای بنویسید که از کاربر یک عدد
n
بگیرد و مجموع اعداد از 1 تا n
را با استفاده از حلقه while
محاسبه کند.n = int(input("یک عدد وارد کنید: "))
sum = 0
i = 1
while i <= n:
sum += i
i += 1
print(f"مجموع اعداد از 1 تا {n} برابر است با: {sum}")
توضیح: برنامه ابتدا عدد
n
را از کاربر دریافت میکند. متغیر sum
برای ذخیره مجموع و i
برای شمارش استفاده میشود. حلقه while
تا زمانی که i
کمتر یا مساوی n
است، مقدار i
را به sum
اضافه کرده و i
را افزایش میدهد.---
### تمرین 3: شمارش معکوس
صورت مسئله: برنامهای بنویسید که از عدد 10 به صورت معکوس تا 1 شمارش کند و هر عدد را چاپ کند.
i = 10
while i >= 1:
print(i)
i -= 1
توضیح: متغیر
i
از 10 شروع میشود. حلقه while
تا زمانی که i
بزرگتر یا مساوی 1 است ادامه مییابد و در هر تکرار، مقدار i
چاپ شده و یک واحد کاهش مییابد.---
### تمرین 4: پیدا کردن اولین عدد زوج
صورت مسئله: برنامهای بنویسید که از کاربر اعداد را بگیرد و اولین عدد زوج وارد شده را چاپ کند. اگر کاربر عدد منفی وارد کرد، برنامه متوقف شود.
while True:
num = int(input("یک عدد وارد کنید: "))
if num < 0:
print("عدد منفی وارد شد. برنامه متوقف میشود.")
break
if num % 2 == 0:
print(f"اولین عدد زوج: {num}")
break
توضیح: حلقه
while True
به صورت بینهایت اجرا میشود مگر اینکه با break
متوقف شود. برنامه عدد را از کاربر میگیرد. اگر عدد منفی باشد، برنامه متوقف میشود. اگر عدد زوج باشد (بخشپذیر بر 2)، آن را چاپ کرده و حلقه متوقف میشود.---
### تمرین 5: محاسبه فاکتوریل
صورت مسئله: برنامهای بنویسید که فاکتوریل یک عدد
n
را با استفاده از حلقه while
محاسبه کند.n = int(input("یک عدد وارد کنید: "))
factorial = 1
i = 1
while i <= n:
factorial *= i
i += 1
print(f"فاکتوریل {n} برابر است با: {factorial}")
توضیح: متغیر
factorial
برای ذخیره نتیجه و i
برای شمارش استفاده میشود. حلقه while
تا زمانی که i
کمتر یا مساوی n
است، مقدار i
را در factorial
ضرب کرده و i
را افزایش میدهد.@python_rd
👍5🙏1
🚀 سایتون (Cython): پلی میان سادگی پایتون و قدرت سرعت C
در دنیای برنامهنویسی، پایتون به خاطر سادگی و انعطافپذیریش همیشه محبوب بوده، اما وقتی پای سرعت وسط میآید، زبانهایی مثل C یک سر و گردن بالاترند. اینجاست که سایتون (Cython) وارد میشود تا قدرت و سرعت C را به دنیای پایتون تزریق کند و به شما اجازه دهد بدون ترک راحتی پایتون، کدهایی سریع و بهینه بنویسید.
🧩 سایتون چیست؟
⚙️ معماری و نحوه عملکرد سایتون
💎 مزایای تخصصی سایتون
🎯 کاربردهای حرفهای سایتون
📝 نمونه کد سایتون
در این مثال، با تعیین نوع دادهها، حلقه با سرعت بسیار بیشتری نسبت به معادل پایتونی اجرا میشود.
🌟 جمعبندی
سایتون ابزاری است که به شما اجازه میدهد سادگی و خوانایی پایتون را حفظ کنید و همزمان به سرعت و قدرت C دست پیدا کنید. اگر به دنبال نوشتن کدهای سریع، بهینه و حرفهای هستید، سایتون همان پلی است که شما را از دنیای راحت پایتون به دنیای سرعت C میرساند
@python_rd
در دنیای برنامهنویسی، پایتون به خاطر سادگی و انعطافپذیریش همیشه محبوب بوده، اما وقتی پای سرعت وسط میآید، زبانهایی مثل C یک سر و گردن بالاترند. اینجاست که سایتون (Cython) وارد میشود تا قدرت و سرعت C را به دنیای پایتون تزریق کند و به شما اجازه دهد بدون ترک راحتی پایتون، کدهایی سریع و بهینه بنویسید.
🧩 سایتون چیست؟
سایتون یک زبان برنامهنویسی و کامپایلر است که کدهای پایتون شما را با اضافه کردن تایپهای استاتیک به کد C تبدیل میکند.
فایلهای سایتون با پسوند .pyx ذخیره میشوند و میتوانند هم کد پایتون و هم کد C را در کنار هم داشته باشند.
با سایتون، میتوانید بخشهای حساس به سرعت را بهینه کنید و از امکانات سطح پایین C بهره ببرید، بدون اینکه سادگی پایتون را از دست بدهید.
⚙️ معماری و نحوه عملکرد سایتون
نوشتن کد سایتون:
کد خود را در فایل .pyx مینویسید. میتوانید از کلمات کلیدی مثل cdef و cpdef برای تعیین نوع دادهها استفاده کنید.
کامپایل به C:
سایتون کد را به C یا ++C تبدیل میکند.
ساخت ماژول پایتونی:
با کمک کامپایلر (مانند gcc)، کد C به یک ماژول قابل import در پایتون تبدیل میشود.
استفاده در پایتون:
ماژول تولیدشده را مثل هر کتابخانه پایتونی دیگر در پروژه خود استفاده میکنید.
💎 مزایای تخصصی سایتون
🚀 افزایش سرعت اجرا:
با تعیین نوع دادهها و تبدیل حلقههای سنگین به کد C، سرعت اجرا تا چندین برابر افزایش مییابد.
🔗 دسترسی مستقیم به کتابخانههای C:
سایتون به شما اجازه میدهد مستقیماً با توابع و ساختارهای C کار کنید؛ ایدهآل برای پروژههای علمی و مهندسی.
🤝 سازگاری کامل با پایتون:
سایتون با نسخههای مختلف پایتون سازگار است و به راحتی با سایر ماژولها تعامل دارد.
🧠 کاهش مصرف حافظه:
با مدیریت بهتر نوع دادهها و استفاده از ساختارهای C، مصرف حافظه بهینهتر میشود.
🎯 کاربردهای حرفهای سایتون
توسعه کتابخانههای محاسباتی مثل SciPy و Pandas
پردازش تصویر و ویدئو با سرعت بالا
یادگیری ماشین و هوش مصنوعی روی دادههای بزرگ
پروژههای بیوانفورماتیک و شبیهسازیهای علمی
📝 نمونه کد سایتون
def sum_cython(int n):
cdef int i, s = 0
for i in range(n):
s += i
return s
در این مثال، با تعیین نوع دادهها، حلقه با سرعت بسیار بیشتری نسبت به معادل پایتونی اجرا میشود.
🌟 جمعبندی
سایتون ابزاری است که به شما اجازه میدهد سادگی و خوانایی پایتون را حفظ کنید و همزمان به سرعت و قدرت C دست پیدا کنید. اگر به دنبال نوشتن کدهای سریع، بهینه و حرفهای هستید، سایتون همان پلی است که شما را از دنیای راحت پایتون به دنیای سرعت C میرساند
@python_rd
👍5