زبان برنامه نویسی پایتون
آخرین به روزرسانی در 21/10/2022
در این مقاله قصد داریم در رابطه با زبان برنامه نویسی پایتون صحبت کنیم .
ما به بررسی کامل و تخصصی این زبان فوق العاده ، مزایا و ویژگی های آن و
همچنین تمام کاربردهایی را که داراست خواهیم پرداخت .
در این مقاله ما آموزش مقدماتی و اجمالی را نیز برای این زبان برنامه نویسی داریم پس
تا پایان مقاله با ما همراه باشید .
معرفی زبان برنامه نویسی پایتون
پایتون یک زبان برنامه نویسی سطح بالا، همه منظوره و بسیار محبوب بین برنامه نویسان است.
زبان برنامه نویسی پایتون در توسعه وب، اپلیکیشن های کاربردی ، همراه با تمام فناوری های پیشرفته
در صنعت نرم افزار استفاده می شود.
این زبان توسط Guido van Rossum در سال 1991 ایجاد شد و توسط بنیاد نرم افزار پایتون توسعه یافت.
زبان پایتون زبانی است که یادگیری و استفاده از آن برای مبتدیان تا متخصصان پیشنهاد می شود و جامعه ی بزرگی را در بر میگیرد.
دانستی هایی در رابطه با زبان پایتون
- پایتون در حال حاضر پرکاربردترین زبان برنامه نویسی چند منظوره و سطح بالا است.
- پایتون اجازه برنامه نویسی در پارادایم های شی گرا و رویه ای را می دهد.
- برنامه های پایتون به طور کلی کوچکتر از سایر زبان های برنامه نویسی مانند جاوا هستند ، به همین علت نیز در واقع جامع تر بوده
و نیازمند کدنویسی کمتر و بهینه ترین نسبت به سایر زبان ها است . - زبان پایتون تقریباً توسط تمام شرکت های غول فناوری مانند گوگل، آمازون، فیس بوک، اینستاگرام، دراپ باکس، اوبر و … استفاده می شود.
- بزرگترین نقطه قوت پایتون مجموعه عظیمی از کتابخانه های استاندارد است .
مزایا و کاربردهای زبان پایتون
- منبع باز بودن و جامعه ی بزرگ
- همه کاره، آسان برای خواندن، یادگیری و نوشتن
- ساختارهای داده ی کاربر پسند
- زبان سطح بالا
- زبان شی گرا
- قابل حمل و تعاملی
- ارائه عملکرد بیشتر با کدگذاری کمتر
- بسیار کارآمد (طراحی تمیز و شی گرا پایتون کنترل فرآیند پیشرفتهتری را ارائه میکند و زبان به پردازش متن و قابلیتهای یکپارچهسازی عالی است که بسیار کارآمد می باشد .)
- قابل استفاده برای تمامی سیستم عامل ها و پلتفرم ها
دانلود و نصب پایتون 3 (آخرین ورژن)
(مراحل نصب پایتون برای ویندوز)
در مرحله ی اول پایتون را از آدرس :
https://www.python.org/downloads/windows/
دانلود می کنید .
در تصویر زیر نسخههای پایتون برای ویندوز قابل مشاهده است که آخرین نسخه پایتون 3 که در حال حاضر وجود دارد یعنی پایتون 3.7.4 را پیدا کنید .
سپس مانند سایر نرم افزارها مراحل نصب را به پایان برسانید .
(لازم به ذکر است پایتون برای لینوکس ، Mac-OS ، اندروید و IOS نیز در دسترس است که نصب بر روی تمامی این سیستم عامل ها به راحتی قابل انجام می باشد.)
برنامه نویسی پایه در پایتون
در سایر زبان های برنامه نویسی مانند C، C++ و جاوا، باید نوع متغیرها را اعلام کنید،
اما در پایتون نیازی به انجام این کار ندارید. فقط متغیر را تایپ کنید و زمانی که مقادیر به آن داده می شود ، به طور خودکار متوجه می شود که آیا مقدار داده شده یک int ، float یا char یا حتی یک رشته است.
# Python program to declare variables
myNumber = 3
print(myNumber)
myNumber2 = 4.5
print(myNumber2)
myNumber ="helloworld"
print(myNumber)
ببینید چقدر ساده است، کافی است یک متغیر ایجاد کنید و هر مقداری که می خواهید به آن اختصاص دهید و سپس از تابع () Print برای چاپ آن استفاده کنید.
پایتون دارای 4 نوع ساختار داده است که عبارتند از List، Dictionary، Tuple و Set.
List اساسی ترین ساختار داده در پایتون است. List یک ساختار داده قابل تغییر است،
به این معنی که موارد می توانند بعداً پس از ایجاد ، لیست به لیست اضافه شوند.
مثل این است که می خواهید از بازار محلی خرید کنید و لیستی از برخی اقلام تهیه کرده اید و بعداً می توانید اقلام بیشتری را به لیست اضافه کنید.
تابع () append برای افزودن داده به List استفاده می شود.
# 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)
ورودی و خروجی در پایتون
در این بخش، یاد می گیریم که چگونه ورودی را از کاربر بگیریم و از این رو آن را دستکاری کنیم یا به سادگی نمایش دهیم.
تابع () input برای گرفتن ورودی از کاربر استفاده می شود.
# Python program to illustrate
# getting input from user
name = input("Enter your name: ")
# user entered the name 'harssh'
print("hello", name)
شرط ها
شرط ها در پایتون با استفاده از دو کلمه کلیدی if و elif و else (elseif) انجام می شود.
# 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")
توابع
می توانید توابعی مانند یک دسته کد را در نظر بگیرید که برای انجام یک کار خاص در کل اسکریپت پایتون در نظر گرفته شده است.
پایتون از کلمه کلیدی «def» برای تعریف یک تابع استفاده کرد.
# Python program to illustrate
# functions
def hello():
print("hello")
print("hello again")
hello()
# calling function
hello()
حلقه
نحوه ی استفاده از حلقه ها در پایتون مانند سایر زبان ها می باشد که ما در مثال پایین از محبوب ترین حلقه یعنی حلقه ی for استفاده کرده ایم .
# Python program to illustrate
# a simple for loop
for step in range(5):
print(step)
ماژول ها
پایتون یک کتابخانه ماژول بسیار غنی دارد که دارای چندین عملکرد برای انجام بسیاری از وظایف است.
کلمه کلیدی 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()
کلمات کلیدی در پایتون
کلمات کلیدی در پایتون کلمات ثبت شده ای هستند که نمی توانند به عنوان نام متغیر، نام تابع یا هر شناسه دیگری استفاده شوند.
( ما در ادامه هر کدام از این کلمات کلیدی را معرفی و برای آن های مثالی را خواهیم زد .)
True, False, None
True: این کلمه کلیدی یک بولین است که برای نشان دادن درستی یک عبارت مورد استفاده قرار می گیرد .
False: این کلمه کلیدی نیز از جنس بولین است که برای نشان دادن نادرستی یک عبارت مورد استفاده قرار می گیرد .
None: این یک ثابت خاص است که برای نشان دادن مقدار تهی یا خالی استفاده می شود.
# 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()
and, or, not, in, is
and : این یک عملگر منطقی در پایتون است. and اولین مقدار نادرست را بر می گرداند.
or : این نیز یک عملگر منطقی در پایتون است که اولین مقدار True را بر می گرداند .
not : این عملگر منطقی مقدار حقیقی را معکوس می کند.
In : این کلمه کلیدی برای بررسی اینکه آیا کانتینتر حاوی مقدار است یا خیر استفاده می شود.
Is : این عملگر نیز برای آزمایش بودن و یا نبودن و همچنین هویت شی مورد استفاده قرار می گیرد .
# showing logical operation
# or (returns True)
print(True or False)
# showing logical operation
# and (returns False)
print(False and True)
# showing logical operation
# not (returns False)
print(not True)
# using "in" to check
if 's' in 'geeksforgeeks':
print("s is part of geeksforgeeks")
else:
print("s is not part of geeksforgeeks")
# using "in" to loop through
for i in 'geeksforgeeks':
print(i, end=" ")
print("\r")
# using is to check object identity
# string is immutable( cannot be changed once allocated)
# hence occupy same memory location
print(' ' is ' ')
# using is to check object identity
# dictionary is mutable( can be changed once allocated)
# hence occupy different memory location
print({} is {})
کلمات کلیدی حلقه ها
For : این کلمه کلیدی برای کنترل جریان و برای حلقه زدن استفاده می شود.
While : دارای کار مشابهی مانند for است که برای کنترل جریان و حلقه کردن استفاده می شود.
Break : برای کنترل جریان حلقه استفاده می شود. همچنین برای خارج شدن از حلقه استفاده می شود و کنترل را بلافاصله پس از حلقه به دستور زیر منتقل می کند.
Continue : از این دستور نیز برای کنترل جریان کد استفاده می شود. کلمه کلیدی از تکرار فعلی حلقه می گذرد اما حلقه را به پایان نمی رساند.
# Using for loop
for i in range(10):
print(i, end = " ")
# break the loop as soon it sees 6
if i == 6:
break
print()
# loop from 1 to 10
i = 0
while i <10:
# If i is equals to 6,
# continue to next iteration
# without printing
if i == 6:
i+= 1
continue
else:
# otherwise print the value
# of i
print(i, end = " ")
i += 1
کلمات کلیدی دستورات شرطی :
if : یک عبارت کنترلی برای تصمیم گیری است. بیان حقیقت کنترل را مجبور میکند تا در بلوک عبارت «if» برود.
else : یک عبارت کنترلی برای تصمیم گیری است. عبارت نادرست کنترل را مجبور می کند تا در بلوک عبارت «else» برود.
elif : یک عبارت کنترلی برای تصمیم گیری است. مخفف « else if» است
# Python program to illustrate if-elif-else ladder
#!/usr/bin/python
i = 20
if (i == 10):
print ("i is 10")
elif (i == 20):
print ("i is 20")
else:
print ("i is not present")
کلمات کلیدی Return, Yield
Return : این کلمه کلیدی برای بازگشت از تابع استفاده می شود.
yield : این کلمه کلیدی مانند عبارت return استفاده می شود اما برای برگرداندن یک مولد استفاده می شود.
# Return keyword
def fun():
S = 0
for i in range(10):
S += i
return S
print(fun())
# Yield Keyword
def fun():
S = 0
for i in range(10):
S += i
yield S
for i in fun():
print(i)
تعریف کلاس
کلمه کلیدی class برای اعلام کلاس های تعریف شده توسط کاربر استفاده می شود.
# Python3 program to
# demonstrate instantiating
# a class
class Dog:
# A simple class
# attribute
attr1 = "mammal"
attr2 = "dog"
# A sample method
def fun(self):
print("I'm a", self.attr1)
print("I'm a", self.attr2)
# Driver code
# Object instantiation
Rodger = Dog()
# Accessing class attributes
# and method through objects
print(Rodger.attr1)
Rodger.fun()
کلمه کلیدی as
به عنوان کلمه کلیدی برای ایجاد نام مستعار برای ماژول وارد شده استفاده می شود.
یعنی دادن یک نام جدید به ماژول وارد شده. به عنوان مثال ریاضی را به عنوان mymath وارد کنید.
import math as gfg
print(gfg.factorial(5))
کلمه کلیدی Lambda
کلمه کلیدی Lambda برای ایجاد توابع بازگشتی درون خطی استفاده می شود.
# Lambda keyword
g = lambda x: x*x*x
print(g(7))
کلمات کلیدی try , except , raise , finally, و assert
try : این کلمه کلیدی برای رسیدگی به استثناها استفاده می شود و برای گرفتن خطاهای کد با استفاده از کلمه کلیدی except استفاده می شود.
Except : همانطور که در بالا توضیح داده شد، همراه try برای گرفتن استثناها کار می کند.
Finally : مهم نیست که نتیجه بلوک try چیست، بلوک ” finally ” همیشه اجرا می شود.
raise : با کلمه کلیدی raise می توانیم یک استثنا را به صراحت مطرح کنیم.
assert : این تابع برای اهداف اشکال زدایی استفاده می شود. معمولا برای بررسی صحت کد استفاده می شود.
اگر یک عبارت درست ارزیابی شود، هیچ اتفاقی نمی افتد، اما وقتی نادرست است، AssertionError مطرح می شود.
همچنین می توانید پیامی را با خطا که با کاما از هم جدا شده است چاپ کنید.
کلمه کلیدی del
del برای حذف یک مرجع به یک شی استفاده می شود. هر متغیر یا مقدار لیست را می توان با استفاده از del حذف کرد.
my_variable1 = 20
my_variable2 = "GeeksForGeeks"
# check if my_variable1 and my_variable2 exists
print(my_variable1)
print(my_variable2)
# delete both the variables
del my_variable1
del my_variable2
# check if my_variable1 and my_variable2 exists
print(my_variable1)
print(my_variable2)
کلمه global
از این کلمه کلیدی برای تعریف متغیری در داخل تابع استفاده میشود تا دامنه global داشته باشد.
# initializing number
a = 4
b = 0
# No exception Exception raised in try block
try:
k = a//b # raises divide by zero exception.
print(k)
# handles zerodivision exception
except ZeroDivisionError:
print("Can't divide by zero")
finally:
# this block is always executed
# regardless of exception generation.
print('This is always executed')
# assert Keyword
# using assert to check for 0
print ("The value of a / b is : ")
assert b != 0, "Divide by 0 error"
print (a / b)
# global variable
a = 15
b = 10
# function to perform addition
def add():
c = a + b
print(c)
# calling a function
add()
# nonlocal keyword
def fun():
var1 = 10
def gun():
# tell python explicitly that it
# has to access var1 initialized
# in fun on line 2
# using the keyword nonlocal
nonlocal var1
var1 = var1 + 10
print(var1)
gun()
fun()
در پایتون Namespaces
Namespaces برای هر شیء در پایتون یک نام منحصر به فرد دارد.
یک شی ممکن است یک متغیر یا یک متد باشد. پایتون خود Namespaces را در قالب فرهنگ لغت پایتون حفظ می کند.
بیایید یک مثال را مرور کنیم، ساختار سیستم فایل دایرکتوری در کامپیوترها.
نیازی به گفتن نیست که می توان چندین دایرکتوری با یک فایل با نام یکسان در داخل هر دایرکتوری داشت.
اما شخص میتواند فقط با مشخص کردن مسیر مطلق فایل به فایل هدایت شود.
اجازه دهید مثال دیگری را بزنیم ؛ ممکن است کسی یک نام “محمدی” را در کلاس پیدا نکند،
یا ممکن است چندین “محمدی” وجود داشته باشد، اما زمانی که شما نام خانوادگی را همراه با نام می گویید مثلا “علی محمدی ” تنها یک “علی محمدی” وجود خواهد داشت .
در خطوط مشابه، مفسر پایتون میداند که بسته به Namespaces ، میخواهد به چه روش یا متغیری در کد اشاره کند.
بنابراین، خود تقسیم کلمه اطلاعات کمی بیشتر می دهد. نام آن (که به معنای نام، یک شناسه منحصر به فرد است) + فضا (که در مورد چیزی مرتبط با محدوده صحبت می کند).
در اینجا، یک نام ممکن است از هر متد یا متغیر پایتون باشد و فاصله بستگی به مکانی دارد که در آن سعی می شود به یک متغیر یا یک متد دسترسی پیدا کند.
محدودیت Namespaces
طول عمر یک Namespaces بستگی به محدوده اشیاء دارد، اگر دامنه یک شی به پایان برسد،
طول عمر آن فضای نام به پایان می رسد. بنابراین، دسترسی به اشیاء Namespaces داخلی از Namespaces بیرونی امکان پذیر نیست.
# var1 is in the global namespace
var1 = 5
def some_func():
# var2 is in the local namespace
var2 = 6
def some_inner_func():
# var3 is in the nested local
# namespace
var3 = 7
همانطور که در شکل زیر نشان داده شده است، یک نام یک شی می تواند در فضای نام چندگانه وجود داشته باشد زیرا جداسازی بین یک نام توسط فضای نام آنها حفظ می شود.
Scope
Scope به منطقه کدگذاری اشاره دارد که از آن یک شی خاص پایتون قابل دسترسی است.
از این رو نمی توان از هر نقطه ای از کد به یک شی خاص دسترسی داشت، دسترسی باید توسط محدوده شی مجاز باشد.
بیایید مثالی بزنیم تا درک دقیقی از آن داشته باشیم:
# Python program showing
# a scope of object
def some_func():
print("Inside some_func")
def some_inner_func():
var = 10
print("Inside inner function, value of var:",var)
some_inner_func()
print("Try printing var from outer function: ",var)
some_func()
Regular Expression در پایتون
یک عبارت منظم (RegEx) دنباله خاصی از کاراکترها است که از یک الگوی جستجو برای یافتن یک رشته یا مجموعه ای از رشته ها استفاده می کند.
می تواند وجود یا عدم وجود یک متن را با تطبیق با یک الگوی خاص تشخیص دهد و همچنین می تواند یک الگو را به یک یا چند الگوی فرعی تقسیم کند.
پایتون یک ماژول re ارائه می دهد که از استفاده از regex در پایتون پشتیبانی می کند.
عملکرد اصلی آن ارائه جستجو است، جایی که یک عبارت منظم و یک رشته را می گیرد. در اینجا، یا بازی اول را برمی گرداند یا هیچ.
import re
s = 'GeeksforGeeks: A computer science portal for geeks'
match = re.search(r'portal', s)
print('Start Index:', match.start())
print('End Index:', match.end())
مهرسا امینی
برنامه نویس ، انیماتور ، سئوکار
در زندگی رویاهات را دنبال کن