زبان‌های برنامه نویسی

آشنایی با ساختار زبان برنامه نویسی پایتون

در این دوره به ساختار زبانی پایتون و سین تکس های آن پرداخته می شود.

درود بر برنامه نویسان گرامی؛ در این مطلب ما به نحوه برنامه نویسی به زبان برنامه نویسی پایتون و ساختار آن می پردازیم
پس در ادامه با ما باشید.

 آسانی ساختار پایتون

پایتون بر خلاف زبان های برنامه نویسی دیگر بسیار ساختاری ساده و قابل فهم دارد

تا حدی که به عنوان تنها زبان برنامه نویسی که حتی کودکان می توانند با آن برنامه نویسی کنند؛ در این بخش ما به این ساختار ساده خواهیم پرداخت.


 پویایی و سادگی پایتون

یک برنامه Hello World در پایتون به آسان ترین حالت ممکن می توان نوشت:

print ("Hello World!")

و همین برنامه در سی شارپ:

using System;

namespace HelloWorldApp
{
    public class HelloWorld
    {
        public static void Main (string[] args) 
        {
            Console.WriteLine ("Hello World!");
        }
    }
}

ما از برنامه بالا نتیجه می گیریم که پایتون برخلاف C, Java, Switft, C++, C# که زبان های ایستا هستند یک زبان پویا است و شما از هر جا که بخواهید می توانید برنامه تان را شروع کنیم.

در اکثر زبان های برنامه نویسی یک تابع به نام Main یا main وجود دارد

که برنامه حتما باید از همین تابع شروع شود اما شما در پایتون نیازی به نوشتن تابع main نخواهید داشت.


 متغییر ها در پایتون

متغییر پایه و اساس هر زبان برنامه نویسی می باشد؛ پایتون هم از این قضیه مستثنا نیست:

a = 12

یکی از مزایای پایتون این است که شما برای متغییر نیازی به تعریف نوع داده آن نخواهید داشت اگر مقدار آن را عدد قرار دهید مفسر آن را عدد فرض می کند؛

اگر حروف قرار دهید آن را به عنوان حروف تشخیص خواهد داد و …

نام متغییر ها را می توان از حروف کوچک و بزرگ لاتین انتخاب کرد اما نباید عبارات کلیدی پایتون به عنوان نام متغییر در نظر گرفته شود؛ نام متغییر نباید با عدد شروع شود.

 انواع متغییر ها در پایتون

زبان برنامه نویسی پایتون همانند دیگر زبان ها از انواع متغییر ها پشتیبانی می کند:

  • عدد صحیح
  • عدد اعشاری
  • کلاس ها و شئ ها
  • رشته
  • بولین

نحوه تعریف متغییری با عدد صحیح:

i = 2

نحوه تعریف متغییر اعشاری:

P = 3.141519

از متغییر های صحیح و اعشاری برای محاسبات ریاضی بیشتر استفاده می شود به طور مثال:

a = 13
b = 23
c = a+b
print (c)

خروجی مثال بالا:

۳۶

 

در این مثال بالا ما ابتدا سه متغییر به نام های a و b و c تعریف می کنیم و برای دوتای اول مقدار تعیین کرده و جمع آنها را در c می ریزیم.


نحوه تعریف رشته در متغییر:

message = 'Hello World'

مقدار عبارت های رشته ای باید در تک کوتیشن ' یا دابل کوتیشن " نوشته شود.

متغییرهای رشته ای قابلیت محاسباتی نداشته و هرچه در آنها مقدار دهی شود همان در حافظه متغییر ذخیره می گردد و به صورت یک متن نمایش داده خواهد شد؛


نحوه تعریف بولین:

check = True

متغییر های بولین به درستی یا نادرستی شرط ها می پردازند؛ شرط درست با True و شرط نادرست با False مقدار دهی می شود (مثال):

به طور مثال فردا قرار است باران ببارد پس اگر بارید از خانه خارج نشو در غیر این صورت از خانه خارج شو:

rain = True
if rain:
    print ("You can't go outside, it's raining!")
else:
    print ("You can go outside.")

خروجی مثال بالا:

You can’t go out side, it’s raining!

 


نحوه تعریف آرایه:

school = [1,2,3,4,5]

آرایه ها در واقع لیستی از متغییر ها هستند که در یک متغییر بزرگی به نام آرایه قرار می گیرند به طور مثال:

fruits =  ['Apple','Banana','Grips','Pineapple']
print (fruits[1],"it's my favorite fruit.")

خروجی مثال بالا:

Banana it’s my favorite fruit.

در مثال بالا لیستی از چهار میوه در آرایه ای به نام fruits نوشته شده است؛ برای آنکه بخواهیم میوه موز (Banana) را از آن خارج سازیم باید عدد اندیس آن را بدانیم؛ ترتیب اندیس ها در آرایه از عدد ۰ شروع می شوند پس میوه موز عدد ۱ خواهد بود.


 دستورات شرطی در پایتون

دستورات شرطی  بخش بسیار مهمی در زبان برنامه نویسی اند. بدون آنها زبان برنامه نویسی معنا نخواهد داشت؛ در واقع شرط ها همان منطق در زبان برنامه نویسی می باشند.

دستورات شرطی در پایتون به سه بخش تقسیم می شوند:

  • دستور شرطی اگر (if)
  • دستور شرطی در غیر این صورت (else)
  • دستور شرطی در غیر این صورت اگر (elif)

نحوه تعریف شرط if:

if condition:
    commands

در بخش condition یک شرط گذاشته می شود اگر شرط صحیح بود دستورات داخل شرط اجرا خواهند شد در غیر این صورت شرط اجرا نخواهد شد.

در بخش commands دستوراتی که در صورت برقراری شرط است باید نوشت.

دستور شرطی elif هم همانند if نوشته می شود اما کارکرد آن متفاوت است و دستورات درون آن زمانی اجرا می شوند که شرط قبلی آن برقرار نباشد ولی شرط خودش بر قرار باشد.

نحوه تعریف else:

else:
    commands

اگر شرطی صحیح نباشد ما می توانیم بعد از آن از شرط جدیدی به نام else (به معنای در غیر این صورت) استفاده کنیم.

به طور مثال:

a = 12
if a>12:
    print ("a is bigger than 12")
elif a==12:
    print ("a is the same as 12")
else:
    print ("a is smaller than 12")

یک متغییر به اسم a داریم؛ در دستورات شرطی می گوییم اگر a از دوازده بزرگ تر بود چاپ کند که از عدد ۱۲ بزرگ تر است.

در غیر این صورت اگر a با عدد ۱۲ برابر است چاپ که هر دو با هم برابرند.

در غیر این صورت چاپ کند که a از عدد ۱۲ کوچک تر است.

خروجی مثال بالا:

a is the same as 12

 حلقه های تکرار

گاهی اوقات می خواهیم برنامه ای بنویسم که یک کار را چندبار انجام دهد یا چند متغییر را بگیرد یا …

به طور مثال از عدد ۱ تا ۵ را چاپ کن:

print (1)
print (2)
print (3)
print (4)
print (5)

اگر برای کدهای تکراری قرار باشد مانند بالا عمل کنیم کارایی برنامه پایین خواهد آمد و برنامه طولانی و ناخوانا خواهد شد.

برای رفع این مشکل باید از حلقه تکرار استفاده کرد.

خروجی مثال بالا:

۱
۲
۳
۴
۵

حالا همین مثال را با حلقه تکرار می نویسیم:

i = 1
while i<=5:
    print(i)
    i+=1

خروجی مثال با حلقه تکرار:

۱
۲
۳
۴
۵

 اقسام حلقه های تکرار

  • معیین که با عبارت کلیدی for هستند
  • نامعیین که با عبارت کلیدی while نوشته می شوند (البته می توان آنها را معیین کرد).

  حلقه تکرار while

معمولا از این حلقه در تکرار های نامعین استفاده می شود؛ نحوه نوشتن تکرار دستورات با این حلقه به شکل زیر است:

while condition:
    commands

در بخش condition شرط یا شرط ها قرار می گیرند و تا زمانی که برقرار باشند دستورات داخل حلقه تکرار خواهند شد.

به طور مثال از عدد ۱ تا ۱۰۰ چاپ کن:

i = 1

while i<=100:
    print (i,end=' ')
    i+=1

خروجی مثال بالا:

۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ ۴۹ ۵۰ ۵۱ ۵۲ ۵۳ ۵۴ ۵۵ ۵۶ ۵۷ ۵۸ ۵۹ ۶۰ ۶۱ ۶۲ ۶۳ ۶۴ ۶۵ ۶۶ ۶۷ ۶۸ ۶۹ ۷۰ ۷۱ ۷۲ ۷۳ ۷۴ ۷۵ ۷۶ ۷۷ ۷۸ ۷۹ ۸۰ ۸۱ ۸۲ ۸۳ ۸۴ ۸۵ ۸۶ ۸۷ ۸۸ ۸۹ ۹۰ ۹۱ ۹۲ ۹۳ ۹۴ ۹۵ ۹۶ ۹۷ ۹۸ ۹۹ ۱۰۰

ابتدا یک متغییر به عنوان شروع حلق تعریف می کنیم و مقدار آن را عدد ۱ می گذاریم؛

سپس در بخش شرط حلقه می گوییم اگر تا عدد ۱۰۰ این متغییر رسید دستورات داخل حلقه را اجرا کن در غیر این صورت حلقه را تمام کن.

در دستورات حلقه متغییر را چاپ می کنیم سپس به وسیله i+=1 (یعنی i قبلی را با عدد ۱ جمع کن و بگذار در i ) مقدار متغییر i را در هر حلقه زیاد می کنیم.

مثال دوم:

۶ نمره از یک دانش آموز را ثبت کن سپس معدل و جمع نمره ها را چاپ کن:

i = 1
sum = 0
avg = 0

while i<=6:
    sum+=int(input("Enter score "+str(i)+": "))
    i+=1
    
avg = sum/i

print ("Sum is",sum)
print ("Avg is",avg)

در مثال بالا دو متغییر به اسم های sum برای مجموع و avg برای معدل انتخاب می کنیم سپس متغییر i را هم شمارنده قرار می دهیم.

خروجی مثال بالا:

Enter score 1: ۱۸
Enter score 2: ۱۲
Enter score 3: ۱۵
Enter score 4: ۱۰
Enter score 5: ۲۰
Enter score 6: ۱۲
Sum is 87
Avg is 12.428571428571429

تابع input() که از کاربر مقدار می گیرد به صورت یک عبارت رشته ای آن را برمی گرداند که قابلیت محاسباتی ندارد پس برای اینکه بخواهیم آن را به عدد صحیح تبدیل کنیم باید تابع int() استفاده کنیم.

 حلقه تکرار for

این حلقه به مقدار معیین می پردازد و در شمارش آرایه ها کاربرد دارد و به شکل زیر تعریف می شود:

for var in array:
    commands

در واقع این حلقه تکرار تمام اندیس های داخل آرایه array در متغییری به نام var تکرار می کند و در بخش commands آن را اجرا می سازد به طور مثال:

fruits = ['Banana','Coconut','Grips']

for i in fruits:
    print (i)

خروجی مثال بالا:

Banana
Coconut
Grips

 تابع یا متد چیست؟

تابع مثال یک دستگاهی با ورودی و خروجی هاست؛ به طور مثال ماشین لباس شویی یک تابع است که لباس های کثیف ورودی ها و لباس های تمیز خروجی های آن خواهند بود در پایتون هم تابع همین تعریف را دارد:

def function (args, ...):
     commands

با عبارت کلیدی def تابعی به اسم function تعریف می کنیم؛ در بخش () ها ورودی ها قرار می گیرند تا موقع فراخوانی تابع از آنها استفاده شود و بعد از دو نقطه دستورات تابع و خروجی های آن قرار می گیرند به طور مثال یک تابع می نویسیم که دو عدد بگیرد و جمع آنها را چاپ کند:

def add (a,b):
    print (a+b)

add (1,2)
add (23,13)
add (54,33)

خروجی مثال بالا:

۳
۳۶
۸۷

تابع فقط یک بار تعریف می شود اما می توان از آن در برنامه چندین بار استفاده کرد که هم خوانایی برنامه را بالا می برد و هم فهم آن را آسان می سازد.

تابعی بنویسید که یک خط را خالی چاپ کند و به عنوان خط فاصله استفاده شود:

def newline ():
    print ()

print ('Welcome to ITPasand!')
newline()
print ('Hi!')

خروجی مثال بالا:

Welcome to ITPasand!

Hi

یک تابع در پایتون می تواند حتی ورودی نداشته باشد ولی حتما باید خروجی داشته باشد.

 برگشت مقدار تابع به عنوان خروجی

بعضی توابع یک یا چند مقدار متغییر را به عنوان خروجی بر می گردانند تا از آنها بتوان در متغییر ها استفاده نمود ؛ عبارت کلیدی برگشت مقدار به عنوان خروجی return می باشد.

به طور مثال یک ماشین حساب می سازیم تا چهار عمل اصلی را انجام دهد و مقدار آن را در متغییر به نام a برگرداند:

def calculator (a,o,b):
    if o=='+':
        return a+b
    elif o=='-':
        return a-b
    elif o=='*':
        return a*b
    elif o=='/':
        return a/b

a = calculator (12,'+',23)
print (a)

خروجی مثال بالا:

۳۵

 کلاس ها و کارکرد آنها

پایتون یک زبان سطح بالا و شئ گراست؛ در واقع شئ گرایی باعث می شود به راحتی بتوانید به وسیله کلاس ها با توابع و متغییرها در ارتباط باشید.

نحوه تعریف یک کلاس:

class myclass:
    def __init__ (self):
        super().__init__()

با عبارت کلیدی class می توانید یک کلاس تعریف کنید؛ بخش شروع یک کلاس تابع __init__ می باشد.

فراخواهنی کل کلاس:

a = myclass()

نحوه تعریف یک تابع در کلاس:

class myclass:
    def function (self, args, ...):
        commands

نحوه فراخوانی یک تابع از کلاس:

a = myclass()
a.function (args, ...)

مثال:

یک کلاس می نویسیم که ابتدا مبلغ حقوق پنج نفر را دریافت کند سپس در تابعی مجموع و میانگین آن را محاسبه کرده و در تابع سوم میانگین و مجموع را چاپ کند:

class money:
    payment = []
    sum = 0
    avg = 0

    def gets(self):
        i = 1
        while i<=5:
            self.payment.append(int(input("Enter payment "+str(i)+": ")))
            i+=1

    def calc(self):
        for i in self.payment:
            self.sum+=i
        self.avg=self.sum/5

    def prints (self):
        print ("Sum payments:",self.sum)
        print ("Avg payments:",self.avg)

s = money()
s.gets()
s.calc()
s.prints()

خروجی مثال بالا:

Enter payment 1: ۳۸۰۰۰
Enter payment 2: ۲۰۰۰۰
Enter payment 3: ۲۶۰۰۰
Enter payment 4: ۴۴۰۰۰
Enter payment 5: ۲۹۰۰۰
Sum payments: 157000
Avg payments: 31400.0
منبع
آی‌تی‌پسند
برچسب ها

مانی جمالی

سلام من مانی جمالی هستم اهل مشهد؛ برنامه نویس پایتون تخصص پای کیوت و طراح و توسعه دهنده پروژه پای ابر.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن