LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

۲۴ مطلب با موضوع «Programming» ثبت شده است

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


split

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

str.split(str="", num=string.count(str))

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

به مثال زیر توجه کنید:

#!/usr/bin/python
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( )
print str.split(' ', 1 )
print str.split(' ', 2 )


بعد از اجرای اسکریپت خروجی زیر را دریافت خواهید کرد:

['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
['Line1-abcdef', '\nLine2-abc', '\nLine4-abcd']

۰ نظر موافقین ۰ مخالفین ۰ ۲۳ آذر ۹۴ ، ۱۶:۳۷
مرتضی

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

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


lower

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

قاعده استفاده از این متد به صورت زیر است:

str.lower()

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

#!/usr/bin/python
str = "THIS IS STRING EXAMPLE....WOW!!!";
print str.lower();

خروجی آن به صورت زیر خواهد بود:
this is string example....wow!!!

۲ نظر موافقین ۳ مخالفین ۰ ۱۶ آبان ۹۳ ، ۱۶:۲۴
مرتضی

امروز تصمیم دارم راجع به اتخاذ تصمیم در اسکریپت نویسی به زبان shell یا همون bash ی توضیحاتی بدم. در شل دو حالت کلی وجود داره.

۱) if else

۲) case esac


عبارات if else

امروز من مورد یک رو که همون عبارت if else هست رو توضیح میدم. خود این مساله هم چند حالت داره که خدمتتون میگم:


۱) if fi

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

if [ expression ]
then
   Statement(s) to be executed if expression is true
fi


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

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

isalpha
این تابع بررسی میکند که آیا رشته مورد نظر فقط دارای حروف الفباست یا خیر. قاعده کلی استفاده از این تابع به صورت زیر است:
str.isalpha()

اگر تمامی کاراکترهای رشته از نوع حروف الفبا بود مقدار True و در غیر این صورت مقدار False را برگرداند. برای درک بهتر به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this";  # No space & digit in this string
print str.isalpha();
str = "this is string example....wow!!!";
print str.isalpha();

بعد از اجرا خروجی زیر رو دریافت میکنید:
True
False

isdigit
این تابع بررسی میکند که در رشته مورد نظر فقط عدد وجود دارد یا خیر. قاعده کلی استقاده از این تابع به صورت زیر است:
str.isdigit()

اگر رشته فقط دارای عدد بود مقدار True و در غیر این صورت مقدار False را برمیگرداند. به مثال زیر توجه کنید:
#!/usr/bin/python
str = "123456";  # Only digit in this string
print str.isdigit();
str = "this is string example....wow!!!";
print str.isdigit();

بعد از اجرا خروجی زیر را دریافت خواهید کرد:
True
False
۱ نظر موافقین ۰ مخالفین ۰ ۲۶ تیر ۹۳ ، ۱۴:۴۹
مرتضی

در بخش قبل اگه یادتون باشه ی توضیحاتی درباره رشته ها در پایتون دادم و حالا میخوام از توابع و ماژول هایی که برای رشته ها نوشته شده براتون بگم:


capitalize

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

str.capitalize()

برای مثال اسکریپت زیر رو درنظر بگیرید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print "str.capitalize() : ", str.capitalize()

خروجی اسکریپت به صورت است:
str.capitalize() :  This is string example....wow!!!


center

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

str.center(width[, fillchar])

بخش اول یا width بیانگر طول کلی رشته با حاشیه و بخش دوم بیانگر حاشیه ای هست که میخواین به رشته بدید هست. به مثال زیر توجه کنید:
#!/usr/bin/python
str = "this is string example....wow!!!";
print "str.center(40, 'a') : ", str.center(40, 'a')


خروجی اسکریپت به صورت زیر خواهد بود:

str.center(40, 'a') :  aaaathis is string example....wow!!!aaaa

۰ نظر موافقین ۰ مخالفین ۰ ۱۸ تیر ۹۳ ، ۲۳:۰۱
مرتضی

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


رشته ها یکی از معروفترین انواع داده ای در زبان پایتون هستند که اون ها رو میتونیم بین " "  و ' '  و یا """ """ بیاریم. برای مثال فرض کنید دو متغیر داریم که میخوایم بهشون مقدار رشته ای به صورت زیر تخصیص بدیم:

var1 = 'Hello World!'
var2 = "Python Programming"


دسترسی داشتن به رشته ها

نوع کاراکتری در پایتون عملا چیز بی معنایی هست و شما برای دسترسی داشتن به بخشی از رشته باید بدونید در پیاتون چیزی به اسم زیر رشته داریم و برای اون باید از علامت [] استفاده کرد.

برای درک بهتر یک مثال قرار دادم که توش دو رشته تعریف شده و ادامه ماجرا:

#!/usr/bin/python
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]


بعد از اجرا خروجی به صورت زیر دریافت خواهید کرد:

var1[0]:  H
var2[1:5]:  ytho


همونطور که میبینید در رشته ها هر کاراکتر یک مقدار اندیسی داره که این مقدار از 0 شروع میشه. در var1 صفرمین کاراکتر برابر H و در var2 وقتی مینویسید از ۱ تا ۵ برو به این معناست که از کارکتر یکم شروع کن و تا قبل از کاراکتر پنجم رو چاپ کن.

۰ نظر موافقین ۰ مخالفین ۰ ۱۳ تیر ۹۳ ، ۱۳:۳۴
مرتضی

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


تعریف آرایه ها

برای تعریف کردن آرایه ها در bash شما میتونید به صورت زیر برای اندیس های مختلف مقادیری رو تعیین کنید:

NAME[0]="Muhammad"
NAME[1]="Ali"
NAME[2]="Zahra"
NAME[3]="Hassan"
NAME[4]="Hossein"


برای صدا زدن هر یک از اون ها شما میتونید مثلا به صورت زیر عمل کنید:

$ echo ${NAME[0]}
Muhammad

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ تیر ۹۳ ، ۱۴:۱۰
مرتضی

برنامه ای که امروز نوشتم یک فایل متشکل از تعدادی سایت رو از شما میگیره (بدون http) و سایت هایی که وجود دارند رو برای شما در یک فایل به نام ok.txt میریزه. همچنین با اجرا کردن این برنامه خروجی به طور همزمان برای شما به نمایش در میاد... :)



برای دیدن کد به ادامه مطلب برید:

۱ نظر موافقین ۰ مخالفین ۰ ۰۸ تیر ۹۳ ، ۱۱:۱۲
مرتضی
در بخش قبل به توضیحی درباره متغیرها پرداختم و الان میخوام به بررسی متغیرهای مخصوصی در زبان bash بپردازم.
برای مثال اگر میخواین pid شل که در حال اجراست رو در بیارید میتونید به صورت زیر عمل کنید:
$ echo $$
29949

حالا میخوام به توضیح مختصری در باره این نوع متغیرها بپردازم و در انتها هم یک مثال براتون بیارم:
- $0 : نام اسکریپتی که در حال نوشتن اون هستید رو نمایش میده:
- n$ : در این جا شما میتونید به جای n مقدار عددی مثبت رو قرار بدید. مثلا 1$ بیانگر پارامتر اولی هست که به اسکریپت میدید و ....
- #$ : این علامت بیانگر تعداد پارامترهایی هست که این اسکریپت نیاز داره تا با اون ها اجرا بشه. یا تعداد پارامترهایی که اسکریپت با اون اجرا شده.
- *$ : تمام پارامتر ها رو به نمایش میذاره
- @$ : این هم مانند قبل همه پارامتر ها رو نشون میده
- ?$ : این متغیر وضعیت خروج آخرین دستور زده شده رو به صورت یک عدد به شما نمایش میده. مثلا اگر دستور آخری که اجرا کردید موفقیت آمیز بوده و صحیح بده مقدار 0 رو بر میگردونه و اگر دستور یا اسکریپت با موفقیت به اجرا در نیامد مقدار 1- را بر میگرداند
- $$ : شماره پراسه شل در حال اجرا یا شلی که در اون هستید رو بر میگردونه
- !$ : شماره پراسه آخرین دستوری که در background اجرا شده رو نمایش میده
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ تیر ۹۳ ، ۲۰:۴۴
مرتضی

امروز در ادامه بحث دیروز میخوام به بررسی باقی توابع ریاضی در پایتون بپردازم:

max

قاعده استفاده از این تابع به صورت زیر است:

max( x, y, z, .... )


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

#!/usr/bin/python
print "max(80, 100, 1000) : ", max(80, 100, 1000)
print "max(-20, 100, 400) : ", max(-20, 100, 400)
print "max(-80, -20, -10) : ", max(-80, -20, -10)
print "max(0, 100, -400) : ", max(0, 100, -400)


خروجی برنامه پایتون به صورت است:

max(80, 100, 1000) :  1000
max(-20, 100, 400) :  400
max(-80, -20, -10) :  -10
max(0, 100, -400) :  100


min

قاعده استفاده از این تابع به صورت زیر است:

min( x, y, z, .... )

این تابع نیز تعدادی عدد به عنوان ورودی گرفته و کوچکترین عدد از بین اون ها رو انتخاب و نمایش میده:

#!/usr/bin/python
print "min(80, 100, 1000) : ", min(80, 100, 1000)
print "min(-20, 100, 400) : ", min(-20, 100, 400)
print "min(-80, -20, -10) : ", min(-80, -20, -10)
print "min(0, 100, -400) : ", min(0, 100, -400)


بعد از اجرای اسکریپت خروجی زیر رو دریافت میکنید:

min(80, 100, 1000) :  80
min(-20, 100, 400) :  -20
min(-80, -20, -10) :  -80
min(0, 100, -400) :  -400

۱ نظر موافقین ۰ مخالفین ۰ ۰۶ تیر ۹۳ ، ۱۹:۱۷
مرتضی