نحوه ساخت سایت با زبان پایتون

آموزش ساخت سایت با استفاده از پایتون رایگان از ۱۱ تیر الی ۳۰ تیر

برای دیدن فیلم های آموزشی به این لینک مراجعه کنید

کد تخفیف برای دریافت رایگان :   ۱۳۹۸free

ساخت سایت با پایتون

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

 

ما در این پست استفاده از پایتون در وب را به صورت مختصر توضیح میدهیم .

 

web2py چیست؟  در ساخت و طراحی وب سایت با پایتون ماژول  web2py چگونه میباشد؟ web2py  یکی از فریم ورک های زبان برنامه نویسی پایتون می  باشد که  کاملا اپن سورس میباشد و قابل تغیر می باشد  و برای توسعه سریع ، پروژه های مقیاس پذیر و پروژه های با امنیت بالا، و پروژه هایی با دیتابیس portable و قابل حمل استفاده می شود و ما در نرم افزار های تحت وب میتوانیم از آن استفاده بکنیم که میتوانیم تحت زبان برنامه نویسی python پایتون  با این ماژول کار بکنیم

منظور از پروژه های مقیاس پزیر در بالا این هست که اگر در آینده شما خواستید پروژه خودتون رو توسعه بکنید و یا امکانات جدیدی بهش اضافه بکنید نیازی به تغییر دادن زبان برنامه نویسی و cms و… نیست. فرض بکنید که شما یک فروشگاه اینترنتی داشته باشید با بیش از ۱۰۰ هزار محصول و از پایتون ماژول web2py استفاده میکنید، در صورتی که بخواهید یک ویژگی یا قابلیت به سایتتون اضافه بکنید، مثلا واحد حسابداری به پنل مدیریت اضافه بکنید نیازی به این نیست که از صفر بشینید و پروژه ماژول web2py خودتون رو از صفر کدنویسی بکنید. به نوعی انعطاف پزیر میباشد و میتوان برای هر نوع سایتی از آن استفاده کرد و دغدغه و ترسی بابت اینکه در آینده بخواهید سایتی که با ماژول web2py پایتون رو توسعه بدید نخواهید داشت.

توضیحات بالا فقط یه چیز جزئی درباره ویژگی ” وبسایت مقیاس پذیر ” بود و هر کدام از موارد بالا رو اگر بخواهیم توضیح بدیم باید ساعت ها براش وقت بگزاریم.

روش دانلود پایتون ماژول Web2py برای طراحی وبسایت:

از  طریق وبسایت http://web2py.com/   میتوانیم پکیج این ماژول رو برای پلتفرم های مختلف مانند ویندوز ، مک ، یا حتی سورس کد آن برای توسعه دهنده ها و تست  کننده ها و کاربران عادی را دانلود بکنیم، و یا اگر باگ و مشکلی وجود داشته باشید در صحفه دانلود میتوانیم گزارش دهیم تا شرکت پایتون این مشکلات رو رفع بکنند، بنده یکبار یه باگی پیدا کرده بودم و بهشون گزارش دادم و در کمتر از ۳ روز به من جواب دادند و ضمن تشکر بابت گزارش مشکل گفتند که نسخه اصلاح شده الان در سایت قرار داره و قابل دانلود هست. ماژول web2py پایتون ،  تیم توسعه دهنده خوش زبان و خوش اخلاقی دارند و از همه طریق هم میشه باهاشون ارتباط برقرار کرد و خیلی هم خوب جوابگو هستند.

برای اینکه بتوانیم ماژول web2py  رو بر روی همه پلترفرم ها مانند ویندوز و لینوکس و… اجرا کنیم میتوانیم پکیج Source Code این ماژول رو از سایتhttp://web2py.com دانلود بکنیم، سپس با نصب کردن پایتون ۲.۶ یا پایتون ۲.۷ اجراش بکنیم. این هم عکس باکس دانلود web2py :

روش اجرا ماژول web2py :

بعد از اینکه در عکس بالا، ورژنی که مورد نیاز ما بود رو دانلود کردیم، باید فایل دانلودی رو unzip بکنیم و یک فایل داخلش هست به نام web2py.exe که باید بازش بکنیم.

اگر از نسخه Source Code این ماژول استفاده میکنیم، باید حتما python 2.6 یا python 2.7  رو نصب کرده باشیم و کد زیر را تایپ کنیم:

ا الان نسخه ۲.۱۴.۶ این ماژول منتشر شده،‌نسخه های قدیمی تر این ماژول و تغییرات نسخه جدید(همان change log) رو میشه تو لینک زیر مشاهده کرد:

https://github.com/web2py/web2py/releases

بعد از بررسی ها متوجه شدیم که NASA از نسخه ۲.۱۰.۴ این ماژول استفاده میکنه که آپریل ۲۰۱۵ منتشر شده J

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

چند تا از ویژگی های web2py تا شما هم انرژی بگیرید:

  • همه چیز تو یک پکیج آماده ، شامل multi threading web server
    • ,SQL database  و رابط کاربری تحت وب (نیازی به نصب کردن ادیتور و… نیست ☺)
  • به ۰ تا ۱۰۰ سایتتون و همه فایل ها و قسمت ها از طریق browser تون دسترسی داشته باشید،‌و حتی سایت های جدید درست بکنید و سایت های قدیمی رو ادیت بکنید
  • خیلی سریع سایتتون رو راه اندازی بکنید، کافیه این ماژول رو دانلود بکنید، یک application جدید در اون بسازید و از یکی از layout های آماده استفاده بکنید که این پروسه کلا ۵۵ دقیقه طول نمیکشه
  • رایگان پلاگین جدید نصب بکنید
  • فیلم های آموزشی فراوان
  • گروه های پشتیبانی و اپدیت همیشگی

نکته: در ماژول وب ۲ پای پایتون به وبسایت های ما اصطلاح application گفته میشود

چند تا از سایت های طراحی شده با web2py

  • قسمت هایی از وبسایت ناسا
  • org
  • https://www.usbank.com
  • وبسایت مرسدس بنز و…

برای اولین بار که شما web2py.exe را اجرا میکنید از شما یک پسورد خواسته میشود که این پسوردی که وارد میکنید به عنوان رمز عبور مدیریت حساب میشه. اگر هم چیزی ننویسید و این کادر پسورد رو خالی بزارید، قسمت مدیریت این ماژول غیرفعال میشود،‌اما بازم application یا سایت شما لود میشه

بعد از اینکه پسورد رو وارد کردیم باید روی start server کلیک بکنیم، و browser دیفالت ما باز میشه و ما به آدرس :

http://127.0.0.1:8000/welcome/default/index ریدایرکت میشیم

و بعد از خوش آمدگویی میتونیم عبارت مشهور: Hello World رو ببینیم

بیشتر بدانید ...

Python را ساده بیاموزیم۶

تصمیم گیری در Python

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

در تصمیم‌گیری‌ها، پایتون عبارت یا عباراتی را که «شرط» می‌نامیم بررسی کرده و ارزش منطقی (True یا False) آن‌ها را تعیین می‌کند. سپس در صورتی که مقدار عبارت True باشد قطعه کد خاصی را که برای آن شرط تعریف کرده‌اید اجرا می‌کند. در عموم زبان‌های برنامه‌نویسی من جمله پایتون ساختار شرطی را می‌توان به صورت زیر با فلوچارت نشان داد:

Null عبارتی قراردادی برای تخصیص مقدار صفر یا تهی به متغیر‌ها است. هنگامی که گفته می‌شود متغیری برابر Null است بدان معناست که متغیر خالی بوده و یا برابر صفر است.

همانطور که پیش‌تر گفته شد زبان پایتون هر مقدار غیر صفر و یا غیر Null را True و عبارات برابر صفر یا Null را False در نظر می‌گیرد.

ساختار ساده شرطی

یک عبارت شرطی ساده در زبان پایتون با ساختار زیر نوشته می‌شود:

if expression:
.    statements

عبارت expression عبارتی است که صحیح یا غلط (False / True) بودن آن بررسی می‌شود و statements دستوراتی هستند که در صورت True بودن عبارت expression اجرا خواهند شد. اگر که مقدار عبارت False باشد دستورات درون شرط اجرا نشده و برنامه به نخستین کد‌های پس از شرط پرش می‌کند.

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

x = int(input())

پس از آن نوبت به تعریف شرط می‌رسد. یک شرط ساده برای بررسی آن‌که عددی زوج یا فرد است بررسی باقی‌مانده عدد در تقسیم بر ۲ است. اگر باقی‌مانده صفر باشد عدد مربوطه بر ۲ بخش‌پذیر بوده پس زوج است و در غیر این صورت باقی‌مانده ۱ بوده و عدد فرد است. بنابرین به کمک عملگر‌هایی که در مقاله پیشین معرفی شد شرط باقی‌مانده بر ۲ را بررسی می‌کنیم:

x % 2 == 0

بنابرین قطعه کد نهایی به شکل زیر خواهد بود:

ساختار شرط و نقیض آن

حال فرض کنید که بخواهیم برنامه در صورتی که عدد فرد بود عبارت Odd را نمایش دهد. بدین منظور از ساختار شرط و نقیض پایتون استفاده می‌کنیم. در این ساختار چنانچه شرط صحیح باشد statements1 اجرا شده و در صورتی که شرط غلط باشد statements2 اجرا می‌شود:

if expression:
.     statements1
else:
.    statements2

بدین ترتیب کد برنامه به صورت زیر در می‌آید:

ساختار شروط چندگانه

در برخی شرایط لازم است چندین شرط متفاوت را یکی پس از دیگری بررسی کنیم. به طور مثال فرض کنید می‌خواهیم برنامه‌ای بنویسیم که از کاربر کل مبلغ خرید مشتری را دریافت کرده و بر اساس مبلغ خرید مشتری درصد تخفیفی که می‌بایست به مشتری داده شود را نمایش دهد. با فرض آنکه برای خرید‌های زیر ۱۰۰۰ ده درصد تخفیف، بین ۱۰۰۰ تا ۲۰۰۰ بیست درصد تخفیف، برای خرید‌های بین ۲۰۰۰ تا ۳۰۰۰ سی درصد تخفیف و برای خرید‌های بالاتر پنجاه درصد تخفیف به مشتری داده شود. بدین منظور از دستور elif برای بررسی شرط‌های اضافی استفاده می‌کنیم:

if expression:
.     statements1
elif expression:
.      statements2
….

در مورد تعداد شروط محدودیتی وجود ندارد. در انتهای تمامی شروط می‌توان با استفاده از else حالت نقیض کلیه شروط را بررسی کرد. یعنی قطعه کد else در صورتی اجرا می‌شود که هیچ یک از شروط دیگر صحیح نباشند.
بدین ترتیب، قطعه کد مسئله تخفیف خرید به صورت زیر در می‌آید:

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

بیشتر بدانید ...

Python را ساده بیاموزیم۵

عملگر‌های اولیه در Python

عملگر‌ها یا Operatorها از جمله اجزای بنیادی زبان‌های برنامه‌نویسی هستند. به اجزایی که یک عملگر بر آن‌ها عمل می‌کند عملوند یا Operand می‌گویند. عملگر‌های پایتون انواع گوناگونی دارند که عبارتند از:

عملگر‌های محاسباتی

  • عملگر + مجموع دو عملوند خود را بر می‌گرداند.
  • عملگر - حاصل تفریق علموند راست از عملوند چپ را بر می‌گرداند.
  • عملگر * حاصل ضرب دو عملوند خود را بر می‌گرداند.
  • عملگر / حاصل تقسیم عملوند چپ بر عملوند راست را بر می‌گرداند.
  • عملگر // قسمت صحیح حاصل تقسیم را بر می‌گرداند.
  • عملگر % باقی‌مانده تقسیم عملوند چپ بر عملوند راست را بر می‌گرداند.
  • عملگر ** عملوند سمت چپ خود را به توان عملوند سمت راست می‌رساند.

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

این عملگر‌ها دو عملوند خود را مقایسه کرده و نتیجه مقایسه را به صورت یک داده بولین باز می‌گردانند؛

  • عملگر == در صورت برابری عملوند‌ها True و در غیر این صورت False باز می‌گرداند.
  • علمگر =! در صورت نابرابری عملوند‌ها True و در صورت برابری آن‌ها False باز می‌گرداند.
  • عملگر > اگر عملوند چپ از راست کوچک‌تر باشد True و در غیر این صورت False باز می‌گرداند.
  • عملگر < اگر عملوند چپ از راست بزرگ‌تر باشد True و در غیر این صورت False باز می‌گرداند.
  • عملگر => اگر عملوند چپ از راست کوچک‌تر یا برابر آن باشد True و در غیر این صورت False باز می‌گرداند.
  • عملگر =< اگر عملوند چپ از راست بزرگ‌تر یا برابر آن باشد True و در غیر این صورت False باز می‌گرداند.

عملگر‌های تخصیص مقدار

در مقالات پیشین با یکی از این عملگر‌ها یعنی = آشنا شدیم. این عملگر می‌تواند با سایر عملگر‌ها ترکیب شود تا عبارات ساده‌تری حاصل شود. به طور مثال عبارت a = a + b را می‌توان با ترکیب عملگر + و = به صورت a += b نوشت. این دو عبارت نتیجه یکسانی دارند.

عملگر‌های بیتی

دو متغیر a و b با مقادیر به ترتیب ۶۰ و ۱۳ در نظر بگیرید. معادل باینری این اعداد به ترتیب ۰۰۱۱۱۱۰۰ و ۰۰۰۰۱۱۰۱ است. عملگر‌های بیتی مستقیما بر این بیت‌های ذخیره‌شده در حافظه اثر می‌گذارند. این عملگر‌ها عبارتند از:

  • عملگر & که عمل منطقی AND را به روی بیت‌ها انجام می‌دهد؛ اگر هر دو بیت متناظر ۱ باشند نتیجه ۱ و در غیر این صورت ۰ است.
    a & b = 00001100
  • عملگر | عمل منطقی OR را به روی بیت‌ها انجام می‌دهد؛ اگر حداقل یکی از بیت‌های متناظر ۱ باشد نتیجه ۱ و در غیر این صورت ۰ است.
    a | b = 00111101
  • عملگر ^ که عمل XOR را به روی بیت‌ها انجام می‌دهد؛ اگر تنها یکی از دو بیت متناظر یک باشد نتیجه ۱ و در غیر این صورت ۰ است.
    a ^ b = 00110001
  • عملگر ~ که تنها یک عملوند دارد (که پس از عملگر می‌آید). این عملگر مقدار تمامی بیت‌ها را معکوس می‌کند.
    a = 11000011~
  • عملگر << بیت‌ها را به سمت چپ جابجا (Shift) می‌کند. این عملگر بیت‌های ذخیره‌شده در متغیر سمت چپ آن را به اندازه عدد سمت راست آن به سمت چپ جابجا می‌کند.
    a >> 2 = 00001111
  • عملگر >> بیت‌ها را به سمت راست جابجا می‌کند. این عملگر بیت‌های ذخیره شده در متغیر سمت چپ آن را به اندازه عدد سمت راست آن به سمت راست جابجا می‌کند.
    a << 2 = 11110000

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

متغیر‌های Boolean می‌توانند می‌توانند حاوی مقادیر True یا False باشند. سایر متغیر‌ها نیز اگر حاوی مقداری غیرصفر باشند معادل True و اگر مقداری معادل صفر داشته باشند False در نظر گرفته می‌شود. عملگر‌هایی وجود دارند که به روی مقادیر منطقی متغیر‌ها عمل می‌کنند که عبارتند از:

  • عملگر and که به روی دو متغیر عمل کرده و در صورتی که هر دو True باشند مقدار True و در غیر این صورت False باز می‌گرداند.
  • عملگر or که به روی دو متغیر عمل کرده و در صورتی که حداقل یکی از دو متغیر True باشند مقدار True و در غیر این صورت False باز می‌گرداند.
  • عملگر not که تنها به روی یک متغیر عمل کرده و مقدار آن را معکوس می‌کند. نام متغیری که بر آن اثر می‌کند پس از نام عملگر می‌آید.

عملگرهای شمولیت

فرض کنید عملوند نخست این عملگر‌ها یک متغیر عادی و عملوند دوم یک لیست، چندتایی (Tuple)، رشته و یا نگاشت (Dictionary) باشد.

  • عملگر in در صورتی که عملوند دوم شامل عملوند اول باشد مقدار True و در غیر این صورت False باز می‌گرداند.
  • عملگر not in نقیض عملگر in است و در صورتی که عملوند دوم شامل عملوند اول نباشد True برمی‌گرداند.

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

عملگر‌های هویتی پایتون

این عملگرها آدرس محل قرارگیری عملوند‌هایشان در حافظه را بررسی می‌کنند.

برای دسترسی به اطلاعات هر متغیر درون Memory لازم است محل ذخیره‌سازی آن را بدانیم. محل ذخیره‌سازی را که Address می‌نامند یک عدد (۳۲ بیتی در سیستم‌های x86 و ۶۴ بیتی در سیستم‌های x86-64) است که شماره نخستین بایت آن متغیر در Memory را نگه‌داری می‌کند.

تابع id() در زبان پایتون عملکردی شبیه به عملگر & در زبان C و C++ دارد. این تابع مقداری عددی شبیه به یک Pointer در زبان C و C++ را باز می‌گرداند که محل ذخیره متغیر داده شده به تابع در حافظه را باز می‌گرداند. عملگر‌های هویتی در واقع مقدار این تابع برای دو عملوند خود را مقایسه می‌کنند.

  • اگر دو عملوند is در فضای مشترکی از حافظه ذخیره شده باشند مقدار Ture و در غیر این صورت مقدار False بازگردانی می‌شود.
  • عملگر is not نقیض عملگر is است و مقدار خروجی آن بر عکس است.

اولویت عملگر‌ها

هنگامی که مترجم پایتون به یک عبارت مرکب از چندین عملگر برسد به ترتیب لیست زیر که شباهت زیادی به اولویت عملگر‌ها در ریاضیات دارد عملگر‌ها را اعمال کرده و نتیجه را محاسبه می‌کند. اولویت‌ها عبارتند از:

  1. عبارت درون پرانتز
  2. عملگر توان (**)
  3. عملگر‌های دارای یک عملوند (~ + -)
  4. ضرب، تقسیم و باقی‌مانده (* / % //)
  5. جمع و تفریق (+ -)
  6. عملگر‌های جابجایی (شیفت) بیتی (>> <<)
  7. عملگر‌های شبه‌منطقی بیتی (& ^ |)
  8. عملگر‌های مقایسه‌ای (<= < > >=)
  9. عملگر‌های برابری (<> == !=)
  10. عملگر‌های اختصاص مقدار (= %= /= //= -= += *= **=)
  11. عملگر‌های هویتی (is is not)
  12. عملگر‌های شمولیت (in not in)
  13. عملگر‌های منطقی (not or and)
بیشتر بدانید ...

Python را ساده بیاموزیم۴

نوع‌داده‌ها در Python

برای انجام محاسبات و عملیات‌ به روی داده‌ها نخست لازم است آن‌ها را درون حافظه ذخیره کنیم. برای ذخیره در حافظه از متغیر یا Variable استفاده می‌شود.

متغیر یک فضای رزروشده در حافظه است. هنگامی که یک متغیر تازه ایجاد می‌کنید، مفسر (Interpreter) درون حافظه فضایی را به برنامه شما اختصاص می‌دهد؛ این عمل Allocate کردن حافظه (Memory) نامیده می‌شود. پس از آن شما می‌توانید داده دلخواهتان را درون متغیر ذخیره کنید.

تعریف یک متغیر

بر خلاف عموم زبان‌ها، در پایتون تعریف یک متغیر نیاز به هیچ کلمه کلیدی خاصی ندارد. تنها کافیست نام متغیر را وارد کنید تا Interpreter حافظه مورد نیاز آن را اختصاص دهد. به همین علت در پایتون تعریف یک متغیر و Initialize کردن آن (یعنی برای اولین بار به متغیر مقدار دادن) ترکیب می‌شوند.

مقدار‌دهی به متغیر

برای مقدار‌دهی به یک متغیر از عملگر (Operator) = استفاده می‌شود. عملوند (Operand) سمت چپ این عملگر، نام متغیر و عملوند سمت راست آن مقداری است که به متغیر اختصاص داده خواهد شد:

x = 10                                      # in integer variable
y = 2.5                                     # a decimal variable
z = “DABIRBARTAR.COM”    # a string
print(x)
print(y)
print(z)

در کد بالا، مقادیر ۱۰، ۲.۵ و DABIRBARTAR.COM به ترتیب به متغیر‌های x و y و z اختصاص داده می‌شوند.

مقدار‌دهی چندگانه

پایتون به شما امکان می‌دهد تا چندین متغیر را همزمان مقدار‌دهی کنید. اگر بخواهید به چندین متغیر مقدار یکسانی بدهید، از عملگر = به صورت متوالی استفاده کنید:

a = b = c = 1
print(a)
print(b)
print(c)

همچنین برای اختصاص مقادیر گوناگون، می‌توانید از ترکیب عملگر (,) و عملگر (=) استفاده کنید:

a, b, c = 1, 2, ‘DABIRBARTAR.COM’
print(a)
print(b)
print(c)

نوع‌داده‌های استاندارد

داده‌ها می‌توانند انواع گوناگونی داشته باشند؛ به طور مثال، سن یک فرد در یک متغیر عددی ذخیره می‌شود و آدرس محل سکونت او در قالب کاراکتر‌های الفبا و ارقام. پایتون نوع داده‌های گوناگونی دارد که برای ذخیره داده‌ها به کار می‌روند. این نوع‌داده‌ها در دسته‌هایی قرار می‌گیرند که عبارتند از:

  • اعداد: متغیر‌هایی که برای ذخیره داده‌هایی همچون سن، زمان، فاصله و … استفاده می‌شوند در قالب متغیر‌های عددی (Numeric) ذخیره می‌شوند. پایتون برای هر مجموعه اعداد (اعداد صحیح، اعداد حقیقی و اعداد مختلط) متغیری جداگانه دارد.
  • بولین: Boolean نوع خاصی از داده‌های عددی است. این نوع داده تنها مقدار True (صحیح) و یا False (غلط) دارد. هر مقدار غیر صفر معادل مقدار True و صفر معادل مقدار False در یک متغیر Boolean است.
  • رشته: رشته‌ها دنباله‌ای پیوسته از کاراکتر‌ها هستند که درون علامت‌های نقل‌قول (" و یا ') قرار می‌گیرند.
  • لیست: لیست‌ها تطبیق‌پذیر‌ترین نوع داده مرکب پایتون هستند. لیست‌ها شبیه به آرایه‌ها (Array) در زبان C هستند. با این تفاوت که عناصر این آرایه‌ها می‌توانند خود نوع داده‌های متفاوتی داشته باشند. عناصر لیست‌ها درون [] نمایش یافته و با ,جدا می‌شوند.
  • چندتایی مرتب (Tuple): چند‌تایی‌ها شبیه به لیست‌ها هستند. چند‌تایی‌ها به جای براکت، درون پرانتز نمایش می‌یابند. تفاوت اصلی میان چند‌تایی‌ها و لیست‌ها آن است که چند‌تایی‌ها قابل دستکاری نیستند. پس از آنکه یک چند‌تایی مقدار‌دهی شد اعضای آن تثبیت می‌شوند و در صورت انجام هرگونه تغییر به روی آن‌ها، متغیر تازه‌ای ایجاد شده و تغییرات در آن ذخیره می‌شود. به طور مثال:
tuple = ( ‘abcd’, 786 , 2.23, ‘john’, 70.2 )
list = [ ‘abcd’, 786 , 2.23, ‘john’, 70.2 ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
  • نگاشت (Dictionary): نگاشت‌ها مجموعه‌ای از زوج‌های مرتب هستند که مولفه اول آن‌ها که از آن به عنوان کلید یاد می‌شود منحصر به فرد است. هیچگونه محدودیتی به روی نوع داده مولفه‌های زوج‌های مرتب یک نگاشت وجود ندارد. اگرچه معمولا مولفه اول داده‌ای عددی یا رشته‌ای است. عناصر درون نگاشت‌ها به طور خودکار مرتب (Sort) نمی‌شوند (بر خلاف نوع‌داده‌های مشابه همچون map در C++).
dict = {}
dict[‘one’] = “This is one”
dict[2] = “This is two”
tinydict = {‘name’: ‘john’,’code’:6734, ‘dept’: ‘sales’}
print (dict[‘one’]) # Prints value for ‘one’ key
print (dict[2]) # Prints value for 2 key
print (tinydict) # Prints complete dictionary
print (tinydict.keys()) # Prints all the keys
print (tinydict.values()) # Prints all the values
بیشتر بدانید ...

Python را ساده بیاموزیم۳

قواعد دستوری زبان Python

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

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

در پایتون نمایش خروجی به کاربر به کمک تابع print انجام می‌شود. توابع عباراتی هستند که با درج نامشان و دادن مقادیری به آن‌ها (که پارامتر نامیده می‌شوند) درون پرانتز عملیات خاصی انجام می‌دهند. تابع print به عنوان پارامتر٬ عبارتی برای نمایش دریافت می‌کند. درون محیط کدنویسی خود، دستور زیر را وارد کرده و برنامه را اجرا کنید:

print(“Hello World”)

نتیجه مانند تصویر زیر به نمایش در خواهد آمد:

تبریک می‌گویم! شما نخستین برنامه‌تان را با زبان پایتون نوشتید! اما هنوز برای آن‌که وارد جزئیات دستور ساده فوق شویم زود است. پیش از آن لازم است به بررسی بیشتر قواعد دستوری پایتون و یادگیری چند مفهوم دیگر بپردازیم.

Identifier یا نام

یک Identifier در زبان پایتون٬ نامی است که برای خطاب‌کردن یک متغیر٬ تابع٬ کلاس٬ ماژول و یا شیء به کار می‌رود. Identifier‌ها می‌توانند حاوی حروف انگلیسی٬ کاراکتر آندر اسکور (_) و ارقام باشند. به خاطر داشته باشید نام یک متغیر نمی‌تواند با رقم شروع شود.
پایتون اجازه استفاده از کاراکتر‌هایی همچون @ و $ در Identifier‌ها را نمی‌دهد. پایتون به بزرگی و کوچکی حروف حساس است. به همین دلیل دو نام manpower و Manpower دو نام کاملا متفاوت و مجزا از هم هستند. به طور معمول تنها نام کلاس‌ها را با حروف بزرگ آغاز می‌کنند و سایر نام‌ها همگی با حروف کوچک آغاز می‌شوند. (درباره کلاس‌ها در آینده نزدیک توضیح خواهیم داد)

نام‌های رزرو‌شده

معدود اسامی هستند که توسط خود پایتون استفاده می‌شوند و شما نمی‌توانید از آن‌ها برای نام‌گذاری استفاده کنید. این اسامی عبارتند از:

and          exec       not
assert     finally     or
break      for           pass
class      from        print
global     raise       continue
def          if             return
del          import    try
elif          in            while
else        is            with
except   lambda   yield

خطوط و و تو‌رفتگی

بر خلاف زبان‌هایی همچون C و C++ پایتون برای مشخص‌کردن یک قطعه از کد از براکت‌ها ({} و []) استفاده نمی‌کند. در پایتون به جای آن از فرورفتگی متن استفاده می‌شود. فرورفتگی متن به معنای درج فاصله در ابتدای خط است. میزان این فاصله می‌تواند هر مقداری داشته باشد (اگرچه معمولا ۴ کاراکتر Space و یا یک کاراکتر Tab استفاده می‌شود). تنها مسئله حائز اهمیت آن است که تمام دستورات آن قطعه از کد به یک میزان فرورفتگی داشته باشند. خطوط پیوسته‌ای که به یک میزان فرورفتگی داشته باشند تشکیل یک قطعه کد یا Block یا Suite را می‌دهند.
کد زیر یک تکه کد پایتون حاوی قطعات متعددی است. در این مرحله تلاش کنید که قطعات کد را تشخیص دهید (از منطق آن چشم‌پوشی کنید):

#!/usr/bin/python

import sys

try:
# open file stream
file = open(file_name, “w”)
except IOError:
print “There was an error writing to”, file_name
sys.exit()
print “Enter ‘”, file_finish,
print “‘ When finished”
while file_text != file_finish:
file_text = raw_input(“Enter text: “)
if file_text == file_finish:
# close the file
file.close
break
file.write(file_text)
file.write(“\n”)
file.close()
file_name = raw_input(“Enter filename: “)
if len(file_name) == 0:
print “Next time please enter something”
sys.exit()
try:
file = open(file_name, “r”)
except IOError:
print “There was an error reading file”
sys.exit()
file_text = file.read()
file.close()
print file_text

عبارات چند‌خطی

به هر خط دستور در پایتون یک عبارت یا Statement گفته می‌شود. در برخی موارد یک عبارت طولانی‌تر از آن می‌شود که در یک خط جای گیرد. در چنین مواقعی به کمک کاراکتر \ (Back Slash) می‌توان عبارت را در چند خط نوشت. به طور مثال:

total = item_one + \
.           item_two + \
.           item_three

با این وجود٬ عباراتی که درون []٬ {} و یا () قرار می‌گیرند می‌توانند بدون درج بک‌اسلش در انتهای خط در چند خط نوشته شوند:

days = [‘Monday’, ‘Tuesday’, ‘Wednesday’,
          ‘Thursday’, ‘Friday’]

علامت نقل‌قول و رشته‌ها

برای مشخص‌کردن یک رشته در پایتون می‌توان از علامت نقل قول تکی (‘)٬ دوتایی (“) و حتی سه‌تایی (”’ و یا “””) استفاده کرد. البته علامت ابتدا و انتهای رشته باید یکسان باشد. از نقل قول سه‌تایی برای درج عینی رشته (مانند زمانی که بخواهید رشته‌ای را طی چند خط وارد کنید) استفاده می‌شود:

word = ‘word’
sentence = “This is a sentence.”
paragraph = “””This is a paragraph. It is
made up of multiple lines and sentences.”””

توضیحات یا Comment‌ها

درج توضیحات کوتاهی در کد از عاداتی است که به نگه‌داری کد و ترمیم آن در آینده٬ کمک شایانی می‌کند. به منظور درج یک کامنت در کدتان کافیست از کاراکتر # استفاده کنید. تمام کلماتی که پس از این کاراکتر تا انتهای خط درج شوند٬ یک کامنت محسوب می‌شوند و توسط Interpreter به کلی نادیده گرفته خواهند شد. به طور مثال تکه کد زیر:

# First comment
print (“Hello, Python!”) # second comment

خروجی زیر را می‌دهد:

Hello, Python!

اگر بخواهید چندین خط کامنت بنویسید هر خط می‌بایست به طور مجزا با علامت # آغاز شود.

خط خالی

خطی که حاوی هیچ دستوری نباشد و یا تنها حاوی یک کامنت باشد به کلی نادیده گرفته می‌شود. در اجرای تعاملی (Interactive) پایتون برای خاتمه دادن به یک عبارت چندخطی می‌بایست یک خط خالی درج کنید.

درج چندین دستور در یک خط

در مواردی که لازم است چندین عبارت (Statement) در یک خط دستور وارد شوند می‌توانید مابین آن‌ها از سمی‌کالن (;) استفاده کنید:

import sys; x = ‘foo’; sys.stdout.write(x + ‘\n’)

دریافت اطلاعات از کاربر

به منظور دریافت اطلاعات از کاربر از تابع input استفاده می‌شود. این تابع یک خط از stdin خوانده و آن بر می‌گرداند. مثال ساده زیر شیوه کار این تابع را نشان می‌دهد:

x = input()
print(x)

همانطور که از کد نیز می‌توان دریافت٬ برنامه فوق مقداری از کاربر دریافت کرده و سپس آن را نمایش می‌دهد. اگر کد زیر را در محیط کدنویسی خود وارد کرده و اجرا کنید٬ درون کنسول (بخش پایین صفحه که خروجی برنامه نمایش می‌یافت) برنامه منتظر می‌ماند تا شما عبارتی وارد کرده و سپس با زدن Enter آن را تایید کنید. عبارت وارد شده توسط input درون متغیر x ذخیره می‌شود و سپس محتوای این متغیر توسط print نمایش داده می‌شود:

بیشتر بدانید ...

Python را ساده بیاموزیم۲

راه‌اندازی محیط توسعه Python

پایتون برای طیف وسیعی از پلت‌فرم‌ها و سیستم‌عامل‌ها قابل استفاده است. اما پیش از آنکه بتوانیم با استفاده از این زبان برنامه‌نویسی کنیم، لازم است «محیط توسعه» آن را فراهم کنیم.

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

دریافت و نصب پایتون

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

تمامی زبان‌های برنامه‌نویسی برای اجرای صحیح باید به زبانی سطح پایین به نام Assembly تبدیل شوند که پس از آن به Machine Code یا کد ماشین تبدیل خواهد شد. دو شیوه متداول برای تبدیل کد‌های زبان به Assembly وجود دارد: زبان‌هایی همچون C و C++ اصطلاحا Compile می‌شوند؛ این زبان‌ها در هنگام گرفتن نسخه اجرایی برنامه (مانند .exe) به کد‌های ماشین تبدیل می‌شوند و فایل خروجی تنها شامل Machine Codeهاست. از برنامه‌هایی که با چنین زبان‌هایی نوشته شود، برای هر معماری سخت‌افزاری می‌بایست یک خروجی مجزا تهیه کرد. دسته دیگری از زبان‌ها همچون PHP و Python ترجمه یا Interpret می‌شوند. در این زبان‌ها کد‌های برنامه‌نویسی به کد خاصی به نام Byte Code تبدیل می‌شوند و فایل خروجی آن‌ها شامل همین Byte Codeهاست. این کد‌ها در هنگام اجرای برنامه توسط واسطی که به روی سیستم‌عامل نصب است به کد ماشین تبدیل شده و اجرا می‌شوند. این روش امکان اجرای یک کد را به روی سیستم‌عامل‌های گوناگون بدون نیاز به Compile دوباره آن فراهم می‌آورد.

عموم سیستم‌عامل‌ها مترجم نسخه ۲ این زبان را دارند اما این مقالات به روی نسخه ۳ پایتون تمرکز دارد. از این رو با مراجعه بهPython.org نخست بسته مربوط به نسخه ۳ را دریافت و به روی سیستم خود نصب کنید.

نصب پایتون مانند نصب سایر برنامه‌هاست. مراحل نصب را از طریق فایل Setup طی کنید و در صورت لزوم سیستم خود را ریستارت کنید.

به همراه نصب مترجم این زبان، ابزار‌هایی نیز به روی سیستم‌عامل شما نصب خواهد شد:

  • IDE یک محیط توسعه یکپارچه (Integrated Development Environment یا به اختصار IDE) است که امکان واردکردن دستورات و خطایابی آن‌ها (فرایندی که اصطلاحا Debug نامیده می‌شود) را فراهم می‌آورد.
  • Python 3.6 یک کنسول دستور‌نویسی است که برای برنامه‌نویسی تعاملی (Interactive) استفاده خواهد شد.
  • Manuals و Module Docs به ترتیب مستندات زبان پایتون و ماژول‌های آن هستند که برای کسب اطلاعات بیشتر می‌توانید به آن‌ها رجوع کنید.

برنامه‌نویسی تعاملی

در بخش قبل گفته شد که ابزار Python 3.6 به روی سیستم‌عامل به شما امکان برنامه‌نویسی تعاملی را می‌دهد. در این شیوه، شما می‌توانید در پنجره کنسولی نمایش یافته دستورات خود را خط به خط نوشته و پس از وارد‌کردن هر خط نتیجه آن را مشاهده کنید. این شیوه بیشتر در انجام محاسبات و انجام فرایند‌های ریاضی و مهندسی متداول است و برای نوشتن برنامه کاربرد ندارد.

برنامه‌نویسی به کمک IDE

IDE یک بستر برنامه‌نویسی است که علاوه بر امکان وارد‌کردن دستورات و مشاهده نتایج آن‌ها، امکان خطایابی و رفع اشکالات برنامه را نیز فراهم کرده و این امر را بسیار آسان می‌کند. برای زبان Python نرم‌افزار‌های IDE گوناگونی وجود دارد اما در این مقالات قصد داریم از JetBrains PyCharm استفاده کنیم. این IDE علاوه بر برخورداری از امکانات فراوان و یکی از بهترین Code Inspector‌ها نسخه رایگانی برای استفاده دارد. به منظور دریافت و نصب این IDE به وب‌سایت کمپانی JetBrains مراجعه کرده و نسخه Community این برنامه را دریافت و نصب کنید (اگر دانشجو و یا استاد هستید می‌توانید نسخه حرفه‌ای این برنامه را نیز با لایسنسی رایگان دریافت و نصب کنید).

به روی Create New Project کلیک کنید، عنوانی برای پروژه خود وارد کرده و ok نمائید. ممکن است در اجرای نخست برنامه سیستم شما را برای یافتن کتاب‌خانه‌های Python جستجو کند. پس از پایان این فرایند، به روی پوشه به نام پروژه کلیک راست کرده و از گزینه New گزینه Python File را انتخاب کنید:

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

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

نتیجه اجرای برنامه در پایین صفحه در قسمت Run نمایش می‌یابد:

تمامی مثال‌هایی که در ادامه مقالات آمده‌اند با پایتون ۳.۶.۲ به روی سیستم‌عامل Windows 10 x86-64 اجرا و آزموده شده‌اند.

بیشتر بدانید ...

Python را ساده بیاموزیم۱

شروع کار با Python

پایتون یک زبان برنامه‌نویسی سطح بالا و شی گراست. یکی از ویژگی‌های اصلی این زبان خوانایی بالای کد این زبان است. این زبان بر خلاف عموم زبان‌های دیگر واژه‌های کوتاه‌شده و نشانه‌گذاری استفاده می‌کنند، از کلیدواژه‌هایی (به زبان انگلیسی) استفاده می‌کند.
بارز ترین ویژگی های پایتون که میتوان به آنها اشاره داشت عبارتند از:

  • پایتون ترجمه (Interpret) می‌شود: بر خلاف زبان‌هایی همچون C و C++ کد‌های پایتون کامپایل نمی‌شوند، بلکه در هنگام اجرا توسط مترجم (Interpreter) ترجمه شده و اجرا می‌شوند. زبان‌های PHP و PERL نیز به این صورت عمل می‌کنند.
  • پایتون متعامل (Interactive) است: شما می‌توانید با استفاده از کنسول پایتون دستوراتتان را خط به خط به مترجم داده و نتیجه آن را مشاهده کنید.
  • پایتون شی‌گرا (Object Oriented) است: پایتون از مفهوم شی‌گرایی (دسته‌بندی یا Encapsulation کد درون کلاس‌ها و ایجاد شی از کلاس) پشتیبانی کامل دارد.
  • پایتون برای مبتدیان بهترین انتخاب است: پایتون در عین سادگی و پویایی بالا که یادگیری آن را برای تازه‌کار‌ها ساده می‌سازد می‌تواند برای طراحی برنامه‌های کوچک تحت ویندوز گرفته تا طراحی صفحات وب و یا حتی ساخت بازی‌ها استفاده شود!

از جمله امکانات پایتون می‌توان به:

  • سادگی در یادگیری
  • خوانایی بالای کد
  • نگه‌داری (Maintenance) ساده
  • بهره‌مندی از کتابخانه استاندارد جامع و قدرتمند که از تمامی سیستم‌عامل‌های خانواده Windows, Macintosh و UNIX پشتیبانی می‌کند
  • قابل حمل (Portable) و عملکرد مشابه به روی عموم بستر‌های سخت‌افزاری
  • امکان افزودن ماژول‌های سطح پایین به مترجم برای اعمال شخصی‌سازی (Customization) های بنیادی در برنامه
  • پشتیبانی کامل از تمامی استانداردهای پایگاه‌های داده (Database) موجود
  • پشتیبانی از برنامه‌نویسی محیط گرافیکی (GUI)
  • فراهم‌سازی بستر مناسب‌تر برای برنامه‌های بزرگ و گسترده نسبت به دیگر زبان‌ها
  • پشتیبانی هم‌زمان از برنامه‌نویسی ساختاریافته و شی‌گرا
  • امکان کامپایل کد به بایت-کد برای برنامه‌های بزرگ
  • نوع داده‌های جامع، سطح بالا و پویا

اشاره نمود.

بیشتر بدانید ...