آموزش برنامه نویسی پایتون و Django
🔵 کوییز پایتون ۲ – خروجی max(“Infinity”) چه خواهد بود؟ جواب صحیح را انتخاب کنید: a)0 b)f c)8 d)I e)y جواب: گزینه آخر یعنی y ——————————————- آدرس کانال: @tu_24 آدرس وبسایت: Tutorial24.ir
🔵 توضیح: بزرگ ترین عنصر را بر می گرداند. در اینجا که رشته (مجموعه ای از کاراکترها را داریم) داریم بر اساس ترتیب نزولی حروف الفبا، بزرگترین را در نظر بگیرید. (البته دلیل بزرگ تر بودن بخاطر مقدار بیشتر کد عددی هر کاراکتر در سیستم های کامپیوتری است) .
یا مثلا فرض کنید این بار به جای کاراکتر از بین اعداد بیشترین مقدار را به صورت زیر بخواهیم مشخص کنیم:
خروجی 10000000000 خواهد شد.
یا مثلا فرض کنید این بار به جای کاراکتر از بین اعداد بیشترین مقدار را به صورت زیر بخواهیم مشخص کنیم:
print(max(123456789,45,10000000000))
خروجی 10000000000 خواهد شد.
🔵 مثال 34 پایتون – برنامه ای به پایتون بنویسید که دو عدد صحیح را جمع کند اما اگر مجموع به دست آمده بین 30 تا 40 بود مقدار 50 را بازگرداند
🟢 کد برنامه:
🟣 توضیح کد
این کد یک تابع ساده به نام calculate_sum ایجاد میکند که دو عدد به عنوان ورودی میگیرد و مجموع آن دو عدد را محاسبه میکند. سپس با استفاده از یک شرط، مشخص میکند که مجموع آنها در بازهای از 30 تا 39 قرار دارد یا خیر. اگر مجموع در این بازه باشد، تابع مقدار 50 را برمیگرداند، در غیر این صورت مقدار واقعی مجموع آن دو عدد را برمیگرداند.
تابع calculate_sum با دو پارامتر x و y تعریف شده است.
در خط 2، مجموع دو ورودی x و y به وسیله متغیر result محاسبه میشود.
در خط 3، با استفاده از یک عبارت شرطی، بررسی میشود که آیا result در بازه 30 تا 39 قرار دارد یا خیر.
اگر شرط درست باشد (یعنی result در این بازه باشد)، تابع مقدار 50 را برمیگرداند (در خط 4).
در غیر این صورت (شرط درست نباشد)، تابع مقدار واقعی result را برمیگرداند (در خط 6).
سپس در بخش اصلی کد، تابع calculate_sum با مقادیر مختلف فراخوانی شده و نتایج چاپ میشود:
calculate_sum(22, 29) فراخوانی میشود و چون مجموع این دو عدد در بازه 30 تا 39 نیست، مقدار واقعی مجموع (51) چاپ میشود.
calculate_sum(31, 38) فراخوانی میشود و چون مجموع این دو عدد در بازه 30 تا 39 نیست، مقدار 69 چاپ میشود.
(11, 22) فراخوانی میشود و چون مجموع این دو عدد در بازه 30 تا 39 است، مقدار 50 چاپ میشود.
به این ترتیب، تابع calculate_sum مجموع دو عدد را محاسبه میکند و در صورتی که این مجموع در بازه 30 تا 39 باشد، مقدار 50 را برمیگرداند.
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🟢 کد برنامه:
def calculate_sum(x, y):
result = x + y
if result in range(30, 40):
return 50
else:
return result
print(calculate_sum(22, 29))
print(calculate_sum(31, 38))
print(calculate_sum(11, 22))
🟣 توضیح کد
این کد یک تابع ساده به نام calculate_sum ایجاد میکند که دو عدد به عنوان ورودی میگیرد و مجموع آن دو عدد را محاسبه میکند. سپس با استفاده از یک شرط، مشخص میکند که مجموع آنها در بازهای از 30 تا 39 قرار دارد یا خیر. اگر مجموع در این بازه باشد، تابع مقدار 50 را برمیگرداند، در غیر این صورت مقدار واقعی مجموع آن دو عدد را برمیگرداند.
تابع calculate_sum با دو پارامتر x و y تعریف شده است.
در خط 2، مجموع دو ورودی x و y به وسیله متغیر result محاسبه میشود.
در خط 3، با استفاده از یک عبارت شرطی، بررسی میشود که آیا result در بازه 30 تا 39 قرار دارد یا خیر.
اگر شرط درست باشد (یعنی result در این بازه باشد)، تابع مقدار 50 را برمیگرداند (در خط 4).
در غیر این صورت (شرط درست نباشد)، تابع مقدار واقعی result را برمیگرداند (در خط 6).
سپس در بخش اصلی کد، تابع calculate_sum با مقادیر مختلف فراخوانی شده و نتایج چاپ میشود:
calculate_sum(22, 29) فراخوانی میشود و چون مجموع این دو عدد در بازه 30 تا 39 نیست، مقدار واقعی مجموع (51) چاپ میشود.
calculate_sum(31, 38) فراخوانی میشود و چون مجموع این دو عدد در بازه 30 تا 39 نیست، مقدار 69 چاپ میشود.
(11, 22) فراخوانی میشود و چون مجموع این دو عدد در بازه 30 تا 39 است، مقدار 50 چاپ میشود.
به این ترتیب، تابع calculate_sum مجموع دو عدد را محاسبه میکند و در صورتی که این مجموع در بازه 30 تا 39 باشد، مقدار 50 را برمیگرداند.
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🔵 کوییز پایتون 3 – مقادیر در bytearray باید چه محدوده ای integer ها باشند؟
🟣 مقادیر در bytearray باید چه محدوده ای integer ها باشند؟
گزینه صحیح را انتخاب کنید:
0-255
0-1024
0-512
0-63
جواب:
0-255
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🟣 مقادیر در bytearray باید چه محدوده ای integer ها باشند؟
گزینه صحیح را انتخاب کنید:
0-255
0-1024
0-512
0-63
جواب:
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🔵 مثال 35 پایتون – برنامه ای به پایتون بنویسید که که اگر مقدار دو عدد برابر است یا مجموع آنها یا تفریق آنها 3 است مقدار true را باز گرداند.
🟢 کد برنامه
🟣 توضیح کد
این کد یک تابع به نام is_special_condition_met تعریف میکند که دو عدد را به عنوان ورودی دریافت میکند و یک شرط خاص را بررسی میکند. این شرط به صورت زیر است:
اگر عدد اول و عدد دوم برابر باشند (num1 == num2)
یا اختلاف مطلق دو عدد برابر با 3 باشد (abs(num1 – num2) == 3)
یا جمع دو عدد برابر با 3 باشد (num1 + num2) == 3)
اگر حداقل یکی از این شرایط برقرار باشد، تابع True را برمیگرداند؛ در غیر این صورت False را برمیگرداند.
سپس، تعدادی تست برای این تابع انجام میدهیم و نتایج را چاپ میکنیم:
is_special_condition_met(5, 2)
با توجه به شرط دوم (abs(5 – 2) == 3)، True را چاپ میکند.
is_special_condition_met(7, 3)
با توجه به شرط سوم (7 + 3 == 10)، False را چاپ میکند.
is_special_condition_met(7, 7)
زیرا دو عدد برابر هستند (شرط اول)، True را چاپ میکند.
is_special_condition_met(19, 9)
هیچ یک از شرایط برقرار نیست، بنابراین False را چاپ میکند.
is_special_condition_met(56, 78)
هیچ یک از شرایط برقرار نیست، بنابراین False را چاپ میکند.
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🟢 کد برنامه
def is_special_condition_met(num1, num2):
if num1 == num2 or abs(num1 - num2) == 3 or (num1 + num2) == 3:
return True
else:
return False
print(is_special_condition_met(5, 2))
print(is_special_condition_met(7, 3))
print(is_special_condition_met(7,7))
print(is_special_condition_met(19, 9))
print(is_special_condition_met(56, 78))
🟣 توضیح کد
این کد یک تابع به نام is_special_condition_met تعریف میکند که دو عدد را به عنوان ورودی دریافت میکند و یک شرط خاص را بررسی میکند. این شرط به صورت زیر است:
اگر عدد اول و عدد دوم برابر باشند (num1 == num2)
یا اختلاف مطلق دو عدد برابر با 3 باشد (abs(num1 – num2) == 3)
یا جمع دو عدد برابر با 3 باشد (num1 + num2) == 3)
اگر حداقل یکی از این شرایط برقرار باشد، تابع True را برمیگرداند؛ در غیر این صورت False را برمیگرداند.
سپس، تعدادی تست برای این تابع انجام میدهیم و نتایج را چاپ میکنیم:
is_special_condition_met(5, 2)
با توجه به شرط دوم (abs(5 – 2) == 3)، True را چاپ میکند.
is_special_condition_met(7, 3)
با توجه به شرط سوم (7 + 3 == 10)، False را چاپ میکند.
is_special_condition_met(7, 7)
زیرا دو عدد برابر هستند (شرط اول)، True را چاپ میکند.
is_special_condition_met(19, 9)
هیچ یک از شرایط برقرار نیست، بنابراین False را چاپ میکند.
is_special_condition_met(56, 78)
هیچ یک از شرایط برقرار نیست، بنابراین False را چاپ میکند.
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🔵 مثال 36 پایتون – برنامه ای به پایتون بنویسید که دو عدد را اگر از نوع int باشند با هم جمع کند در غیر این صورت پیغامی دهد که این دو عدد integer نیستند
🟢 کد برنامه
🟣 توضیح کد
این کد یک تابع ساده با نام add_two_numbers ایجاد میکند که دو عدد را به عنوان ورودی میگیرد و جمع آنها را محاسبه میکند. اگر ورودیها نهایتاً از نوع integer (عدد صحیح) نباشند، تابع یک پیام خطای مناسب چاپ میکند.
در اینجا نحوه عملکرد کد توضیح داده میشود:
تابع add_two_numbers دو ورودی به نام num1 و num2 دریافت میکند.
با استفاده از isinstance بررسی میشود که ورودیها واقعاً از نوع integer هستند یا نه. اگر ورودیها نوع integer نباشد، تابع پیام “Inputs must be integers!” را چاپ کرده و اجرای خود را خاتمه میدهد.
در صورتی که ورودیها از نوع integer باشند، آنها را با هم جمع میکند و نتیجه را به عنوان خروجی باز میگرداند.
در نهایت، تابع با ورودیهای متفاوت فراخوانی میشود و نتایج چاپ میشوند.
نمونههایی از اجرای کد:
add_two_numbers(25, 30):
نتیجه: 55
add_two_numbers(21, 15.32):
پیام خطا: “Inputs must be integers!”
add_two_numbers('65', 4):
پیام خطا: “Inputs must be integers!”
add_two_numbers('55', '1'):
پیام خطا: “Inputs must be integers!”
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🟢 کد برنامه
def add_two_numbers(num1, num2):
if not (isinstance(num1, int) and isinstance(num2, int)):
return "Inputs must be integers!"
return num1 + num2
print(add_two_numbers(25, 30))
print(add_two_numbers(21, 15.32))
print(add_two_numbers('65', 4))
print(add_two_numbers('55', '1'))
🟣 توضیح کد
این کد یک تابع ساده با نام add_two_numbers ایجاد میکند که دو عدد را به عنوان ورودی میگیرد و جمع آنها را محاسبه میکند. اگر ورودیها نهایتاً از نوع integer (عدد صحیح) نباشند، تابع یک پیام خطای مناسب چاپ میکند.
در اینجا نحوه عملکرد کد توضیح داده میشود:
تابع add_two_numbers دو ورودی به نام num1 و num2 دریافت میکند.
با استفاده از isinstance بررسی میشود که ورودیها واقعاً از نوع integer هستند یا نه. اگر ورودیها نوع integer نباشد، تابع پیام “Inputs must be integers!” را چاپ کرده و اجرای خود را خاتمه میدهد.
در صورتی که ورودیها از نوع integer باشند، آنها را با هم جمع میکند و نتیجه را به عنوان خروجی باز میگرداند.
در نهایت، تابع با ورودیهای متفاوت فراخوانی میشود و نتایج چاپ میشوند.
نمونههایی از اجرای کد:
add_two_numbers(25, 30):
نتیجه: 55
add_two_numbers(21, 15.32):
پیام خطا: “Inputs must be integers!”
add_two_numbers('65', 4):
پیام خطا: “Inputs must be integers!”
add_two_numbers('55', '1'):
پیام خطا: “Inputs must be integers!”
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🔵 تاریخچه پایتون
🟣 داستان [1] پایتون از اواخر سال ۱۹۸۲ میلادی آغاز میشود، سالی که آقای روسوم پس از پایان دانشگاه به عنوان یک برنامهنویس وارد تیم توسعه زبان ABC در مرکز CWI واقع در آمستردام هلند میشود. ABC یک زبان برنامهنویسی تفسیرشده (Interpreted) با اهداف آموزشی است که از اواخر دهه هفتاد میلادی، تحت پروژهای در این مرکز آغاز شده بود. وی چهار یا پنج سال بعد، زمانی که از پروژه زبان ABC نتیجه مطلوب حاصل نمیگردد از آن خارج و به تیم توسعه سیستم عامل آمیب میپیوندد. این موضوع از آن جهت دارای اهمیت است که در هنگام کار بر روی این سیستم عامل بود که آقای روسوم به فکر ایجاد یک زبان اسکریپتی (Scripting Language) جدید میافتد.
در دسامبر سال ۱۹۸۹ میلادی، تعطیلات کریسمس فرصتی میشود تا آقای روسوم به ایده سرگرم کننده [2] خود بپردازد. البته پس از آن نیز زمان زیادی از وقتهای آزاد خود را برای پیشرفت پروژهای که ”Python“ نامیده بود صرف میکند. در این مسیر، تجربه کار بر روی زبان ABC و همینطور مطالعات وی بر روی زبان Modula-3 نقش فراوانی داشته است، در واقع او یک نسخه شخصی از بخشهای مورد علاقه خود از ABC ایجاد نمود. او یک ماشین مجازی ساده، یک تجزیهکننده (پارسرParser) ساده و یک سیستم زماناجرا (Runtime System) ساده ایجاد کرد؛ یک زبان با نحو (سینتکس Syntax) اولیه که از تورفتگی (Indentation) برای بلاکبندی بهره میبرد و از انواع داده [3] دیکشنری، لیست، رشته و اعداد پشتیبانی میکرد و بر خلاف ABC توسعهپذیر میبود.
یک سال بعد آقای روسوم از پایتون در پروژه آمیب استفاده میکند؛ نتیجه مطلوب و نیز بازخورد آن در بین همکارانش موجب میشود تا وی به بسیاری از بهینه سازیهای اولیه در پایتون اقدام نماید. این روند ادامه مییابد تا اینکه سرانجام در ماه دوم از سال ۱۹۹۱ میلادی این زبان را با نسخه 0.9.0 و تحت پروانهای مشابه با پروانه MIT از طریق یکی از «گروههای خبری» (یوزنت Usenet) با عنوان alt.sources منتشر میسازد که با استقبال بالایی نیز رو به رو میگردد.
"Python version 0.9.0 is released"
منشا انتخاب نام پایتون توسط آقای روسوم برخلاف تصور عمومی یا آنچه که از لوگوی آن مشاهده میشود به نوع خاصی از مار مربوط نمیشود!؛ در حقیقت این نام برگرفته از یک سریال کمدی تولید انگلستان با عنوان ”Monty Python’s Flying Circus“ میباشد که پخش اصلی آن در طی سالهای ۱۹۶۹ تا ۱۹۷۴ میلادی از شبکه BBC One بوده است.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
🟣 داستان [1] پایتون از اواخر سال ۱۹۸۲ میلادی آغاز میشود، سالی که آقای روسوم پس از پایان دانشگاه به عنوان یک برنامهنویس وارد تیم توسعه زبان ABC در مرکز CWI واقع در آمستردام هلند میشود. ABC یک زبان برنامهنویسی تفسیرشده (Interpreted) با اهداف آموزشی است که از اواخر دهه هفتاد میلادی، تحت پروژهای در این مرکز آغاز شده بود. وی چهار یا پنج سال بعد، زمانی که از پروژه زبان ABC نتیجه مطلوب حاصل نمیگردد از آن خارج و به تیم توسعه سیستم عامل آمیب میپیوندد. این موضوع از آن جهت دارای اهمیت است که در هنگام کار بر روی این سیستم عامل بود که آقای روسوم به فکر ایجاد یک زبان اسکریپتی (Scripting Language) جدید میافتد.
در دسامبر سال ۱۹۸۹ میلادی، تعطیلات کریسمس فرصتی میشود تا آقای روسوم به ایده سرگرم کننده [2] خود بپردازد. البته پس از آن نیز زمان زیادی از وقتهای آزاد خود را برای پیشرفت پروژهای که ”Python“ نامیده بود صرف میکند. در این مسیر، تجربه کار بر روی زبان ABC و همینطور مطالعات وی بر روی زبان Modula-3 نقش فراوانی داشته است، در واقع او یک نسخه شخصی از بخشهای مورد علاقه خود از ABC ایجاد نمود. او یک ماشین مجازی ساده، یک تجزیهکننده (پارسرParser) ساده و یک سیستم زماناجرا (Runtime System) ساده ایجاد کرد؛ یک زبان با نحو (سینتکس Syntax) اولیه که از تورفتگی (Indentation) برای بلاکبندی بهره میبرد و از انواع داده [3] دیکشنری، لیست، رشته و اعداد پشتیبانی میکرد و بر خلاف ABC توسعهپذیر میبود.
یک سال بعد آقای روسوم از پایتون در پروژه آمیب استفاده میکند؛ نتیجه مطلوب و نیز بازخورد آن در بین همکارانش موجب میشود تا وی به بسیاری از بهینه سازیهای اولیه در پایتون اقدام نماید. این روند ادامه مییابد تا اینکه سرانجام در ماه دوم از سال ۱۹۹۱ میلادی این زبان را با نسخه 0.9.0 و تحت پروانهای مشابه با پروانه MIT از طریق یکی از «گروههای خبری» (یوزنت Usenet) با عنوان alt.sources منتشر میسازد که با استقبال بالایی نیز رو به رو میگردد.
"Python version 0.9.0 is released"
منشا انتخاب نام پایتون توسط آقای روسوم برخلاف تصور عمومی یا آنچه که از لوگوی آن مشاهده میشود به نوع خاصی از مار مربوط نمیشود!؛ در حقیقت این نام برگرفته از یک سریال کمدی تولید انگلستان با عنوان ”Monty Python’s Flying Circus“ میباشد که پخش اصلی آن در طی سالهای ۱۹۶۹ تا ۱۹۷۴ میلادی از شبکه BBC One بوده است.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
🔵 مثال 37 پایتون – برنامه ای به پایتون بنویسید که نام، سن و آدرس فرد را در سه خط مجزا نمایش دهد.
🟣 کد برنامه
🟢 توضیح کد
این کد یک تابع به نام display_personal_details ایجاد میکند و سپس از این تابع برای نمایش اطلاعات شخصی یک فرد استفاده میکند. در ادامه توضیحاتی در مورد هر بخش از کد آمده است:
تعریف تابع:
def display_personal_details(name, age, address):
در این بخش، یک تابع به نام display_personal_details تعریف شده است که سه ورودی (name، age و address) را به عنوان پارامترهای ورودی میپذیرد.
چاپ اطلاعات شخصی:
print("Name: {}\nAge: {}\nAddress: {}".format(name, age, address))
در این بخش، اطلاعات شخصی چاپ میشود. format برای جایگذاری مقادیر name، age و address در رشته متنی مورد استفاده قرار میگیرد. این کد از \n برای ایجاد یک خط جدید بعد از هر مقدار نام و سن و آدرس استفاده میکند.
تعریف متغیرها:
name = "Ali"
age = 25
address = "Tehran, Iran"
در این بخش، متغیرهای name، age و address با مقادیر مشخص شده (نام، سن و آدرس) مقداردهی اولیه میشوند.
فراخوانی تابع:
display_personal_details(name, age, address)
در این بخش، تابع display_personal_details با ارسال مقادیر متغیرهای name، age و address به عنوان ورودی، فراخوانی میشود. این کار باعث چاپ اطلاعات شخصی مرتبط با فرد با مقادیر مشخص شده میشود.
اگر کد اجرا شود، این خروجی را تولید میکند:
Name: Ali
Age: 25
Address: Tehran, Iran
———————————-
آدرس کانال: @tu_24
آدرس وبسایت: tutorial24.ir
🟣 کد برنامه
def display_personal_details(name, age, address):
print("Name: {}\nAge: {}\nAddress: {}".format(name, age, address))
name = "Ali"
age = 25
address = "Tehran, Iran"
display_personal_details(name, age, address)
🟢 توضیح کد
این کد یک تابع به نام display_personal_details ایجاد میکند و سپس از این تابع برای نمایش اطلاعات شخصی یک فرد استفاده میکند. در ادامه توضیحاتی در مورد هر بخش از کد آمده است:
تعریف تابع:
def display_personal_details(name, age, address):
در این بخش، یک تابع به نام display_personal_details تعریف شده است که سه ورودی (name، age و address) را به عنوان پارامترهای ورودی میپذیرد.
چاپ اطلاعات شخصی:
print("Name: {}\nAge: {}\nAddress: {}".format(name, age, address))
در این بخش، اطلاعات شخصی چاپ میشود. format برای جایگذاری مقادیر name، age و address در رشته متنی مورد استفاده قرار میگیرد. این کد از \n برای ایجاد یک خط جدید بعد از هر مقدار نام و سن و آدرس استفاده میکند.
تعریف متغیرها:
name = "Ali"
age = 25
address = "Tehran, Iran"
در این بخش، متغیرهای name، age و address با مقادیر مشخص شده (نام، سن و آدرس) مقداردهی اولیه میشوند.
فراخوانی تابع:
display_personal_details(name, age, address)
در این بخش، تابع display_personal_details با ارسال مقادیر متغیرهای name، age و address به عنوان ورودی، فراخوانی میشود. این کار باعث چاپ اطلاعات شخصی مرتبط با فرد با مقادیر مشخص شده میشود.
اگر کد اجرا شود، این خروجی را تولید میکند:
Name: Ali
Age: 25
Address: Tehran, Iran
———————————-
آدرس کانال: @tu_24
آدرس وبسایت: tutorial24.ir
🔵 توصیفی کوتاه از پایتون
🟣 سادگی و خوانایی از ویژگیهای بارز زبان برنامهنویسی پایتون است، آنچنان ساده که حتی کودکان نیز قادر به آموختن آن هستند و قدرت در کنار این سادگی و خوانایی، معجزه پایتون میباشد. از نگاه هر برنامهنویسی، برنامههای پایتون مجموعهای از سطرهای منظم هستند، بدون هیچ آشفتگی و پیچیدگی. این زبان به جای این که برنامهنویس را درگیر فهم ساختارش کند، به ابزاری قدرتمند برای تحقق تمام آنچه که در فکر اوست تبدیل میشود، اگر در اجرای نخست کدهای پایتون خود هیچ خطایی نگرفتید؛ تعجب نکنید! و اگر هم گرفتید، خوشحال باشید!. این زبان به شدت دوست داشتنی است 😍. ilovepython#
زبان برنامهنویسی پایتون همانطور که اشاره شد در سال ۱۹۹۱ میلادی توسط آقای روسوم خلق شده و توسعه آن نیز زیر نظر مستقیم اوست. آقای روسوم زاده سال ۱۹۵۶ میلادی و نخستین دارنده عنوان BDFL (دیکتاتور خیرخواه جاویدان) است. او پس از حضور در شرکتهای گوگل و دراپباکس، هم اکنون (سال 2023) در مایکروسافت مشغول به فعالیت است. (صفحه شخصی)
توسعه پایتون با عصر توسعه و محبوبیت زبانهای متن باز دیگری همچون Perl و Ruby هم زمان بوده که این امر به پیشرفت و توسعه آن کمک زیادی کرده است.
پایتون یک جامعه کاربری بسیار بزرگ و پویا به همراه خود دارد که عامل پیشرفت و توسعه بسیار مهمی برای هر زبان برنامهنویسی به شمار میرود. این جامعه هر ساله با برپایی همایشهای گوناگون در سراسر جهان به تبادل آموختهها میپردازد. یکی از رایجترین این همایشها PyCon (پایکان) میباشد که هر ساله در سراسر جهان برگزار میشود.
این زبان علاوه بر اینکه در توسعه برنامههای کاربردی زیادی به کار گرفته شده است، توسط شرکت یا سازمانهای مطرح زیادی نیز در امور گوناگون در حال استفاده است که از جمله این موارد میتوان به: reddit ،Pinterest ،Instagram (شبکههای اجتماعی) / Google (موتور جستجوگر و نیز سرویسهای یوتیوب و نقشه) / Yahoo (سرویس نقشه) / IBM ،Intel ،Cisco ،Seagate (تست سختافزار) / Netflix ،Spotify ،Uber ،Facebook ،Amazon ،Microsoft (تحلیل داده و ماشین لرنینگ) / Dropbox (سرویس میزبانی ابری فایل) / EVE Online (بازیهای آنلاین) / NASA ،Los Alamos (امور علمی) / iRobot (رباتیک) / Pixar ،Industrial Light and Magic ،Disney (ساخت فیلمهای انیمیشن) / BitTorrent (اشتراک فایل نظیر به نظیر) / CIA (وبسایت) / PayPal (سیستم انتقال پول آنلاین) / Mercurial (سیستم کنترل نسخه) / ESRI (نقشهبرداری در برنامه GIS) و بسیاری دیگر [4] اشاره نمود. (پایتون در stackshare)
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
🟣 سادگی و خوانایی از ویژگیهای بارز زبان برنامهنویسی پایتون است، آنچنان ساده که حتی کودکان نیز قادر به آموختن آن هستند و قدرت در کنار این سادگی و خوانایی، معجزه پایتون میباشد. از نگاه هر برنامهنویسی، برنامههای پایتون مجموعهای از سطرهای منظم هستند، بدون هیچ آشفتگی و پیچیدگی. این زبان به جای این که برنامهنویس را درگیر فهم ساختارش کند، به ابزاری قدرتمند برای تحقق تمام آنچه که در فکر اوست تبدیل میشود، اگر در اجرای نخست کدهای پایتون خود هیچ خطایی نگرفتید؛ تعجب نکنید! و اگر هم گرفتید، خوشحال باشید!. این زبان به شدت دوست داشتنی است 😍. ilovepython#
زبان برنامهنویسی پایتون همانطور که اشاره شد در سال ۱۹۹۱ میلادی توسط آقای روسوم خلق شده و توسعه آن نیز زیر نظر مستقیم اوست. آقای روسوم زاده سال ۱۹۵۶ میلادی و نخستین دارنده عنوان BDFL (دیکتاتور خیرخواه جاویدان) است. او پس از حضور در شرکتهای گوگل و دراپباکس، هم اکنون (سال 2023) در مایکروسافت مشغول به فعالیت است. (صفحه شخصی)
توسعه پایتون با عصر توسعه و محبوبیت زبانهای متن باز دیگری همچون Perl و Ruby هم زمان بوده که این امر به پیشرفت و توسعه آن کمک زیادی کرده است.
پایتون یک جامعه کاربری بسیار بزرگ و پویا به همراه خود دارد که عامل پیشرفت و توسعه بسیار مهمی برای هر زبان برنامهنویسی به شمار میرود. این جامعه هر ساله با برپایی همایشهای گوناگون در سراسر جهان به تبادل آموختهها میپردازد. یکی از رایجترین این همایشها PyCon (پایکان) میباشد که هر ساله در سراسر جهان برگزار میشود.
این زبان علاوه بر اینکه در توسعه برنامههای کاربردی زیادی به کار گرفته شده است، توسط شرکت یا سازمانهای مطرح زیادی نیز در امور گوناگون در حال استفاده است که از جمله این موارد میتوان به: reddit ،Pinterest ،Instagram (شبکههای اجتماعی) / Google (موتور جستجوگر و نیز سرویسهای یوتیوب و نقشه) / Yahoo (سرویس نقشه) / IBM ،Intel ،Cisco ،Seagate (تست سختافزار) / Netflix ،Spotify ،Uber ،Facebook ،Amazon ،Microsoft (تحلیل داده و ماشین لرنینگ) / Dropbox (سرویس میزبانی ابری فایل) / EVE Online (بازیهای آنلاین) / NASA ،Los Alamos (امور علمی) / iRobot (رباتیک) / Pixar ،Industrial Light and Magic ،Disney (ساخت فیلمهای انیمیشن) / BitTorrent (اشتراک فایل نظیر به نظیر) / CIA (وبسایت) / PayPal (سیستم انتقال پول آنلاین) / Mercurial (سیستم کنترل نسخه) / ESRI (نقشهبرداری در برنامه GIS) و بسیاری دیگر [4] اشاره نمود. (پایتون در stackshare)
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
👍1
🔵 مفسر زبان پایتون
🟣 تنها زبان قابل فهم و اجرا برای هر ماشین (یا رایانه)، زبان ماشین (Machine Language) خاص آن است که متناسب با معماری پردازنده آن تعیین میشود. درک و پیادهسازی این زبان برای انسان کاری طاقت فرساست، از این رو با پیشرفت دانش پردازش داده، زبانهای دیگر برنامهنویسی که به زبان انسان نزدیکتر هستند، توسعه یافته که تمامی آنها پیش از اجرا میبایست به زبان ماشین ترجمه شوند. چگونگی فرآیند این ترجمه، عاملی است که سبب تفاوت زبانهای برنامهنویسی و کاربرد آنها شده است. عمل ترجمه برای کدهای اسمبلی توسط اسمبلر (Assembler) و برای باقی زبانها توسط کامپایلر (Compiler) یا مفسر (Interpreter) انجام میپذیرد.
یک کامپایلر (در زبانهای کامپایلری مانند C) تمامی سطرهای سورس کد برنامه را به صورت یکجا خوانده و سپس با ساخت یک فایل جدید و مستقل از سورس کد با نام «کد مقصد یا آبجکت کد» (Object Code) یا فایل اجرایی (Executable) عمل ترجمه به زبان ماشین را پایان میبخشد. خروجی حاصل از کامپایلر توانایی هر چند بار اجرا در رایانه مقصد، بدون نیاز به کامپایل دوباره را دارد، اما فاقد حملپذیری بوده و برای اجرا در ماشینی با معماری متفاوت نیازمند کامپایل دوباره با یک کامپایلر سازگار میباشد. البته این ضعف در زبانهایی به مانند Java با ایجاد بایتکد (ByteCode) کاملا از بین رفته است. در طرفی دیگر، یک مفسر (در زبانهای تفسیری) سورس کد برنامه را به صورت سطر به سطر میخواند و هر سطر را به صورت جداگانه به زبان ماشین ترجمه و سپس بلافاصله آن را اجرا میکند. به این صورت که هنگامی یک سطر در حال اجراست در همان لحظه سطر بعدی در حال ترجمه به زبان ماشین میباشد. برنامههای نوشته شده با زبانهای برنامهنویسی تفسیری برای هر بار اجرا در رایانه هدف نیاز به تفسیر دوباره دارند. این تفاوت عملکرد گرچه باعث کاهش سرعت اجرای زبانهای تفسیری نسبت به کامپایلری میشود ولی خواندن سطر به سطر کدها در مفسر علاوه بر قابلیت تشخیص خطای بهتر، این امکان را بوجود میآورد که بتوان حتی در زمان اجرا نیز سورس کد را ویرایش و تغییر داد. این دسته از زبانها در مواقعی که پیوسته نیاز به ویرایش کد و اعمال تغییر است، بسیار مورد توجه قرار گرفتهاند.
پایتون در دسته زبانهای تفسیری قرار میگیرد که در ادامه با خصوصیات آن بیشتر آشنا خواهید شد. کدها و دستورات تهیه شده به این زبان برای به اجرا درآمدن توسط پردازنده (CPU) ماشین به یک مفسر نیاز دارد. تاکنون پیادهسازیهای گوناگونی و با اهداف متفاوتی از مفسر پایتون توسعه یافته است. در این بین، CPython (سیپایتون) پیادهسازی استاندارد و رسمی مفسر پایتون میباشد که با استفاده از زبان برنامهنویسی C توسعه مییابد. توسط CPython میتوان علاوه بر کدهای پایتون، کدهای توسعه یافته به زبانهای C و ++C را نیز در قالب یک پروژه به اجرا درآورد.
از دیگر پیادهسازی های مهم مفسر پایتون میتوان به Jython (خاص ماشین مجازی جاوا)، IronPython (خاص چارچوب NET. مایکروسافت)، PyPy (با هدف سرعت اجرای بیشتر)، Stackless (با هدف اجرای بهتر برنامههای چندنخی – Multithread) اشاره نمود. [5]
با این توضیحات اکنون میدانیم که مفسر پایتون وظیفه خواندن سورس کد برنامه، ترجمه به زبان ماشین و در نهایت اجرای آن را برعهده دارد. عمل ترجمه و اجرای سورس کد توسط CPython که مورد توجه این کتاب است، در دو مرحله متوالی زیر خلاصه میشود:
۱- کامپایل یا ترجمه سورس کد به بایتکد (ByteCode)
۲- تفسیر بایتکد به زبان ماشین و اجرای آن
به این صورت که ابتدا سورس کد برنامه به یک زبان میانی نزدیک به زبان ماشین با نام بایتکد ترجمه میشود و سپس بایتکد حاصل به ماشین مجازی (Virtual Machine) – به عنوان موتور زماناجرای پایتون – فرستاده و در آن تفسیر و اجرا میگردد.
توجه: با این که پایتون (پیادهسازی CPython) به عنوان یک زبان تفسیری شناخته میشود ولی در زماناجرا (RunTime) کدها را یکبار به بایتکد ترجمه میکند (با استفاده از یک کامپایلر).
👈 توجه
ماشین مجازی پایتون (CPython VM) به صورت یک حلقه تکرار است که دستورات بایتکد را یکی یکی میخواند، به زبان ماشین تفسیر و بلافاصله اجرا میکند.
مفسر پایتون همچنین وظیفه اختصاص و آزادسازی حافظه (Memory) را به عهده دارد. CPython، برای آزادسازی حافظه از روش «شمارش ارجاع» (Reference Counting) استفاده میکند.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
🟣 تنها زبان قابل فهم و اجرا برای هر ماشین (یا رایانه)، زبان ماشین (Machine Language) خاص آن است که متناسب با معماری پردازنده آن تعیین میشود. درک و پیادهسازی این زبان برای انسان کاری طاقت فرساست، از این رو با پیشرفت دانش پردازش داده، زبانهای دیگر برنامهنویسی که به زبان انسان نزدیکتر هستند، توسعه یافته که تمامی آنها پیش از اجرا میبایست به زبان ماشین ترجمه شوند. چگونگی فرآیند این ترجمه، عاملی است که سبب تفاوت زبانهای برنامهنویسی و کاربرد آنها شده است. عمل ترجمه برای کدهای اسمبلی توسط اسمبلر (Assembler) و برای باقی زبانها توسط کامپایلر (Compiler) یا مفسر (Interpreter) انجام میپذیرد.
یک کامپایلر (در زبانهای کامپایلری مانند C) تمامی سطرهای سورس کد برنامه را به صورت یکجا خوانده و سپس با ساخت یک فایل جدید و مستقل از سورس کد با نام «کد مقصد یا آبجکت کد» (Object Code) یا فایل اجرایی (Executable) عمل ترجمه به زبان ماشین را پایان میبخشد. خروجی حاصل از کامپایلر توانایی هر چند بار اجرا در رایانه مقصد، بدون نیاز به کامپایل دوباره را دارد، اما فاقد حملپذیری بوده و برای اجرا در ماشینی با معماری متفاوت نیازمند کامپایل دوباره با یک کامپایلر سازگار میباشد. البته این ضعف در زبانهایی به مانند Java با ایجاد بایتکد (ByteCode) کاملا از بین رفته است. در طرفی دیگر، یک مفسر (در زبانهای تفسیری) سورس کد برنامه را به صورت سطر به سطر میخواند و هر سطر را به صورت جداگانه به زبان ماشین ترجمه و سپس بلافاصله آن را اجرا میکند. به این صورت که هنگامی یک سطر در حال اجراست در همان لحظه سطر بعدی در حال ترجمه به زبان ماشین میباشد. برنامههای نوشته شده با زبانهای برنامهنویسی تفسیری برای هر بار اجرا در رایانه هدف نیاز به تفسیر دوباره دارند. این تفاوت عملکرد گرچه باعث کاهش سرعت اجرای زبانهای تفسیری نسبت به کامپایلری میشود ولی خواندن سطر به سطر کدها در مفسر علاوه بر قابلیت تشخیص خطای بهتر، این امکان را بوجود میآورد که بتوان حتی در زمان اجرا نیز سورس کد را ویرایش و تغییر داد. این دسته از زبانها در مواقعی که پیوسته نیاز به ویرایش کد و اعمال تغییر است، بسیار مورد توجه قرار گرفتهاند.
پایتون در دسته زبانهای تفسیری قرار میگیرد که در ادامه با خصوصیات آن بیشتر آشنا خواهید شد. کدها و دستورات تهیه شده به این زبان برای به اجرا درآمدن توسط پردازنده (CPU) ماشین به یک مفسر نیاز دارد. تاکنون پیادهسازیهای گوناگونی و با اهداف متفاوتی از مفسر پایتون توسعه یافته است. در این بین، CPython (سیپایتون) پیادهسازی استاندارد و رسمی مفسر پایتون میباشد که با استفاده از زبان برنامهنویسی C توسعه مییابد. توسط CPython میتوان علاوه بر کدهای پایتون، کدهای توسعه یافته به زبانهای C و ++C را نیز در قالب یک پروژه به اجرا درآورد.
از دیگر پیادهسازی های مهم مفسر پایتون میتوان به Jython (خاص ماشین مجازی جاوا)، IronPython (خاص چارچوب NET. مایکروسافت)، PyPy (با هدف سرعت اجرای بیشتر)، Stackless (با هدف اجرای بهتر برنامههای چندنخی – Multithread) اشاره نمود. [5]
با این توضیحات اکنون میدانیم که مفسر پایتون وظیفه خواندن سورس کد برنامه، ترجمه به زبان ماشین و در نهایت اجرای آن را برعهده دارد. عمل ترجمه و اجرای سورس کد توسط CPython که مورد توجه این کتاب است، در دو مرحله متوالی زیر خلاصه میشود:
۱- کامپایل یا ترجمه سورس کد به بایتکد (ByteCode)
۲- تفسیر بایتکد به زبان ماشین و اجرای آن
به این صورت که ابتدا سورس کد برنامه به یک زبان میانی نزدیک به زبان ماشین با نام بایتکد ترجمه میشود و سپس بایتکد حاصل به ماشین مجازی (Virtual Machine) – به عنوان موتور زماناجرای پایتون – فرستاده و در آن تفسیر و اجرا میگردد.
توجه: با این که پایتون (پیادهسازی CPython) به عنوان یک زبان تفسیری شناخته میشود ولی در زماناجرا (RunTime) کدها را یکبار به بایتکد ترجمه میکند (با استفاده از یک کامپایلر).
👈 توجه
ماشین مجازی پایتون (CPython VM) به صورت یک حلقه تکرار است که دستورات بایتکد را یکی یکی میخواند، به زبان ماشین تفسیر و بلافاصله اجرا میکند.
مفسر پایتون همچنین وظیفه اختصاص و آزادسازی حافظه (Memory) را به عهده دارد. CPython، برای آزادسازی حافظه از روش «شمارش ارجاع» (Reference Counting) استفاده میکند.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
👍2
🔵 ویژگیهای پایتون
🟣 پایتون یک زبان برنامهنویسی رایگان، متن باز (Open Source) و با بیانی کاملتر، آزاد است که هماکنون (یعنی از نسخه 2.1 و جدیدتر) پروانه آن توسط «بنیاد نرمافزار پایتون» PSF اداره میگردد. پروانه پایتون سازگار با پروانه GPL3 است، با این حال به برنامهنویس این اجازه را میدهد که بتواند برنامهای با سورس بسته (Closed Source) تولید نماید.
زبان پایتون از اجزای بسته نرمافزاری LAMP نیز به شمار میرود. این بسته عبارت است از: Linux ~ سیستم عامل / Apache ~ وب سرور / MySQL یا MariaDB ~ پایگاه داده / Python یا Perl یا PHP ~ زبان برنامهنویسی.
این زبان خیلی پیشتر از آنکه حتی Eric Raymond و Bruce Perens از Open Source صحبت کنند، متن باز بوده است.
پایتون یک زبان برنامهنویسی همه منظوره (General-Purpose) است به این معنی که میتوان از آن در توسعه طیف گستردهای از انواع برنامهها در حوزههای نرمافزاری گوناگون بهره برد؛ از جمله در توسعه برنامههای تحت وب و برنامههایی با قابلیت «واسط گرافیکی کاربر» (GUI).
پایتون یک زبان برنامهنویسی به همراه مجموعه بزرگی از قابلیتهای از پیش آماده و قابل حمل است که به عنوان کتابخانه استاندارد آن شناخته میشود. همچنین در کنار این کتابخانه میتوان از طیف بسیار وسیعی از کتابخانههای شخص ثالث (Third-Party) پایتون [6] نیز بهره برد. کتابخانههای شخص ثالث ابزارهای مفیدی را در امور فروانی همچون: برنامهنویسی علمی ~ SciPy / پردازش زبانهای طبیعی ~ NLTK / ارتباط درگاه سریال ~ PySerial / ایجاد بازی ~ PyGame ،Pyglet ،PyOpenGL ،PySoy / هوش مصنوعی و ماشین لرنینگ ~ PyBrain ،TensorFlow ،PyTorch ،NumPy ،Pandas ،Matplotlib / ایجاد وب سایت ~ Django ،Flask ،Bottle ،CherryPy / پردازش تصویر ~ PIL/Pillow ،PythonMagick / واسط گرافیکی کاربر ~ PyGtk ،PyQt ،WxPython / کار با اسناد rdflib ~ pdf / رمزنگاری ~ PyCrypto ،pyOpenSSL ،cryptography و بسیاری دیگر… که مدام در حال توسعه هستند و بر تعداد و تنوع آنها نیز افزوده میشود را در اختیار برنامهنویسان پایتون قرار میدهند.
پایتون یک زبان برنامهنویسی پویا (Dynamic) است. این زبان شباهتهایی با Perl ،Ruby ،PHP یا دیگر زبانهای برنامهنویسی پویا دارد. در این نوع زبانها برخلاف زبانهای ایستا (Static) مانند C++ ،C و Java نیازی به تعریف صریح نوع متغیرها 7 نیست و همچنین نوع متغیر در طول برنامه قابل تغییر است. در زبانهای پویا متغیرها از خود نوعی ندارند و تصمیم گیری برای تخصیص نوع در «زمان اجرا» (RunTime) انجام میپذیرد.
با اینکه پایتون یک زبان پویاست ولی در عین حال یک زبان «وابسته شدید به نوع» (Strongly Typed) نیز میباشد. در این نوع زبانها (به مانند Java) تغییر خودکار نوع داده انجام نمیشود؛ به عنوان نمونه چنانچه در پایتون عمل جمع بین یک نوع داده عددی مانند 3 و یک نوع داده غیر عددی مانند “7” صورت گیرد، یک Exception یا استثنای TypeError گزارش میگردد. در مقابل، زبانهای «وابسته ضعیف به نوع» (Weak Typed) قرار دارند؛ در این زبانها (به مانند Perl) نوع بر حسب موقعیت به صورت خودکار تغییر داده میشود. در این مورد زبانهای برنامهنویسی رفتارهای متفاوتی دارند، به عنوان نمونه حاصل عبارت “7” + 3 در زبان Perl با تبدیل (Convert) خودکار نوع داده غیر عددی “7” به عدد (7)، مقدار 10 محاسبه میگردد.
نکته
استثنا در واقع وضعیت یا خطایی (Error) است که در برنامه پیشبینی شده و بروز آن به مانند یک اعتراض گزارش میشود. از طرفی در برنامه برای هر اعتراض، چگونگی رسیدگی به آن نیز تعریف میشود.
پایتون یک زبان برنامهنویسی سطح بالا (High-Level) به مانند C ،Ruby ،PHP و Java است که به وسیله آن عمل برنامهنویسی به آسانی و با سرعتی بالا انجام میپذیرد و برخلاف زبان برنامهنویسی سطح پایینی (Low-Level) مانند Assembly، برنامهنویس را درگیر مسایل خاص موجود در این سطح به مانند کار با ثباتها (Registers)، آدرسهای حافظه و غیره… نمیسازد.
نکته
بر اساس یک دستهبندی رایج [8]، زبانهای برنامهنویسی را میتوان به نسبت درگیر ساختن برنامهنویس با مفاهیم سختافزاری یا میزان سطح انتزاع (Abstraction) برنامهنویس از سختافزار، در دو سطح دستهبندی نمود: ۱. پایین ~ زبان ماشین و Assembly (اسمبلی) ۲. بالا ~ Java ،C++ ،C و غیره…
پایتون یک زبان برنامهنویسی چند الگویی (Multi-Paradigm) است و برنامهنویس را مجبور به رعایت الگوی خاصی نمیکند. این زبان از الگوهای: دستوری (Imperative) یا رویهای (Procedural)، تابعی (Functional) و شیگرایی (Object-Oriented) پشتیبانی میکند؛ البته همانظور که گفته شد نمیتوان پایتون را به صورت خالص (Pure) متعلق به هر یک از این الگوها دانست [9].
🟣 پایتون یک زبان برنامهنویسی رایگان، متن باز (Open Source) و با بیانی کاملتر، آزاد است که هماکنون (یعنی از نسخه 2.1 و جدیدتر) پروانه آن توسط «بنیاد نرمافزار پایتون» PSF اداره میگردد. پروانه پایتون سازگار با پروانه GPL3 است، با این حال به برنامهنویس این اجازه را میدهد که بتواند برنامهای با سورس بسته (Closed Source) تولید نماید.
زبان پایتون از اجزای بسته نرمافزاری LAMP نیز به شمار میرود. این بسته عبارت است از: Linux ~ سیستم عامل / Apache ~ وب سرور / MySQL یا MariaDB ~ پایگاه داده / Python یا Perl یا PHP ~ زبان برنامهنویسی.
این زبان خیلی پیشتر از آنکه حتی Eric Raymond و Bruce Perens از Open Source صحبت کنند، متن باز بوده است.
پایتون یک زبان برنامهنویسی همه منظوره (General-Purpose) است به این معنی که میتوان از آن در توسعه طیف گستردهای از انواع برنامهها در حوزههای نرمافزاری گوناگون بهره برد؛ از جمله در توسعه برنامههای تحت وب و برنامههایی با قابلیت «واسط گرافیکی کاربر» (GUI).
پایتون یک زبان برنامهنویسی به همراه مجموعه بزرگی از قابلیتهای از پیش آماده و قابل حمل است که به عنوان کتابخانه استاندارد آن شناخته میشود. همچنین در کنار این کتابخانه میتوان از طیف بسیار وسیعی از کتابخانههای شخص ثالث (Third-Party) پایتون [6] نیز بهره برد. کتابخانههای شخص ثالث ابزارهای مفیدی را در امور فروانی همچون: برنامهنویسی علمی ~ SciPy / پردازش زبانهای طبیعی ~ NLTK / ارتباط درگاه سریال ~ PySerial / ایجاد بازی ~ PyGame ،Pyglet ،PyOpenGL ،PySoy / هوش مصنوعی و ماشین لرنینگ ~ PyBrain ،TensorFlow ،PyTorch ،NumPy ،Pandas ،Matplotlib / ایجاد وب سایت ~ Django ،Flask ،Bottle ،CherryPy / پردازش تصویر ~ PIL/Pillow ،PythonMagick / واسط گرافیکی کاربر ~ PyGtk ،PyQt ،WxPython / کار با اسناد rdflib ~ pdf / رمزنگاری ~ PyCrypto ،pyOpenSSL ،cryptography و بسیاری دیگر… که مدام در حال توسعه هستند و بر تعداد و تنوع آنها نیز افزوده میشود را در اختیار برنامهنویسان پایتون قرار میدهند.
پایتون یک زبان برنامهنویسی پویا (Dynamic) است. این زبان شباهتهایی با Perl ،Ruby ،PHP یا دیگر زبانهای برنامهنویسی پویا دارد. در این نوع زبانها برخلاف زبانهای ایستا (Static) مانند C++ ،C و Java نیازی به تعریف صریح نوع متغیرها 7 نیست و همچنین نوع متغیر در طول برنامه قابل تغییر است. در زبانهای پویا متغیرها از خود نوعی ندارند و تصمیم گیری برای تخصیص نوع در «زمان اجرا» (RunTime) انجام میپذیرد.
با اینکه پایتون یک زبان پویاست ولی در عین حال یک زبان «وابسته شدید به نوع» (Strongly Typed) نیز میباشد. در این نوع زبانها (به مانند Java) تغییر خودکار نوع داده انجام نمیشود؛ به عنوان نمونه چنانچه در پایتون عمل جمع بین یک نوع داده عددی مانند 3 و یک نوع داده غیر عددی مانند “7” صورت گیرد، یک Exception یا استثنای TypeError گزارش میگردد. در مقابل، زبانهای «وابسته ضعیف به نوع» (Weak Typed) قرار دارند؛ در این زبانها (به مانند Perl) نوع بر حسب موقعیت به صورت خودکار تغییر داده میشود. در این مورد زبانهای برنامهنویسی رفتارهای متفاوتی دارند، به عنوان نمونه حاصل عبارت “7” + 3 در زبان Perl با تبدیل (Convert) خودکار نوع داده غیر عددی “7” به عدد (7)، مقدار 10 محاسبه میگردد.
نکته
استثنا در واقع وضعیت یا خطایی (Error) است که در برنامه پیشبینی شده و بروز آن به مانند یک اعتراض گزارش میشود. از طرفی در برنامه برای هر اعتراض، چگونگی رسیدگی به آن نیز تعریف میشود.
پایتون یک زبان برنامهنویسی سطح بالا (High-Level) به مانند C ،Ruby ،PHP و Java است که به وسیله آن عمل برنامهنویسی به آسانی و با سرعتی بالا انجام میپذیرد و برخلاف زبان برنامهنویسی سطح پایینی (Low-Level) مانند Assembly، برنامهنویس را درگیر مسایل خاص موجود در این سطح به مانند کار با ثباتها (Registers)، آدرسهای حافظه و غیره… نمیسازد.
نکته
بر اساس یک دستهبندی رایج [8]، زبانهای برنامهنویسی را میتوان به نسبت درگیر ساختن برنامهنویس با مفاهیم سختافزاری یا میزان سطح انتزاع (Abstraction) برنامهنویس از سختافزار، در دو سطح دستهبندی نمود: ۱. پایین ~ زبان ماشین و Assembly (اسمبلی) ۲. بالا ~ Java ،C++ ،C و غیره…
پایتون یک زبان برنامهنویسی چند الگویی (Multi-Paradigm) است و برنامهنویس را مجبور به رعایت الگوی خاصی نمیکند. این زبان از الگوهای: دستوری (Imperative) یا رویهای (Procedural)، تابعی (Functional) و شیگرایی (Object-Oriented) پشتیبانی میکند؛ البته همانظور که گفته شد نمیتوان پایتون را به صورت خالص (Pure) متعلق به هر یک از این الگوها دانست [9].
جدا از پشتیبانی الگوی برنامهنویسی شیگرا، ساختار پایتون به صورت کامل شیگراست و هر چیزی در این زبان یک شی (Object) است؛ در آینده بیشتر در این مورد صحبت خواهیم کرد.
پایتون یک زبان برنامهنویسی توسعهپذیر (Extensible) است. کدهای نوشته شده با پایتون را میتوان به دیگر سورس کدهای این زبان افزود و همچنین میتوان از کتابخانهها و کدهای نوشته شده با دیگر زبانهای برنامهنویسی در میان کدهای پایتون استفاده کرد (مانند C و ++C در پیادهسازی CPython یا Java در پیادهسازی Jython).
پایتون دارای دستور زبانی تمیز و خوانایی (Readability) بالای کد است. خوانایی در طراحی پایتون مورد تاکید بوده و در کنار شیگرایی از مهمترین ویژگیهای یک کد به جهت استفاده مجدد میباشد. پایتون به مانند زبان ABC از روش «تورفتگی» بوسیله فضاهای خالی برای بلاکبندی [10] استفاده میکند. در پایتون اجباری به استفاده از نقطه ویرگول (Semicolon) ; و برخی پرانتز گذاریها نمیباشد و البته وجود انواع داده (Data Types) متنوع و نیز پویایی پایتون موجب کمتر شدن حجم کدنویسی و صرفهجویی در زمان توسعه نسبت به زبانهایی به مانند C++ ،C و حتی Java میشود. تحقیقات نشان میدهند: کاری که یک برنامهنویس پایتون میتواند در مدت زمان دو ماه به انجام برساند، دو برنامهنویس ++C در مدت یک سال قادر به تکمیل آن نخواهند بود!
پایتون یک زبان حساس به حرف (Case Sensitive) است. در این نوع زبانها (مانند C ،C++ ،Java ،Perl و غیره…) بین حروف کوچک (Lowercase) و بزرگ (Uppercase) به مانند a و A تفاوت وجود دارد. با توجه به این موضوع، مفسر پایتون بین کلمات True ،true و TRUE تمایز میگذارد.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
پایتون یک زبان برنامهنویسی توسعهپذیر (Extensible) است. کدهای نوشته شده با پایتون را میتوان به دیگر سورس کدهای این زبان افزود و همچنین میتوان از کتابخانهها و کدهای نوشته شده با دیگر زبانهای برنامهنویسی در میان کدهای پایتون استفاده کرد (مانند C و ++C در پیادهسازی CPython یا Java در پیادهسازی Jython).
پایتون دارای دستور زبانی تمیز و خوانایی (Readability) بالای کد است. خوانایی در طراحی پایتون مورد تاکید بوده و در کنار شیگرایی از مهمترین ویژگیهای یک کد به جهت استفاده مجدد میباشد. پایتون به مانند زبان ABC از روش «تورفتگی» بوسیله فضاهای خالی برای بلاکبندی [10] استفاده میکند. در پایتون اجباری به استفاده از نقطه ویرگول (Semicolon) ; و برخی پرانتز گذاریها نمیباشد و البته وجود انواع داده (Data Types) متنوع و نیز پویایی پایتون موجب کمتر شدن حجم کدنویسی و صرفهجویی در زمان توسعه نسبت به زبانهایی به مانند C++ ،C و حتی Java میشود. تحقیقات نشان میدهند: کاری که یک برنامهنویس پایتون میتواند در مدت زمان دو ماه به انجام برساند، دو برنامهنویس ++C در مدت یک سال قادر به تکمیل آن نخواهند بود!
پایتون یک زبان حساس به حرف (Case Sensitive) است. در این نوع زبانها (مانند C ،C++ ،Java ،Perl و غیره…) بین حروف کوچک (Lowercase) و بزرگ (Uppercase) به مانند a و A تفاوت وجود دارد. با توجه به این موضوع، مفسر پایتون بین کلمات True ،true و TRUE تمایز میگذارد.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
🔵 کارایی پایتون
معمولا افراد در مواجه با یادگیری زبان پایتون نگرانیهایی در مورد کارایی (Performance) برنامههای توسعه یافته با این زبان خواهند داشت به خصوص در جایگاه مقایسه با زبان Java، به هر حال پایتون یک زبان تفسیری است و در اجرا سرعت کمتری نسبت به زبانهای کامپایلی مانند C و Java خواهد داشت. معمولا کارایی بالا برابر با سرعت بالاست ولی قضاوت در مورد کارایی به این سادگی درست نیست!
در هر پروژهای بسته به چیزی که میخواهیم میبایست انتخاب نماییم. اگر مبنای کارایی برای یک پروژه در سرعت بالای اجرا باشد (مانند برنامههای سیستمی)؛ زبان C همیشه بهترین انتخاب است ولی اگر مبنا در سرعت بالای توسعه و صرفه جویی در منابع از جمله هزینه باشد انتخاب مناسب پایتون است. گاهی نیز بهترین کارایی با استفاده ترکیبی از زبانهای متفاوت به دست میآید.
در بسیاری از کاربردها سرعت پایتون کاملا قابل قبول است، وجود بایتکد موجب افزایش سرعت در اجراهای بعدی برنامه میشود و نکات برنامهنویسی زیادی برای بهبود سرعت اجرا در پایتون وجود دارد که در این کتاب به تدریج اشاره خواهد شد. نباید فراموش کرد که یکی از مهمترین عاملهای کارایی داشتن الگوریتمی بهینه است و البته نوشتن ماژولها به زبان C نیز باعث افزایش قابل توجه سرعت اجرای پایتون میشود – پایتون کند است اگر اشتباه استفاده شود – با این وجود در حالت عادی اگر هزار مورد وجود داشته باشد که پایتون برای آنها بهترین انتخاب باشد، رقابت در سرعت یکی از آنها نخواهد بود و برای توسعه برنامههایی که سرعت اجرا نقش بسیار تعیین کنندهای دارد باید از زبانهای دیگری استفاده نمایید.
لازم است به این نکته هم توجه داشته باشیم که تمام این صحبتها در مورد پیادهسازی CPython از زبان پایتون بوده و پیادهسازیهای دیگری نیز از زبان پایتون با هدف سرعت بالای اجرا (به مانند PyPy) توسعه یافته است.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
معمولا افراد در مواجه با یادگیری زبان پایتون نگرانیهایی در مورد کارایی (Performance) برنامههای توسعه یافته با این زبان خواهند داشت به خصوص در جایگاه مقایسه با زبان Java، به هر حال پایتون یک زبان تفسیری است و در اجرا سرعت کمتری نسبت به زبانهای کامپایلی مانند C و Java خواهد داشت. معمولا کارایی بالا برابر با سرعت بالاست ولی قضاوت در مورد کارایی به این سادگی درست نیست!
در هر پروژهای بسته به چیزی که میخواهیم میبایست انتخاب نماییم. اگر مبنای کارایی برای یک پروژه در سرعت بالای اجرا باشد (مانند برنامههای سیستمی)؛ زبان C همیشه بهترین انتخاب است ولی اگر مبنا در سرعت بالای توسعه و صرفه جویی در منابع از جمله هزینه باشد انتخاب مناسب پایتون است. گاهی نیز بهترین کارایی با استفاده ترکیبی از زبانهای متفاوت به دست میآید.
در بسیاری از کاربردها سرعت پایتون کاملا قابل قبول است، وجود بایتکد موجب افزایش سرعت در اجراهای بعدی برنامه میشود و نکات برنامهنویسی زیادی برای بهبود سرعت اجرا در پایتون وجود دارد که در این کتاب به تدریج اشاره خواهد شد. نباید فراموش کرد که یکی از مهمترین عاملهای کارایی داشتن الگوریتمی بهینه است و البته نوشتن ماژولها به زبان C نیز باعث افزایش قابل توجه سرعت اجرای پایتون میشود – پایتون کند است اگر اشتباه استفاده شود – با این وجود در حالت عادی اگر هزار مورد وجود داشته باشد که پایتون برای آنها بهترین انتخاب باشد، رقابت در سرعت یکی از آنها نخواهد بود و برای توسعه برنامههایی که سرعت اجرا نقش بسیار تعیین کنندهای دارد باید از زبانهای دیگری استفاده نمایید.
لازم است به این نکته هم توجه داشته باشیم که تمام این صحبتها در مورد پیادهسازی CPython از زبان پایتون بوده و پیادهسازیهای دیگری نیز از زبان پایتون با هدف سرعت بالای اجرا (به مانند PyPy) توسعه یافته است.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
🔵 نسخهها
🟣 در یک سیر تاریخی، نسخه پایدار 2.0 در شانزدهم اکتبر سال ۲۰۰۰ میلادی و در ادامه نسخه 1.6 منتشر (Release) میشود؛ پس از آن نیز توسعه پایتون به همان صورت پیشین ادامه مییابد تا این که در دسامبر سال ۲۰۰۸ میلادی نسخهای از پایتون با شماره 3.0 که از آن با عنوان ”Python 3000“ یا ”Py3K“ نیز یاد میشود، با رویکرد شکستن «سازگاری با نسخههای پیشین» (Backward Compatibility) منتشر میگردد. به بیان دیگر: مفسر نسخههای جدید (3x) پایتون قادر به اجرای سورس کدی که بر پایه مفسر نسخههای پیشین تهیه شده است، نخواهد بود. (که این اتفاق در جامعه پایتون بسیار بحث برانگیز بوده و هست!)
ظاهرا آقای روسوم خیلی پیش از این زمان نیاز به ایجاد یک سری تغییرات در ساختار و سینتکس این زبان را احساس کرده بود. شاید نخستین نشانه از لزوم ایجاد تغییرات در پایتون را بتوان از صحبتهای ایشان در همایش متن باز اوریلی (OSCON) سال ۲۰۰۲ با عنوان «پشیمانیهای پایتون» (Python Regrets) دریافت کرد. به هر صورت تیم توسعه پایتون در پی رفع این نیاز، از بین حفظ گذشته پایتون و پایبندی به فلسفه سادگی آن؛ دومی را انتخاب میکند، ویژگیهای کهنه کنار گذاشته و ویژگیهای جدید جایگزین میگردند.
با انتشار یک نسخه جدید به صورت معمول میبایست توسعه نسخه قدیمی متوقف شود، ولی از آنجا که زیرساخت شرکتهای بزرگی به پایتون وابسته بوده (مانند Google) و ارتقا نسخه برای آنها حداقل بسیار زمانبر خواهد شد، برنامهها و کتابخانههای کوچک و بزرگ بسیار زیادی توسط کاربران جامعه پایتون برای نیازهای ریز و کلان گوناگونی توسعه یافته بود که سازگار شدن تمام آنها با نسخه جدید پایتون در یک فاصله زمانی کوتاه بعید به نظر میرسید و از همه مهمتر خود برنامهنویسان پایتون قرار داشتند که پس از سالها مجبور به پذیرش تغییرات شده بودند؛ تیم توسعه پایتون، برای پر کردن شکاف به وجود آمده در پایتون یا به بیانی هموار کردن مسیر مهاجرت به نسخه جدید پایتون، علاوه بر اینکه از پیش سعی کرده بود تا ویژگیهای جدید و سینتکس نسخه 3.0 را به نسخه 2.6 (که دو ماه زودتر منتشر شده بود) پورت (Port) کند، به توسعه نسخه قدیمی پایان نمیدهد و نسخه دیگری را با شماره 2.7 در سوم جولای ۲۰۱۰، تقریبا یک سال پس از انتشار نسخه 3.1 به همراه بسیاری از ویژگیهای جدید آن منتشر میسازد.
بر طبق سند [11] PEP 404، هرگز نسخهای با شماره 2.8 به صورت رسمی منتشر نخواهد شد و نسخه 2.7 با یک پشتیبانی طولانی مدت، نقطه پایان نسخه قدیمی پایتون خواهد بود. ابتدا قرار شد از این نسخه به مدت پنج سال پشتیبانی (تلاش برای رفع باگها) شود ولی کمی مانده تا پایان، این زمان به ده سال یعنی تا سال ۲۰۲۰ افزایش یافت.
نسخه پایدار (Stable) پایتون با قالب A.B.C؛ مانند 3.4.2 شمارهگذاری و منتشر میشود. عدد A، بخش اصلی (Major) شماره نسخه است و زمانی افزایش مییابد که واقعا تغییرات بزرگ و زیادی در زبان پایتون ایجاد شده باشد. عدد B، بخش جزئی (Minor) شماره نسخه را نشان میدهد و با ایجاد یک سری تغییرات مهم در زبان پایتون افزایش خواهد یافت. عموما شماره نسخه پایتون تنها به صورت A.B نشان داده میشود، زیرا عدد C تنها با رفع اشکال (Bug) احتمالی نسخه منتشر شده افزایش مییابد (از عدد صفر) که این امر نیز شامل همه نسخههای پایتون نمیشود.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
🟣 در یک سیر تاریخی، نسخه پایدار 2.0 در شانزدهم اکتبر سال ۲۰۰۰ میلادی و در ادامه نسخه 1.6 منتشر (Release) میشود؛ پس از آن نیز توسعه پایتون به همان صورت پیشین ادامه مییابد تا این که در دسامبر سال ۲۰۰۸ میلادی نسخهای از پایتون با شماره 3.0 که از آن با عنوان ”Python 3000“ یا ”Py3K“ نیز یاد میشود، با رویکرد شکستن «سازگاری با نسخههای پیشین» (Backward Compatibility) منتشر میگردد. به بیان دیگر: مفسر نسخههای جدید (3x) پایتون قادر به اجرای سورس کدی که بر پایه مفسر نسخههای پیشین تهیه شده است، نخواهد بود. (که این اتفاق در جامعه پایتون بسیار بحث برانگیز بوده و هست!)
ظاهرا آقای روسوم خیلی پیش از این زمان نیاز به ایجاد یک سری تغییرات در ساختار و سینتکس این زبان را احساس کرده بود. شاید نخستین نشانه از لزوم ایجاد تغییرات در پایتون را بتوان از صحبتهای ایشان در همایش متن باز اوریلی (OSCON) سال ۲۰۰۲ با عنوان «پشیمانیهای پایتون» (Python Regrets) دریافت کرد. به هر صورت تیم توسعه پایتون در پی رفع این نیاز، از بین حفظ گذشته پایتون و پایبندی به فلسفه سادگی آن؛ دومی را انتخاب میکند، ویژگیهای کهنه کنار گذاشته و ویژگیهای جدید جایگزین میگردند.
با انتشار یک نسخه جدید به صورت معمول میبایست توسعه نسخه قدیمی متوقف شود، ولی از آنجا که زیرساخت شرکتهای بزرگی به پایتون وابسته بوده (مانند Google) و ارتقا نسخه برای آنها حداقل بسیار زمانبر خواهد شد، برنامهها و کتابخانههای کوچک و بزرگ بسیار زیادی توسط کاربران جامعه پایتون برای نیازهای ریز و کلان گوناگونی توسعه یافته بود که سازگار شدن تمام آنها با نسخه جدید پایتون در یک فاصله زمانی کوتاه بعید به نظر میرسید و از همه مهمتر خود برنامهنویسان پایتون قرار داشتند که پس از سالها مجبور به پذیرش تغییرات شده بودند؛ تیم توسعه پایتون، برای پر کردن شکاف به وجود آمده در پایتون یا به بیانی هموار کردن مسیر مهاجرت به نسخه جدید پایتون، علاوه بر اینکه از پیش سعی کرده بود تا ویژگیهای جدید و سینتکس نسخه 3.0 را به نسخه 2.6 (که دو ماه زودتر منتشر شده بود) پورت (Port) کند، به توسعه نسخه قدیمی پایان نمیدهد و نسخه دیگری را با شماره 2.7 در سوم جولای ۲۰۱۰، تقریبا یک سال پس از انتشار نسخه 3.1 به همراه بسیاری از ویژگیهای جدید آن منتشر میسازد.
بر طبق سند [11] PEP 404، هرگز نسخهای با شماره 2.8 به صورت رسمی منتشر نخواهد شد و نسخه 2.7 با یک پشتیبانی طولانی مدت، نقطه پایان نسخه قدیمی پایتون خواهد بود. ابتدا قرار شد از این نسخه به مدت پنج سال پشتیبانی (تلاش برای رفع باگها) شود ولی کمی مانده تا پایان، این زمان به ده سال یعنی تا سال ۲۰۲۰ افزایش یافت.
نسخه پایدار (Stable) پایتون با قالب A.B.C؛ مانند 3.4.2 شمارهگذاری و منتشر میشود. عدد A، بخش اصلی (Major) شماره نسخه است و زمانی افزایش مییابد که واقعا تغییرات بزرگ و زیادی در زبان پایتون ایجاد شده باشد. عدد B، بخش جزئی (Minor) شماره نسخه را نشان میدهد و با ایجاد یک سری تغییرات مهم در زبان پایتون افزایش خواهد یافت. عموما شماره نسخه پایتون تنها به صورت A.B نشان داده میشود، زیرا عدد C تنها با رفع اشکال (Bug) احتمالی نسخه منتشر شده افزایش مییابد (از عدد صفر) که این امر نیز شامل همه نسخههای پایتون نمیشود.
——————————————-
مقاله کامل:
https://tu24.ir/2024/02/07/%d8%af%d8%b1%d8%b3-%db%b0%db%b1-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%be%d8%a7/
آدرس کانال: @tu_24
آدرس وبسایت: Tu24.ir
❤1👍1
Forwarded from آموزش و کوییز انگلیسی با Zaban7ir
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
👉 https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
👉 https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
Forwarded from آموزش و کوییز انگلیسی با Zaban7ir
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
👉 👉 https://t.me/addlist/_UjG99eD_E4zYzhk
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
👉 👉 https://t.me/addlist/_UjG99eD_E4zYzhk
Telegram
برنامه نویسی
You’ve been invited to add the folder “برنامه نویسی”, which includes 55 chats.
Forwarded from آموزش و کوییز انگلیسی با Zaban7ir
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
👉 https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
👉 https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
Python_Tutorial_for_Beginners_1_Install_and_Setup_for_Mac_and_Windows.mp4
36.1 MB
🔵 Python Programming Beginner Tutorials
🟣 Install and Setup for Mac and Windows
🟢 زبان آموزش: انگلیسی
برای دانلود بدون استفاده از فیلترشکن و تلگرام ویدیوها می توانید اینجا را کلیک کنید
👈 عضو کانال آموزش های پایتون شوید
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🟣 Install and Setup for Mac and Windows
🟢 زبان آموزش: انگلیسی
برای دانلود بدون استفاده از فیلترشکن و تلگرام ویدیوها می توانید اینجا را کلیک کنید
👈 عضو کانال آموزش های پایتون شوید
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
Python_Tutorial_for_Beginners_2_Strings_Working_with_Textual_Data.mp4
32.8 MB
🔵 Python Programming Beginner Tutorials
🟣 Strings - Working with Textual Data
🟢 زبان آموزش: انگلیسی
برای دانلود بدون استفاده از فیلترشکن و تلگرام ویدیوها می توانید اینجا را کلیک کنید
👈 عضو کانال آموزش های پایتون شوید
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🟣 Strings - Working with Textual Data
🟢 زبان آموزش: انگلیسی
برای دانلود بدون استفاده از فیلترشکن و تلگرام ویدیوها می توانید اینجا را کلیک کنید
👈 عضو کانال آموزش های پایتون شوید
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
Python_Tutorial_for_Beginners_3_Integers_and_Floats_Working_with.mp4
17.4 MB
🔵 Python Programming Beginner Tutorials
🟣 Integers and Floats - Working with Numeric Data
🟢 زبان آموزش: انگلیسی
برای دانلود بدون استفاده از فیلترشکن و تلگرام ویدیوها می توانید اینجا را کلیک کنید
👈 عضو کانال آموزش های پایتون شوید
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir
🟣 Integers and Floats - Working with Numeric Data
🟢 زبان آموزش: انگلیسی
برای دانلود بدون استفاده از فیلترشکن و تلگرام ویدیوها می توانید اینجا را کلیک کنید
👈 عضو کانال آموزش های پایتون شوید
——————————————-
آدرس کانال: @tu_24
آدرس وبسایت: Tutorial24.ir