برنامه نویسی پایتون در سیستم اطلاعات جغرافیایی (GIS) – مرور مهمترین دستورهای زبان پایتون

 

پایتون در سیستم اطلاعات جغرافیایی (GIS)

یکی از مفاهیم پایه در هر زبان برنامه نویسی اشنایی با ترتیب عملگر ها می باشند. همانطور که می دانید به عبارت هایی مانند ضرب، تقسیم، جمع، تفریق، توان و پرانتز عملگر می گویند. یعنی یک عمل خاص را روی عملوندها (عبارتی که قرار است عملی روی ان انجام شود) انجام می دهند.

 

پایتون در سیستم اطلاعات جغرافیایی (GIS)

یکی از مفاهیم پایه در هر زبان برنامه نویسی اشنایی با ترتیب عملگر ها می باشند. همانطور که می دانید به عبارت هایی مانند ضرب ،تقسیم، جمع، تفریق، توان و پرانتز عملگر می گویند. یعنی یک عمل خاص را روی عملوندها (عبارتی که قرار است عملی روی ان انجام شود) انجام می دهند. در زبان برنامه نویسی پایتون نیز ترتیب اجرای عملگرها مانند سایر زبان ها و بر اساس قوانین ریاضی می باشد. برای مثال: 

>>>((4-1)**2*3+10)

همانطور که می دانید ترتیب اجرای عملگرها ابتدا پرانتز و در جایگاه بعد توان (نحوه نمایش توان در زبان پایتون بصورت ** است) جایگاه سوم مربوط به ضرب و تقسیم می باشد و در جایگاه اخر نیز جمع و تفریق قرار می گیرند. بنابرین در مثال بالا ابتدا مقدار ۴ از ۱ کم شده سپس به توان ۲ می رسد و نتیجه عبارت در مقدار ۳ ضرب می شود و در نهایت با مقدار ۱۰ جمع شده که نتیجه ۳۷ حاصل می شود.

اگر بخواهیم یک مثال دیگر از این موضوع بزنیم در ذیل به ان اشاره شده است: 

>>>((4-1)**2*)3+10()

همانطور که می بینید ابتدا عبارت داخل پرانتز محاسبه می شود. یعنی ۴ از ۱ کم شده نتیجه آن ۳ می شود. سپس مقدار ۳ با مقدار ۱۰ جمع شده که نتیجه آن ۱۳ می شود. اکنون نوبت توان می باشد یعنی نتیجه بدست آمده از تفاضل ۴ و ۱ به توان ۲ می رسد. حال تنها عملگر باقی مانده ضرب می باشد. یعنی مقدار۹ در مقدار ۱۳ ضرب شده و نتیجه حاصل می شود ۱۱۷ تا اینجا با عملگرهای ضرب، توان، جمع، تفریق و پرانتز آشنا شدیم یک عملگر دیگر باقی مانده آن هم تقسیم است البته نحوه عملکرد آن کمی متفاوت است از زبان های دیگر می باشد. به مثال ذیل توجه فرمایید.

>>> ۲۵/۸

۳

همانطور که از نتیجه بالا مشخص است حاصل تقسیم ۲۵ به ۸ یک مقدار صحیح شده است و این به معنی تقسیم صحیح می باشد. جالب اینجاست که عملگر تقسیم در پایتون دو نحوه پیاده سازی دارد که جلوتر توضیح خواهیم داد. قبل از آن لازم می بینم که یک تابع به شما معرفی کنم که با آن می توان نوع مقادیر را مشخص کرد کافی است بصورت زیر عمل کنید.

>>>  types (25)

<class ‘int’>

برای تشخیص نوع یا اینکه مشخص کنیم متغیر ما از چه نوع کلاسی است از تابع type مطابق با الگوی بالا استفاده می شد. برای مثال نوع عدد ۲۵ صحیح می باشد. حال اگر عدد ۲۵ را بصورت ۲۵٫۰ بنویسیم خروجی تابع اعشاری خواهد بود .

>>>   type     (۲۵٫۰)

<class ‘float’>

حالا برگردیم به اصل ماجرا یعنی نحوه عملکردن تقسیم در پایتون، برای تقسیم اعشاری در پایتون شما لازم نیست که عملگر جدیدی تعریف کنید فقط کافی است که یکی از عملوند ها را بصورت اعشاری وارد کنید. نتیجه تقسیم نیز اعشاری خواهد شد:

>>> 25/8.0

۳٫۱۲۵

>>> 

البته دستورات پایتون فقط به همین خلاصه نمی شود و راه را برای شما بسیار هموار کرد. شما می توانید از دستور float مطابق الگوی زیر استفاده کنید. تا هر انچه که در درون آن می نویسید برای شما نتیجه اعشاری را حاصل دهد.

>>> float(25/8)

۳٫۱۲۵

کامنت ها

متنی می باشد که توسط کامپایلر خوانده نمی شود در زبان پایتون برای کامنت کردن یک متن از علامت # استفاده می شود برای مثال

#this is a comment in python

اگر بخواهیم این متن را بدون علامت # بنویسیم چه خواهد شد؟

this is a comment in python

SyntaxError: invalid syntax

عملگرهای مقایسه

این عملگرها عبارتند از بزرگتر، کوچکتر، بزرگتر مساوی، کوچکتر مساوی و تساوی، در یک مثال می توان با نحوه عملکرد آنها بیشتر آشنا شد.

>>> 5>4

True

مثال بالا عملگر مقایسه بزرگتر را نشان می دهد. که نتیجه آن یک عبارت منطقی می باشد. یعنی مانند این است که  پرسیده شود که ایا ۵ از ۴ بزرگتر است یا خیر؟ که نتیجه داده می شود بله (true)

>>> 9 >3**2

False

در مثال ذکر شده مشخص است که نتیجه عبارت ۳ به توان ۲ از ۹ کوچک تر نیست بلکه برابر است و بنابرین نتیجه عبارت منطقی false  می شود.

عملگر تساوی در زبان پایتون مانند اکثر زبانهای برنامه نویسی == است. دقت کنید که وجود یک مساوی (=) به معنی انتساب است . یعنی یک مقداری را به یک متغییر انتساب داده یا نسبت داده به عنوان مثال

>>> a=10

>>> a+10

۲۰

به وضوح مشخص است که ابتدا مقدار ۱۰ به a  انتساب داده می شود سپس با مقدار ۱۰ جمع شده که خروجی برنامه همان ۲۰ است.

اما برگردیم به موضوع عملگر مقایسه ای تساوی (==) با ذکر یک مثال نحوه به راحتی می توان عملکرد آن را درک کرد.

>>> 9==3**2

True

۹==۵*۳

False

 بطور خلاصه برای سایر عملگر های مقایسه ای می توان در جدول ذیل آنها را خلاصه کرد.

 

مثال

توضیحات

عملگر مقایسه ای

۱

۹==۵*۳

False

تساوی

==

۲

>>> 9!=2

True

نامساوی

!=

۳

>>> 6>=8

False

بزرگتر مساوی

>=

۴

>>> 6<=8

True

کوچکتر مساوی

=>

۵

>>> 6>8

False          

بزرگتر

۶

>>> 6 <8

True

کوچکتر

 

 

عملگرهای منطقی

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

And: معادل اشتراک در ریاضی است. یعنی شرط زمانی برقرار است که هر دو عبارت درست باشد.

 Or: به معنی اجتماع درریاضی است. برقراری شرط درصورت تحقق یکی انجام می شود.

این عملگرها معمولا با دستور  if بکار می روند.

 

>>> if 3 >2 and 3!=2 :
Print(1)
Else:
Print(0)
>> 1

همانطور که در مثال مشخص است عملگر and  بین دو شرط قرار گرفته که هردوی آنها درست می باشند. و توسط دستور if  به همدیگر ارتباط پیدا کردن و یک ساختار معنادار را تشکیل داد. از این رو اگر هر دو شرط درست باشند که هستند مقدار یک در خروجی چاپ شده در غیر صورت مقدار صفر چاپ می شود.

 

>>> if 3 >5 or 3!=2 :
Print(1)
Else:
Print(0)
>> 1

 

در مثال بالا مشخص است که شرط اول برقرار نمی باشد. یعنی ۳ از ۵ بزرگتر نیست و شرط دوم مشخص است که برقرار است یعنی ۳ با ۲ برابر نیست. ولی چون نتیجه دو شرط با یکدیگر or  شده، اگر یکی برقرار باشد نتیجه کل نیز برقرار شده بنابرین باز هم مقدار ۱ چاپ می شود.

 

معرفی برخی از دستورات

دستور range

اگر بخواهید لیستی از اعداد را داشته باشید این دستور می تواند به شما کمک کند. پیاده سازی های مختلف از این دستور باعث شده که حالت های لیست گیری از اعداد نیز متفاوت باشد به عنوان مثال:

 

>>> range(5)

[۰,۱,۲,۳,۴]

اگر بخواهید به این صورت این تابع را فراخوانی کنید لیستی از عدد صفر n-1  را به شما می دهد که n عدد داخل پرانتز می باشد. که در این مثال این عدد ۵ است.

(Range(10,21 <<<

[۱۰,۱۱,۱۲,۱۳,۱۴,۱۵,۱۶,۱۷,۱۸,۱۹,۲۰]

همانطور که در مثال بالا نمایش داده شده نحوه فراخوانی به این صورت باعث می شود که لیستی از اعداد بصورت یک بازه بسته از ۱۰ تا ۲۰ بدهد.

 

تعریف یک مجموعه و کار با آن

اگر می خواهید یک لیست یا یک مجموعه از اعداد را در پایتون تعریف کنید می توانید بصورت ذیل عمل نمایید.

>>> m=[1,6,3,4]

اگر بخواهید به عنصری از مجموعه تعریف شده دسترسی پیدا کنید می توانید بصورت ذیل عمل کنید.

 

[۲] m<<

۳

باید دقت کنید که اندیس گذاری از عدد صفر شروع می شود. دسترسی به اندیس ۲ از مجموعه به معنی دستیابی به عنصر سوم مجموعه می باشد که همان عدد ۳ در این مثال است.

اگر بخواهیم عددی را به مجموعه اضافه کنیم از تابع insert  مطابق با الگوی زیر استفاده کرده

 

>>> m.insert(2,40)
>>> m
[۱,۶,۴۰,۳,۴]

حذف یک مقدار از مجموعه

برای حذف یک مقدار از مجموعه می توانیم از تابع del  کافی است نامه مجموعه و اندیسی که می خواهیم عنصر آن حذف شود را به تابع بدهیم تا عنصر مورد نظر را از مجموعه حذف نماید.

 

>>>del m[2]
>>>m
[۱,۶,۳,۴]

جستجو در مجموعه

برای جستجو در یک مجوعه از دستور for  و in  استفاده می کنیم. با یک مثال می توانیم به راحتی مفهوم جستجو در یک مجوعه و عملیات بر روی مقادیر مجموعه را به راحتی تشریح نمایم .

 

>>>m1=[5,7,3,9,2]

>>> for  x in  m1:

If x >5:

Print(x+100)

Else:

Print (x*100)

۵۰۰

۱۰۷

۳۰۰

۱۰۹

۲۰۰

توضیح کد نوشته شده

در خط اول: در هر بار تکرار (for) یک متغییر  (x از مجموعه m1  تعریف می کنیم (x in m1))

در خط دوم: اگر متغییر یا عنصر مجموعه از ۵ بزرگتر باشد .خط بعد اجرا می شود. وگرنه خط ۴ اجرا شده

در خط سوم: مقدار متغییر تعریف شده با مقدار ۱۰۰ جمع شده و چاپ می شود

در خط چهارم: در صورت برقرار نبودن شرط

در خط پنجم: مقدار متغییر در ۱۰۰ ضرب شده و چاپ می شود.

نکته : برای اینکه شرط خود را گسترش دهیم از دستور elif  استفاده می کنیم.

 

نحوه تعریف تابع در پایتون

برای تعریف تابع در پایتون از دستور def  مطابق با الگوی مثال ذیل استفاده می کنیم.

>>>def tabe(x,y,z):

        If x>y :

              Print(x+z)

       Elif y>x:

              Print(y+z)

       Else:

            Print(“adad eshteba ast”)

>>> tabe(7,9,100)

۱۰۹

همانطور که از مثال مشخص می باشد. در هنگام فراخوانی تابع با مقادیر ۷و ۹ و ۱۰۰ چون مقدار ۹ از ۷ بزرگتر است بنابرین مقدار y+z جمع شده و چاپ می شود. که همان مقدار ۱۰۹ است.

 

استفاده از دستور return

برای اینکه یک مقدار را از درون تابع به خارج ان برگشت دهیم از این دستور استفاده می شود.

>>> def t(a,b):

      If a>b:

        Return a+100

       Elsif a<b:

         Return b+100

       Else:

          Return 100

>>>t(8,20)

۱۲۰

استفاده از کتابخانه اماده در پایتون

یکی از کتابخانه های آماده پایتون کتابخانه ریاضی می باشد که بصورت ذیل می توان آن را فراخواند و استفاده نمود.

>>>import math

>>>a=95

>>>math.log(a,10)

۱٫۹۷۷۷۷۲۳

در کد بالا ابتدا کتابخانه ریاضی را فراخوانده و بعد مقدار ۹۵ را به متغییر a  نسبت داده و سپس از آن در مبنای ۱۰ از ان لگاریتم گرفته . کد زیر از a  تانژانت می گیرد.

>>> Math.tan(a)

۰٫۹۳

 

 

آنچه مطالعه کردید، توسط جناب آقای میثم الهی به عنوان برنامه نویسی پایتون در سیستم اطلاعات جغرافیایی (GIS) – مرور مهمترین دستورهای زبان پایتون و برداشت متنی بخش هایی از آموزش «آموزش مهم ترین دستورهای زبان پایتون» تهیه شده و جهت استفاده مخاطبین گرامی در فرادرس منتشر می شود.

 

پاسخی بگذارید

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