زبان برنامه نویسی پایتون چیست؟
پایتون یک زبان برنامهنویسی عمومی و سطح بالا است که به طور گسترده استفاده میشود. این زبان توسط گویدو ون رسوم در سال 1991 ایجاد شده و سپس توسط بنیاد نرمافزار پایتون (Python Software Foundation) بهبود یافت. هدف اصلی آن افزایش خوانایی کد بوده است و سینتکس آن به برنامهنویسان این امکان را میدهد که مفاهیم خود را با کمترین تعداد خط کد بیان کنند.
پایتون یک زبان برنامهنویسی است که به شما این امکان را میدهد که به سرعت کار کرده و سیستمها را با کارایی بیشتری ادغام کنید. دو نسخه اصلی از پایتون وجود دارد: پایتون 2 و پایتون 3. این دو نسخه به طور قابل توجهی متفاوت هستند.
شروع برنامهنویسی با زبان پایتون
1) یافتن یک مفسر (Interpreter)
قبل از شروع برنامهنویسی به زبان پایتون، نیاز داریم که یک مفسر داشته باشیم تا برنامههایمان را تفسیر و اجرا کند. تعدادی مفسر آنلاین مانند مفسر آنلاین سایت geeksforgeeks وجود دارند که میتوان از آنها برای اجرای برنامههای پایتون بدون نیاز به نصب مفسر استفاده کرد.
Windows: برای اجرای اسکریپتهای پایتون در ویندوز، تعداد زیادی مفسر به صورت رایگان در دسترس است، مانند IDLE (محیط توسعه یکپارچه) که به همراه برنامه پایتون از سایت http://python.org قابل دریافت است.
Linux: پایتون به صورت پیش فرض در توزیعهای محبوب لینوکس مانند اوبونتو و فدورا نصب شده است. برای بررسی نسخه پایتونی که در حال اجرا است، عبارت “python” را در ترمینال وارد کنید. مفسر باید شروع به کار کند و شماره نسخه را چاپ کند.
macOS: به طور کلی، نسخه 2.7 پایتون به همراه macOS ارائه شده است. برای استفاده از نسخه 3، شما باید به صورت دستی پایتون 3 را از http://python.org نصب کنید.
2) نوشتن اولین برنامه:
پس از شروع کار مفسر، به راحتی کد زیر را تایپ کنید.
# Script Begins print("Datayad.com") # Scripts Ends
بیایید اسکریپت را خط به خط تجزیه و تحلیل کنیم.
خط 1: [# Script Begins]
در پایتون، توضیحات (comment) با # شروع میشوند. این عبارت توسط مفسر نادیده گرفته میشود و به عنوان مستندات در کد ما عمل میکند.
خط 2: [print(“datayad.com”)]
برای چاپ متن در کنسول، از تابع ()print استفاده میشود. این تابع پس از چاپ پیام ما، یک خط جدید اضافه میکند (برخلاف زبان C). توجه داشته باشید که در پایتون 2، “print” یک تابع نیست بلکه یک کلمه کلیدی است و بنابراین بدون پرانتز قابل استفاده است. با این حال، در پایتون 3، یک تابع است و باید با پرانتز فراخوانی شود.
خط 3: [# Script Ends]
فقط یک توضیح دیگر مانند خط 1 است و در پایان اسکریپت میباشد.
زبان برنامهنویسی پایتون که توسط گیدو ون راسوم در مؤسسه CWI طراحی شده است، به یک زبان برنامهنویسی عمومی و سطح بالا که به طور گستردهای مورد استفاده قرار میگیرد، تبدیل شده است.
پیشنیازها
داشتن دانش در مورد هر زبان برنامهنویسی میتواند بسیار مفید باشد.
دلیل افزایش محبوبیت پایتون
1. تأکید بر خوانایی کد و نوشتن کدهای کوتاهتر و آسان تر.
2. برنامهنویسان میتوانند مفاهیم منطقی را در تعداد خطوط کمتری از کد، نسبت به زبانهایی مانند ++C یا جاوا بیان کنند.
3. پایتون از چندین پارادایم برنامهنویسی پشتیبانی میکند، از جمله برنامهنویسی شیءگرا، امری و تابعی یا رویهای.
4. در پایتون توابعی داخلی برای تقریباً تمامی مفاهیمی که به طور مکرر استفاده میشوند، وجود دارد.
5. فلسفه آن “سادگی بهترین است” میباشد.
ویژگیهای زبان برنامه نویسی پایتون
1) مفسری:
– در این زبان مرحله جداگانهای برای کامپایل و اجرا مانند C و ++C وجود ندارد.
– می توان برنامه را مستقیماً از کد منبع اجرا کرد.
– پایتون به صورت داخلی کد منبع را به شکلی میانی به نام بایتکد تبدیل میکند که سپس به زبان کامپیوتر برای اجرا ترجمه میشود.
– نیازی به نگرانی درباره پیوند و بارگذاری با کتابخانهها و غیره نیست.
2) مستقل از پلتفرم:
– برنامههای پایتون میتوانند در چندین سیستم عامل مختلف توسعه یابند و اجرا شوند.
– پایتون میتواند بر روی لینوکس، ویندوز، مکینتاش، سولاریس و بسیاری از سیستم عامل های دیگر استفاده شود.
3) رایگان و متنباز؛ قابل توزیع مجدد
4) زبان سطح بالا
– در پایتون، نیازی به توجه به جزئیات سطح پایین مانند مدیریت حافظهای که توسط برنامه استفاده میشود نیست.
5) ساده:
– نزدیک به زبان انگلیسی؛ آسان برای یادگیری
– تأکید بیشتر بر راه حل مسئله تا سینتکس
6) قابل تعبیه:
– پایتون میتواند در برنامههای C و ++C برای ارائه قابلیتهای اسکریپتنویسی برای کاربران برنامه استفاده شود.
7) کارآمد:
– ویژگیهای استثنایی مدیریت خطا
– تکنیکهای مدیریت حافظه داخلی
8) پشتیبانی غنی از کتابخانه:
– کتابخانه استاندارد پایتون بسیار گسترده است.
– پایتون به این فلسفه که “همهچیز آماده است” (ارائه شده به همراه باتری) معروف است؛ چون کتابخانههای پایتون برای انجام امور متنوعی مانند کار با عبارات منظم (regular expressions)، تولید مستندات، تستهای واحد، برنامهریزی چند رشتهای (Threading)، دیتابیسها، مرورگرهای وب، CGI، ایمیل، XML، HTML، فایلهای WAV، رمزنگاری، رابط کاربری گرافیکی و موارد دیگر به ما کمک میکنند.
– علاوه بر کتابخانه استاندارد پایتون، کتابخانههای بسیار دیگری با کیفیت بالا، مانند کتابخانه های کار با تصویر در پایتون نیز وجود دارند، که برای کار با تصاویر به شکل شگفتانگیزی ساده هستند.
مقایسه پایتون و جاوا
جاوا |
پایتون |
نوعدهی ایستا: باید تمام نامهای متغیرها به همراه نوعشان صریحاً اعلام شوند. اگر شیء با نوع نادرستی به نام متغیر اختصاص داده شود، خطای نوع ایجاد میشود. | نوعدهی پویا: نیازی به اعلام نوع متغیر نیست. دستور اختصاص، نامی را به یک شیء متصل میکند و آن شیء میتواند از هر نوعی باشد. |
هنگام استفاده از اشیاء ظرفیتی (کانتینر) نیاز به تبدیل نوع میباشد | هنگام استفاده از اشیاء ظرفیتی (کانتینر) نیازی به تبدیل نوع نیست |
بیان پرگویانه (verbose)، شامل کلمات بیشتر | بیان مختصر (Concise) مفاهیم زیاد در کلمات محدود |
فشردگی کمتر | فشرده |
برای سازماندهی کد از آکولاد استفاده میکند | برای سازماندهی کد از تورفتگی استفاده میکند |
نشان دادن تفاوت در پرگویی نسبی بین برنامهنویسی جاوا و پایتون، برنامه ساده “Hello World” به عنوان مثال:
کد جاوا:
public class HelloWorld { public static void main (String[] args) { System.out.println("Hello, world!"); } }
کد پایتون:
print("Hello, world!")
شباهتهای پایتون با جاوا
1. هر دو نیاز به نوعی موتور اجرایی (runtime) در سیستم دارند (JVM برای جاوا / موتور اجرایی پایتون برای پایتون).
2. امکان تبدیل به کد اجرایی بدون نیاز به موتور اجرایی وجود دارد (البته این موضوع شرایطی است، و هیچ یک از این زبانها از نظر طراحی برای کار به این شکل ساخته نشدهاند).
استفادههای پایتون در نرمافزارها
پایتون به عنوان یک زبان اسکریپتنویسی در محصولات نرمافزاری متعدد با موفقیت استفاده شده است.
1. دیباگر گنو (GNU Debugger) از پایتون برای نمایش ساختارهای پیچیده مانند کانتینرهای ++C استفاده میکند.
2. پایتون در زمینه هوش مصنوعی کاربرد دارد.
3. پایتون برای پردازش زبان طبیعی به طور گسترده استفاده میشود.
کاربردهای کنونی پایتون
1. چندین توزیع لینوکس از نصب کننده های نوشته شده به زبان پایتون استفاده میکنند، به عنوان مثال در اوبونتو از نصب کننده Ubiquity استفاده میشود.
2. پایتون در صنعت امنیت اطلاعات، از جمله در توسعه ابزارهای نفوذ، کاربرد فراوانی دارد.
3. رزبری پای، که یک کامپیوتر تک برد است، پایتون را به عنوان زبان برنامهنویسی اصلی خود بکار میبرد.
4. پایتون همچنین در حوزه توسعه بازیها نیز مورد استفاده قرار گرفته است.
نکات مثبت
1. سهولت استفاده
2. رویکرد چند پارادایمی
نکات منفی
1. سرعت اجرای کمتر نسبت به C و ++C
2. غیبت در محیطهای محاسبات موبایل و مرورگرها
3. برای برنامهنویسان C و ++C که به زبان پایتون رو می آورند، ممکن است آزاردهنده باشد، زیرا این زبان از تورفتگی برای تنظیم کد استفاده می کند. برخی از نامهای متغیر مانند sum که معمولاً از آن ها ستفاده می کردند، در پایتون به عنوان توابع موجود هستند. بنابراین، برنامهنویسان C و ++C باید به این نکات توجه کنند.
اهمیت صنعتی پایتون
بیشتر شرکتها اکنون به دنبال افرادی هستند که با برنامهنویسی پایتون آشنا باشند. داشتن دانش پایتون میتواند شانس فرد را برای جلب توجه در مصاحبهها افزایش دهد. به همین دلیل، به تازهکاران توصیه میشود که یادگیری پایتون را آغاز کرده و در آن تبحر یابند.
پایتون یک زبان برنامهنویسی سطح بالا، تفسیری و همهمنظوره با تمرکز بر خوانایی کد است. در مقایسه با جاوا و C، مراحل کمتری دارد. این زبان در سال 1991 توسط توسعهدهندهای به نام گیدو ون راسوم ایجاد شد. پایتون از جمله زبانهای بسیار محبوب و در حال رشد سریع در جهان است.
پایتون زبانی قدرتمند، انعطافپذیر و کاربردی است. علاوه بر این، جامعه فعالی دارد. در بسیاری از سازمانها مورد استفاده قرار میگیرد زیرا از چندین پارادایم برنامهنویسی پشتیبانی میکند و همچنین مدیریت خودکار حافظه را انجام میدهد.
مزایای پایتون
1. دارای ماژولهای جانبی متعدد
2. کتابخانههای پشتیبانی گسترده (مانند NumPy برای محاسبات ریاضی و Pandas برای تحلیل دادهها)
3. متنباز و توسعه جامعهمحور
4. چندمنظوره، آسان برای خواندن، یادگیری و نوشتن
5. ساختارهای داده کاربرپسند
6. زبان سطح بالا
7. زبان با نوعدهی پویا (نیازی به ذکر نوع داده نیست، بر اساس مقدار تخصیص یافته، نوع داده تعیین میشود)
8. زبان شیءگرا
9. قابل حمل و تعاملی
10. ایدهآل برای نمونهسازی (prototyping) – با کدنویسی کمتر، عملکرد بیشتری فراهم میکند
11. بسیار کارآمد (طراحی شیءگرای تمیز پایتون، کنترل فرآیند بهبود یافتهای را فراهم میکند، و این زبان با قابلیتهای عالی در پردازش متن و یکپارچهسازی، همراه با چارچوب تست واحد خود، کارآمدتر است.)
12. فرصتهای استفاده در عرصه اینترنت اشیاء (IoT)
13. زبان تفسیری
14. قاببل استفاده بر روی سیستمعاملهای مختلف
کاربردهای پایتون
1. برنامههای دسکتاپ مبتنی بر رابط کاربری گرافیکی (GUI)
2. برنامههای طراحی گرافیکی، پردازش تصویر، بازیها، و برنامههای علمی/محاسباتی
3. چارچوبها و برنامههای وب
4. برنامههای کسب و کار و سازمانی
5. سیستمعاملها
6. آموزش
7. دسترسی به پایگاه داده
8. توسعه زبان
9. نمونهسازی
10. توسعه نرمافزار
سازمانهایی که از پایتون استفاده میکنند
1. گوگل (اجزای spider و موتور جستجوی گوگل)
2. یاهو (نقشهها)
3. یوتیوب
4. موزیلا
5. دراپباکس
6. مایکروسافت
7. سیسکو
8. اسپاتیفای
9. کوئورا
حالا قبل از اینکه ادامه دهیم، بیایید به سنت محبوب ‘HelloWorld‘ بپردازیم 😛 و سپس سینتکس پایتون را با ++C و جاوا مقایسه کنیم (این زبان ها را انتخاب کردم چرا که از مشهورترین و پرکاربردترین زبانها هستند).
پایتون:
# Python code for "Hello World" # nothing else to type...see how simple is the syntax. print("Hello World")
++C:
#include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; }
Java:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
توجه: لطفاً توجه داشته باشید که پایتون برای محدودهبندی خود به آکولادها ( { } ) وابسته نیست، بلکه از تورفتگی برای تعیین محدوده استفاده میکند.
حالا به بخش بعدی میرویم، و بیایید مبانی پایتون را شروع کنیم. مبانی را در چند بخش کوتاه پوشش خواهم داد. فقط آنها را بخوانید و به من اعتماد کنید، شما به راحتی مبانی پایتون را یاد خواهید گرفت.
مقدمه و راهاندازی
1. اگر از سیستمعامل ویندوز استفاده میکنید، پایتون را با کلیک بر روی این لینک دانلود کنید و سپس از طریق برنامه نصب، آن را نصب کنید. در منوی استارت، کلمه IDLE را تایپ کنید. IDLE را میتوانید به عنوان IDE پایتون برای اجرای اسکریپتهای پایتون در نظر بگیرید.
ظاهر آن تقریباً به این شکل خواهد بود:
2. اگر از لینوکس یا سیستمعاملهای شبهیونیکس استفاده میکنید، فقط ترمینال را باز کنید. در 99% توزیعهای لینوکس، پایتون به طور پیشفرض با سیستمعامل نصب شده است. فقط کافی است ‘python3‘ را در ترمینال تایپ کنید و پایتون آماده خواهد بود. ظاهر آن تقریباً به این شکل خواهد بود:
نماد ” >>> ” نشاندهنده شل (shell) پایتون است و نشان میدهد که سیستم آماده دریافت دستورات و کدهای پایتون است.
متغیرها و ساختارهای داده
در زبانهای برنامهنویسی دیگر مانند C، ++C، و جاوا، شما نیاز به اعلام نوع متغیرها دارید، اما در پایتون نیازی به انجام این کار نیست. فقط کافی است متغیر را تعریف کنید و زمانی که مقادیر به آن اختصاص داده میشوند، به طور خودکار تشخیص داده میشود که آیا مقدار داده شده یک int، float، char یا حتی یک String است.
# Python program to declare variables myNumber = 3 print(myNumber) myNumber2 = 4.5 print(myNumber2) myNumber ="helloworld" print(myNumber)
خروجی:
3 4.5 helloworld
ببینید چقدر ساده است، فقط یک متغیر ایجاد کنید، به آن هر مقداری که میخواهید اختصاص دهید و سپس از تابع print برای چاپ آن استفاده کنید. پایتون دارای چهار نوع ساختار داده داخلی است که عبارتند از لیست، دیکشنری، تاپل و مجموعه (set).
لیست سادهترین ساختار داده در پایتون است. لیست یک ساختار داده قابل تغییر است، یعنی میتوان آیتمها را پس از ایجاد لیست به آن اضافه کرد. مانند این است که شما برای خرید به بازار محلی میروید و فهرستی از برخی اقلام تهیه میکنید و بعداً میتوانید آیتمهای بیشتر و بیشتری به لیست اضافه کنید.
از تابع ()append برای افزودن داده به لیست استفاده میشود.
# Python program to illustrate a list # creates a empty list nums = [] # appending data in list nums.append(21) nums.append(40.5) nums.append("String") print(nums)
خروجی:
[21, 40.5, String]
ورودی و خروجی
در این بخش، ما یاد میگیریم که چگونه ورودی را از کاربر دریافت کنیم و سپس آن را مدیریت کنیم یا به سادگی نمایش دهیم. برای دریافت ورودی از کاربر از تابع ()input استفاده میشود.
# Python program to illustrate # getting input from user name = input("Enter your name: ") # user entered the name 'datayad' print("hello", name)
خروجی:
hello datayad
# Python3 program to get input from user # accepting integer from the user # the return type of input() function is string , # so we need to convert the input to integer num1 = int(input("Enter num1: ")) num2 = int(input("Enter num2: ")) num3 = num1 * num2 print("Product is: ", num3)
خروجی:
Enter num1: 8 Enter num2: 6 ('Product is: ', 48)
انتخاب در پایتون
انتخاب در پایتون با استفاده از دو کلیدواژه ‘if‘ و ‘elif‘ (معادل else if) و همچنین ‘else‘ انجام میشود.
# Python program to illustrate # selection statement num1 = 34 if(num1>12): print("Num1 is good") elif(num1>35): print("Num2 is not gooooo....") else: print("Num2 is great")
خروجی:
Num1 is good
توابع
میتوانید به توابع به عنوان مجموعهای از کدها فکر کنید که قصد دارند یک کار خاصی را در کل اسکریپت پایتون انجام دهند. پایتون از کلیدواژه ‘def‘ برای تعریف یک تابع استفاده میکند.
سینتکس:
def function-name(arguments): #function body
به عنوان مثال:
# Python program to illustrate # functions def hello(): print("hello") print("hello again") hello() # calling function hello()
خروجی:
hello hello again hello hello again
اکنون که میدانیم هر برنامهای از یک تابع ‘main‘ شروع میشود… بیایید مانند بسیاری از زبانهای برنامهنویسی دیگر، یک تابع main ایجاد کنیم.
# Python program to illustrate # function with main def getInteger(): result = int(input("Enter integer: ")) return result def Main(): print("Started") # calling the getInteger function and # storing its returned value in the output variable output = getInteger() print(output) # now we are required to tell Python # for 'Main' function existence if __name__=="__main__": Main()
خروجی:
Started Enter integer: 5
تکرار (حلقه)
همانطور که از نامش پیداست، به معنای تکرار کردن چیزها بصورت دوباره و دوباره است. ما در اینجا از محبوبترین حلقه، یعنی حلقه ‘for‘، استفاده خواهیم کرد.
# Python program to illustrate # a simple for loop for step in range(5): print(step)
خروجی:
0 1 2 3 4
ماژولها
پایتون دارای کتابخانه ماژولهای بسیار غنی است که شامل توابع متعددی برای انجام وظایف مختلف است. شما میتوانید با کلیک کردن اینجا اطلاعات بیشتری درباره کتابخانه استاندارد پایتون به دست آورید.
برای وارد کردن یک ماژول خاص به کد پایتون خود، از کلیدواژه ‘import‘ استفاده میشود. به عنوان مثال، به کد زیر توجه کنید.
# Python program to illustrate # math module import math def Main(): num = -85 # fabs is used to get the absolute # value of a decimal num = math.fabs(num) print(num) if __name__=="__main__": Main()
خروجی:
85.0