Deadmarshal

لینوکس و برنامه نویسی

Deadmarshal

لینوکس و برنامه نویسی

Deadmarshal

مطالب لینوکس و برنامه نویسی.

طبقه بندی موضوعی
کلمات کلیدی
بایگانی

مقدمه کلاس های پایتون (قسمت 1 از 2)

پنجشنبه, ۱۵ مرداد ۱۳۹۴، ۱۱:۳۷ ق.ظ

کلاس ها1 راهی برای گروه بندی تکه داده های مرتبط به یکدیگر در یک واحد (همچنین معروف به شیء2) است، با توابع3 که می توانند برای دستکاری شیء ها صدا زده شوند. برای مثال؛ اگر میخواهید اطلاعات درباره یک شخص را پیگیری کنید، شاید باید نام، آدرس و شماره تلفن او را در یک واحد قابل دستکاری ثبت کنید. 

پایتون روشی ناشیانه برای سروکار داشتن با کلاس ها دارد، پس حتی اگر با زبان های برنامه نویسی شیء گرا مانند جاوا و ++C نیز آشنایی داشته باشید، از آنجایی که تفاوت هایی در پایتون وجود دارد باید به نکات ضریفی توجه کنید.

قبل از شروع مهمه که تفاوت بین کلاس و شیء را بدانیم. یک کلاس توضیحی از این است که چیز ها چگونه باید به نظر برسند، کدام متغیر ها دسته بندی میشوند و کدام توابع باید برای سروکله زدن با آن متغیر ها صدا زده شوند. با استفاده از این توضیح، پایتون می تواند چندین نمونه کلاس (یا شیء) را بسازد، که هرکدام به صورت جداگانه می توانند دست کاری شوند. به کلاس ها به صورت یک چاقوی کلوچه نگاه کنید - خودش کلوچه نیست، اما توضیحی از این است که کلوچه چه شکلی باشد، و از آن چاقو برای ساخت کلوچه های مستقل میتوان استفاده کرد، که هر کدام از اون کلوچه ها را میتوانیم بخوریم! 


تعیین یک کلاس پایتون

بیایید با تعیین یک کلاس شروع کنیم:

نام کلاس foo است، از دندانه گذاری برای مشخص کردن شروع و پایان کلاس استفاده می کنیم. در این مثال، کلاس حاوی دو توضیح تابع (یا متد) است، یکی با نام __init__ و دیگری printVal. همچنین یک متغیر عددی به صورت غیر مستقیم تعریف شده است، که در زیر آن را هم توضیح خواهیم داد.
عکس بالا نشان می دهد که کلاس معین شده به چه شکلی است. دو متد و یک متغیر عددی. با استفاده از این تعریف حال می توانیم چندین نمونه از کلاس ایجاد کنیم. 
میتوانید ببینید که هر دوی متغیر ها پارامتری به نام self را گرفته اند. به صورت سنتی این پارامتر بیشتر self نامیده می شود هرچند می توانید هر نامی به جای آن قرار دهید اما باعث گیج شدن برنامه نویسان دیگری که به کد شما نگاه می اندازند می شوید. به دلیل اینکه می توانیم چندین نمونه از کلاس ایجاد کنیم، وقتی متد کلاسی صدا زده شود، باید بداند که با کدام نمونه کار بکند، و اینجا آنجایی است که self به کمک ما خواهد آمد. 
__init__ متدی خاص است که وقتی پایتون نمونه جدیدی از کلاس میسازد صدا زده می شود(برای مثال: استفاده از چاقو برای ساختن کلوچه های کوچکتر). در مثال ما، یک پارامتر به نام val قبول می کند (به جز پارامتر الزامی self) و یک کپی از آن در متغیر عضو میگیرد، همچنین با نام val. خلاف زبان های دیگر، که متغیر ها قبل از استفاده باید معین شونند، پایتون متغیر ها را می سازد، وقتی اول معین شده باشند، و متغیر های عضو کلاس از این قائده مستثنی نیستند. برای تمایز متغیر val که به عنوان پارامتر وارد شده و متغیر val عضو کلاس، به دومی پیشوند self را اضافه می کنیم. پس، در جمله زیر:  
self.val به متغیر عضوی که متعلق به نمونه کلاس متدی است که صدا زده شده، اشاره می کند. و val به پارامتری که در متد رد شده است. 
اینها یکم گیج کننده است، پس بیایید به این مثال توجه کنیم:
این نمونه ای از کلاس ما می سازد(مثل چاقویی که کلوچه را میبرد). پایتون به صورت خودکار متد __init__ را برای ما صدا می زند، و ارزشی که ما معین کرده ایم را رد می کند(1). پس یکی از اینها رو میگیریم:
بیایید یکی دیگه بسازیم:
دقیقا چیزهای مشابه بالا اتفاق می افتد، تنها تفاوت این است که در متد __init__ عدد (2) رد می شود. 
حال ما دو شیء جدا داریم، با ارزش های مختلف برای متغیر عضو val.
اگر print.val را برای شیء اول صدا بزنیم، ارزش متغیر عضو آن چاپ می شود:
و اگر هم print.val را برای شیء دوم صدا بزنیم، ارزش متغیر عضو خودش را چاپ می کند:

۰ نظر موافقین ۰ مخالفین ۰ ۱۵ مرداد ۹۴ ، ۱۱:۳۷
ali moradi

چطور RubyGems را در لینوکس نصب کنیم! (اوبونتو و بقیه)

دوشنبه, ۲۴ فروردين ۱۳۹۴، ۱۰:۱۸ ب.ظ

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


نصب RubyGems با استفاده از apt-get در اوبونتو

sudo apt-get install rubygems


نصب RubyGems با استفاده از yum


sudo yum install rubygems


روش نصب دستی

wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.0.tgz
tar xvf rubygems-1.5.0.tgz
cd rubygems-1.5.0
sudo ruby setup.rb


کار به اتمام رسید. حال می توانید برنامه های Gem را با دستور gem install نصب نمایید.

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ فروردين ۹۴ ، ۲۲:۱۸
ali moradi