Python Book
Python Book
ایران
کتاب آموزشی برنامه نویسی اندروید در Android
Studio
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
تقدیم هب انئب امام عصر ،حضرت آیت اهلل خامنه ای هک عصا زدنش ضرب آهنگ حیدری دارد
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
فهرست
تاريخچه ی پايتون 11 .........................................................................................................................................
ويژگی ها و امکانات 11 ......................................................................................................................... Python
نصب محيط محلی برنامه نويسی 13 .......................................................................................................................
دريافت 14 .......................................................................................................................................... Python
نصب 14 ............................................................................................................................................ python
تنظيم مسير 15 ..................................................................................................................................................
تنظيم مسير در محيط 16 .................................................................................................................. Unix/Linux
تنظيم مسيردر سيستم عامل ويندوز 16 ....................................................................................................................
متغيرهای محيطی پايتون (17 ......................................................................................... )environment variable
راه اندازی پايتون 17 ..........................................................................................................................................
اولين برنامه ی پايتون 20 ....................................................................................................................................
برنامه نويسی با فراخوانی مفسر 20 .......................................................................................................................
فراخوانی مفسر با يک اسکريپت به عنوان پارامتر 20 ................................................................................................
شناسه ها در پايتون21 ........................................................................................................................................
کلمات رزرو شده 22 ..........................................................................................................................................
خطوط فاصله و تورفتگی 22 ................................................................................................................................
دستورهای چندخطی24 .......................................................................................................................................
عالمت نقل و قول يا کوتيشن در پايتون 24 ...............................................................................................................
( Commentتوضيحات) در پايتون 24 ..................................................................................................................
استفاده از خطوط تهی 25 ....................................................................................................................................
منتظر کاربر بودن 25 .........................................................................................................................................
چندين دستور در يک خط 26 ................................................................................................................................
suiteيا مجموعه دستورات در پايتون 26 ................................................................................................................
آرگومان های خط فرمان (26 ................................................................................... )command-line arguments
تخصيص مقادير به متغيرها 27 .............................................................................................................................
چندين تخصيص به صورت يکجا 28 ......................................................................................................................
نوع داده های رايج 28 ........................................................................................................................................
اعداد يا نوع عددی در پايتون 29 ...........................................................................................................................
رشته ها در پايتون 30 .........................................................................................................................................
نوع داده ای Listدر پايتون 31 .............................................................................................................................
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
پایتون به انگلیسی Pythonیک زبان برنامهنویسی همه منظوره ،سطح بالا ( ،)high-levelشی گرا
( )object-orientedو مفسر ( )interpreterاست که توسط خودو فان روسوم در سال ۱۹۹۱در کشور
هلند پا به عرصه ی وجود گذاشت.
فلسفه ایجاد آن تاکید بر دو هدف اصلی خوانایی بالای برنامههای نوشته شده و کوتاهی و کارایی
نسبتا بالای آن است .کلیدواژه های اصلی این زبان به صورت حداقلی تهیه شدهاند و در مقابل
(بهویژه زبانهایی که از دستور نگارشی زبان Cپیروی میکنند) در زبان پایتون از کاراکتر فاصله و
جلوبردن متن برنامه برای مشخص کردن قطعه های کد استفاده میشود ،بدین معنی که تعدادی
یکسان از کاراکتر فاصله در ابتدای سطرهای هر بلاک قرار میگیرند ،و این تعداد در بلاکهای کد
درونیتر افزایش مییابد .بدین ترتیب قطعه های کد به صورت پیش فرض ظاهری مرتب خواهند
داشت.
پایتون تکنیک های مختلف برنامه نویسی همچون شی گرا و برنامه نویسی دستوری و تابع محور را
پشتیبانی میکند و برای مشخص کردن نوع متغییرها از یک سیستم داینامیک بهره می گیرد.
این زبان از زبانهای برنامه نویسی مفسر بوده و به صورت کامل یک زبان شیگرا است که در
ویژگیها با زبان های تفسیری Ruby ،Perlتشابهاتی دارد و از قابلیت مدیریت خودکار حافظه
استفاده میکند.
پایتون پروژهای آزاد و متنباز ( )open-sourceتوسعهیافتهاست و توسط بنیاد نرمافزار پایتون اداره و
رهبری می شود.
پایتون یک زبان scriptنویسی سطح بالا ،مفسر ،تعاملی و شی گرا است .پایتون با هدف خوانایی بالا
تعبیه شد .این زبان به طور مکرر از کلمات کلیدی انگلیسی بهره می گیرد (در حالی که زبان های
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
دیگر اغلب از علائم نگارشی بهره می گیرند) و همچنین ساختار نگارشی که می بایست نوشت نسبت
به سایر زبان ها کمتر است (در مقایسه با زبان های دیگر کوتاه است).
.1پایتون تفسیر می شود :این زبان در زمان اجرا توسط مفسر پردازش می شود .بنابراین نیازی
نیست شما برنامه را پیش از اجرای آن کامپایل یا ترجمه کنید ،مشابه دو زبان PERLو .PHP
.2پایتون تعاملی می باشد :می توانید پای پنجره ی promptنشسته و مستقیم با مفسر
.3پایتون شی گراست :این زبان از مدل برنامه نویسی شی گرا/روش برنامه نوسی که در آن کدها
.4پایتون نقطه ی شروع مناسبی برای تازه واردان به عرصه ی برنامه نویسی می باشد :پایتون یک
زبان بسیار سودمند و کارآمد برای طیف وسعیی از برنامه های کاربردی است که شامل برنامه های
پردازش و مدیریت متن و مرورگرها و حتی بازی های رایانه ای نیز می شود.
تاریخچه ی پایتون
همان طور که قبلا ذکر شد ،این زبان توسط خودو فان روسوم در اواخر دهه ی 80و اوایل 1990در
موسسه ی ملی تحقیقات علوم ریاضی و کامپیوتر در هلند توسعه یافت.
پایتون از زبان هایی همچون Unix shell ،SmallTalk ،Algol-68 ،C++ ،C ،Modula-3 ،ABCو دیگر
زبان های اسکریپت نویسی مشتق شده است.
کد منبع این زبان مانند زبان Perlتحت لیسانس GNUدر اختیار عموم قرار می گیرد.
پایتون هم اکنون توسط تیم برنامه نویسی در موسسه ی مزبور پشتیبانی و مدیریت می شود ،اما
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
.2خوانایی بالا :کد پایتون فوق العاده صریح تعریف شده و خواندن آن سهل می باشد.
.3نگهداشت آن بسیار آسان می باشد :نگهداشت کد منبع این زبان بسیار آسان می باشد.
.4دارای کتابخانه ی بسیار گسترده می باشد :کتابخانه ی پایتون ( portableدارای نصب آسان)
بوده و قابلیت استفاده (سازگاری) در محیط های مختلف همچون Windows ،UNIXو
Macintoshرا دارد.
.7توسعه پذیری ( :)Extendableمی توان ماژول های سطح پایین به مفسر پایتون اضافه
نمود .ماژول های مزبور به برنامه نویس این امکان را می دهند که به ابزارهای در دست
افزوده یا آن ها را طبق نیاز خود سفارشی تنظیم کنند تا بازدهی و کارایی بیشتری دریافت
کند.
.8پایگاه داده :پایتون رابط هایی ( )interfaceرا برای تمامی پایگاه داده های تجاری پرطرفدار
ارائه می دهد.
.9برنامه نویسی ( GUIرابط گرافیکی کاربری) :با زبان پایتون می توان رابط کاربری طراحی کرد
(برنامه های GUIنوشت) و به system callها ،کتابخانه ها و windows systemهای
سامانه نرمافزاری و
ٔ متعددی نظیر Macintosh ، Windows MFCو سیستم پنجره ( Xیک
پروتکل تحت شبکه است که اساس قابلیتهای رابطهای گرافیکی کاربری ( )GUIو
دستگاههای ورودی پیشرفته را برای رایانههای تحت شبکه فراهم میکند) انتقال داد.
.10مقیاس پذیر ( :)scalableپایتون پشتیبانی و ساختار بهتری را برای برنامه های با مقیاس بزرگ
در مقایسه با ( shell scriptیک برنامه رایانه ای که برای اجرا با مفسر خط فرمان )Unix shell
ارائه می دهد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
علاوه بر ویژگی های نام برده ،پایتون قابلیت ها و امکانات بیشتری را ارائه می دهد که در زیر
تعدادی از آن ها فهرست شده:
.1جدا از مدل برنامه نویسی شی گرا ،از روش های تابع محور و دستوری ( & functional
)structuredبرنامه نویسی نیز پشتیبانی می کند.
.2می توان آن را به صورت یک زبان اسکریپت نویسی مورد استفاده قرار داد یا آن را برای
برنامه های حجیم به byte-codeترجمه کرد.
.3نوع داده های پویا سطح بالا ارائه کرده و از قابلیت بررسی پویا نوع پشتیبانی می کند.
.4از قابلیت garbage collectionخودکار پشتیبانی می کند.
.5می توان آن را به آسانی با COBRA ،ActiveX ،COM ،C++ ،Cو Javaترکیب کرد.
پایتون را می توان بر روی طیف وسیعی از محیط ها همچون Mac OS X ،Linuxاجرا کرد .ابتدا
OS/2
)DOS (multiple versions
PalmOS
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
Windows CE
Acorn/RISC OS
BeOS
Amiga
VMS/OpenVMS
QNX
VxWorks
Psion
پایتون همچنین به ماشین های مجازی Javaو .NETمنتقل شده است.
دریافت Python
جهت دسترسی به بروز ترین کد منبع پایتون ،کدهای ، binaryمستندسازی ،اخبار آن می توانید به
می توانید مستندسازی پایتون را از سایت زیر دریافت کنید .مستند سازی آن در تمامی فرمت های
نصب python
پایتون ویژه ی طیف گسترده ای از محیط ها ( )platformارائه و توزیع شده .کافی است کد باینری
سازگار با محیط خود را بارگیری کرده و آن را نصب کنید.
در صورت فراهم نبودن کد باینری پایتون قابل اجرا بر روی محیط خود ،لازم است با استفاده از
کامپایلر ، Cکد منبع را خود به صورت دستی ترجمه و به زبان ماشین برگردانید .ترجمه ی کد منبع در
خصوص انتخاب امکانات مورد نیاز در برنامه ی کاربردی ،انعطاف پذیری بیشتری را ارائه می دهد.
در زیر به نحوه ی نصب پایتون بر روی محیط های گوناگون خواهیم پرداخت:
جهت نصب پایتون بر روی ماشینی که سیستم عامل آن Linux/Unixاست ،می بایست گام های
زیر را دنبال کنید:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
.2لینکی که کد منبع برای Linux/Unixرا به صورت zipشده ارائه می دهد ،دنبال کنید.
.3فایل های مربوطه را بارگیری کرده ،سپس از حالت فشرده استخراج نمایید.
.4برای تنظیم سفارشی برخی از گزینه ها ،فایل Modules/Setupرا ویرایش کنید.
در پایان ،پایتون در مسیر پیش فرض /usr/local/binنصب شده و کتابخانه های آن نیز در صورتی
که نسخه ی مورد استفاده ی پایتون XXباشد ،در مسیر /usr/local/lib/pythonXXجای می گیرد.
جهت نصب پایتون بر روی سیستم عامل ویندوز ،مراحل زیر را دنبال کنید:
.2لینکی که فایل نصبی پایتون سازگار با ویندوز پایتون را ارائه می دهد (فایل Windows
)installer python-XYZ.msiرا دنبال کنید .نسخه ای که بایستی نصب کنید XYZمی باشد.
.3برای اینکه ویندوز بتواند از این فایل استفاده کند ،می بایست Microsoft Installer 2.0بر
روی آن نصب شده و پشتیبانی شود .کافی است فایل installerرا بر روی ماشین نصب
کافی است تنظیمات پیش فرض را پذیرفته و صبر کنید تا فرایند نصب به پایان برسد.
تنظیم مسیر
برنامه ها و دیگر فایل اجرایی می توانند در پوشه های مختلفی قرار داشته باشند .سیستم عامل جهت سهولت در
دسترسی به این فایل ها یک مسیر جستجو ارائه نموده که فهرست پوشه های حاوی فایل های اجرایی پایتون را
نمایش می دهد.
مسیر در یک متغیر محیطی ( Environment variableمجموعهای از مقادیر نامگذاری شده هستند که می توانند
نحوه رفتار کردن فرایند های در حال اجرا را تغییر داده و بر روی آنها اثر بگذارند ).ذخیره می شود .این متغیر محیطی
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
یک رشته ی نام گذاری شده است که توسط سیستم عامل نگهداری می شود .متغیر نام برده دربردارنده ی
اطلاعاتی است که در دسترس ( command shellیک برنامه ی مجزا و مستقل که ارتباط مستقیم بین کاربر و
متغیر pathدر سیستم عامل PATH ، Unixو در ویندوز Pathنام گذاری می شود( Unixحساس به کوچک و
در سیستم عامل Macتمامی جزئیات مربوط به مسیر قرار گیری فایل ها توسط installerمدیریت می شود .به
منظور فراخوانی مفسر ( )interpreterپایتون از هر پوشه ای ،می بایست پوشه ی Pythonرا به مسیر خود اضافه
کنید.
.1در :csh shellعبارت " setenv PATH "$PATH:/usr/local/bin/pythonرا وارد کرده و کلید Enterفشار
دهید.
.2در ) :bash shell (Linuxعبارت " export PATH="$PATH:/usr/local/bin/pythonرا وارد نموده و Enter
نکته /usr/local/bin/python :در واقع مسیر قرار گیری پوشه ی پایتون می باشد.
.1در خط فرمان ( :)command promptعبارت path %path%;C:\Pythonرا تایپ کرده و Enterرا فشار
دهید.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
متغیر شرح
PYTHONPATH
نقشی مشابه نقش ای که PATHايفا می کند را بازی می کند .اين متغير به مفسر پايتون
اطالع می دهد کجا می تواند فايل های ماژول وارد شده به يک برنامه را پيدا کرده و به آن
ها دسترسی داشته باشد .متغير ذکر شده بايستی پوشه ی دربردارنده ی کتابخانه ی منبع
( )source library directoryپايتون و همچنين پوشه های حاوی کد منبع/سورس کد پايتون
را شامل شود PYTHONPATH .گاهی توسط installerپايتون از پيش تنظيم شده است.
PYTHONSTARTUP
دربردارنده ی مسير فايل آغاز سازی ( )initializationاست که آن فايل حاوی کد منبع
پايتون می باشد.اين متغير هر بار که مفسر را راه اندازی می کنيد ،اجرا می شود.
PYTHONSTARTUPدرسيستم عامل ،Unixبدين نام می باشد .pythonrc.py :و
دربرگيرنده ی دستوراتی است که برنامه های کاربردی ( )utilitiesرا بارگذاری کرده يا
متغير PYTHONPATHرا modifyمی کنند.
PYTHONCASEOK با PYTHONCASEOKدر محيط ويندوز می توان به پايتون دستور داد که اولين نمونه يا
مورد منطبق غير حساس به کوچک و بزرگی حروف در يک دستور importرا پيدا کند .با
تنظيم اين متغير بر روی هر مقداری می توان آن را فعال ساخت.
PYTHONHOME اين متغير يک جايگزين برای ( module search pathمسير جستجو ماژول) می باشد.
متغير مزبور معموال در پوشه های PYTHONSTARTUPيا PYTHONPATHگنجانده می
شود تا بدين وسيله پروسه ی عوض کردن کتابخانه های ماژول آسان گردد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
.1مفسر تعاملی ( :)Interactive Interpreterپایتون را می توان از طریق Dos ،Unixیا هر سیستم دیگری
که مفسر خط فرمان ( )command-line interpratorیا shell windowفراهم می نماید ،اجرا و راه اندازی
کرد.
دستور شرح
-O bytecodeبهينه سازی شده ايجاد می کند (خروجی آن فايل هايی است که دارای پسوند .pyoمی باشد).
-S از دستور import siteبرای جستجوی مسير پايتون هنگام شروع استفاده نکنيد.
-X استثناهای مبتنی بر کالس توکار را غيرفعال می کند(فقط بايستی رشته استفاده کنيد)؛ از ويرايش 1.6به
بعد منسوخ شد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
.3با بهره گیری از محیط برنامه نویسی یکپارچه ( :)IDEمی توانید پایتون را در یک محیط رابط
گرافیکی کاربری ( )GUIنیز اجرا کنید ،البته اگر یک برنامه ی GUIبر روی رایانه ی خود نصب
IDLE :Unixاولین IDEیا محیط یکپارچه ی برنامه نویسی است که برای پایتون عرض شده است.
PythonWin :Windowsنیز اولین interfaceیا رابط ای است که ویژه ی پایتون برای محیط ویندوز
ارائه شده که علاوه بر محیط توسعه ،یک رابط گرافیکی کاربری نیز محسوب می شود.
:Macintoshپایتون ارائه شده ویژه ی محیط Macرا می توانید به همراه محیط برنامه نویسی IDLE
از وب سایت رسمی آن به صورت فایل های MacBinaryیا BinHexدریافت کنید.
اگر موفق نشدید محیط را به درستی تنظیم و راه اندازی کنید ،می توانید از system adminکمک
بگیرید .بایستی محیط را به درستی راه اندازی کرده و عملکرد صحیح آن اطمینان حاصل نمایید.
زبان پایتون شباهت های زیادی به زبان های C ،Perlو Javaدارد .با این حال ،تفاوت های اساسی
هم بین این زبان ها وجود دارد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
$ python
)Python 2.4.3 (#1, Nov 11 2010, 13:34:43
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
در صورت استفاده از نسخه ی جدید پایتون ،می بایست همراه با دستور Printاز () استفاده کنید،
بدین صورت .print ("Hello, Python!"); :در ویرایش 2.4.3این زبان ،نتیجه ی زیر حاصل می شود:
"!"Hello, Python
غیرفعال می شود.
در این بخش یک برنامه ی ساده ی پایتون در یک اسکریپت می نویسیم .فایل های پایتون دارای
پسوند .pyمی باشد.
برای این منظور لازم است مفسر پایتون را در متغیر PATHتنظیم کرده باشید .اکنون برنامه را بدین
ترتیب اجرا کنید:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
پیش از کامپایل ،می بایست مفسر پایتون را در پوشه ی /usr/binآماده داشته باشید .اکنون برنامه
شناسه ها در پایتون
شناسه یا identifierیک اسم است که به منظور شناسایی متغیر ،تابع ،کلاس ،ماژول یا دیگر اشیا
به آن ها تخصیص داده می شود .شناسه با یک حرف از Aتا ( Zیا aتا )zیا زیرخط (_) آغاز شده و
به دنبال آن یک یا چند صفر ،حرف ،زیرخط و عدد قرار می گیرد.
استفاده از علائم نگارشی همچون @ $ ،و %در شناسه مجاز نمی باشد .پایتون یک زبان حساس به
کوچک و بزرگی حروف است .از این رو ،دو واژه ی Manpowerو manpowerدو شناسه ی کاملا
.1اسم کلاس ها با حرف بزرگ آغاز می شود .دیگر شناسه ها با حرف کوچک شروع می شود.
.2آغاز کردن یک شناسه با زیرخط (_) ،بیانگر این است که آن شناسه privateمی باشد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
پایتون از {} برای مشخص کردن قطعه کدهای تعریف کلاس ،تابع یا جریان کنترل داده ( flow
controlدر ارتباطات دادهای ،کنترل جریان یک فرایند مدیریت نرخ انتقال بین دو گره برای جلوگیری
از ارسال از طرف فرستنده سر یع به دریافت کننده کند است .کنترل جریان مکانیزمی را برای دریافت
کننده جهت کنترل سرعت انتقال فراهم میکند ).استفاده نمی کند .قطعه کدها با استفاده از
تورفتگی مشخص می شوند .از این رو در استفاده از آن بایستی بسیار دقیق بود.
مقدار فضای خالی در تورفتگی ها متغیر است ،اما تمامی دستورات درون قطعه کد بایستی به یک
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
if True:
print "True"
else:
print "False"
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
در کل یک، در زبان پایتون تمامی خطاهای متوالی که به یک اندازه توگذاشته شده اند،بنابراین
می بینید که چندین قطعه کد در، اگر با دقت به مثال زیر دقت کنید.قطعه کد را تشکیل می دهند
#!/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"
7 واحد- طبقه دوم651 پالک- جنب بانک صادرات- باال تر از خيابان ملک- خيابان شريعتی- تهران: آدرس آموزشگاه
)(sys.exit
)(file_text = file.read
)(file.close
print file_text
دستورهای چندخطی
دستورات پایتون معمولا به خط جدید ختم می شوند (یک خط تمام شده و خط دیگری شروع می
شود) .کاراکتر (\) در انتهای خط نشانگر ادامه ی دستور مورد نظر در خط دیگر است .مثال:
کرد .مقداری که درون این علامت ها قرار می گیرد ،یک رشته ی نوشتاری ( )string literalرا تشکیل
می دهد .بایستی دقت داشت که یک رشته با یک نوع کوتیشن آغاز شده و با همان نوع نیز پایان
می یابد.
از ''' یا " " " برای محصور کردن یک رشته که در چندین خط ادامه دارد استفاده می شود .تمامی
'word = 'word
"sentence = "This is a sentence.
paragraph = """This is a paragraph. It is
"""made up of multiple lines and sentences.
که پس از #قرار می گیرند تا پایان آن خط بخشی از توضیح محسوب می شوند و مفسر پایتون آن
ها را نادیده گرفته و اجرا نمی کند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
#!/usr/bin/python
# First comment
print "Hello, Python!" # second comment
خروجی کد بالا:
!Hello, Python
می توانید یک commentرا درست بعد از یک دستور یا عبارت شروع کرد ،بدین نحو:
یک خط تهی ( )blank spaceمحسوب می شود و مفسر پایتون آن را کاملا نادیده می گیرد.
در یک sessionکه برنامه نویس مستقیما با مفسر تعامل دارد ،می بایست بین این دستور و دستور
#!/usr/bin/python
)"raw_input("\n\nPress the enter key to exit.
در اینجا ،دستور " "\n\nدو خط جدید ایجاد کرده ،سپس خود خط را نمایش می دهد.
پس از اینکه کاربر کلید Enterرا فشار می دهد ،برنامه پایان می یابد .با این روش می توان پنجره ی
consoleرا تا زمانی که کاربر کارش با برنامه تمام نشده ،باز نگه داشت.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
اصطلاح suiteاطلاق می گردند .دستورات مرکب نظیر def ،while ،ifو classنیازمند یک خط
خطوط سرآیند ( )headerبا یک دستور (یک کلیدواژه) آغاز می شود و با یک دونقطه ( ):به پایان می
رسد ،همچنین به دنبال آن یک یا چندین خط قرار می گیرد که ( suiteمجموعه دستور) را تشکیل می
دهد .نمونه:
اختیار شما قرار دهد .پایتون با فراهم نمودن دستور ،–hاین امکان را به شما می دهد:
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
] [ etc.
متغیر صرفا فضاهای رزرو شده در حافظه هستند که مقادیری را در آن ها ذخیره می کنیم ،بدین
معنا که در زمان ایجاد یک متغیر ،بخشی از حافظه اشغال شده و به آن متغیر تخصیص داده می
شود.
بسته به نوع داده ای متغیر ،مفسر بخشی از حافظه را رزرو کرده و تصمیم می گیرد چه مقداری در
حافظه ی تخصیص داده شده ،ذخیره گردد .بنابراین ،با تخصیص نوع داده های مختلف به متغیرها،
می توانید اعداد صحیح ( ،)integerاعداد اعشاری ( )decimalیا characterدر این متغیرها ذخیره
کنید.
انتساب می دهد ،اعلان به صورت خودکار رخ می دهد .مانند زبان های برنامه نویسی دیگر ،انتساب
مقدار به متغیر توسط علامت مساوی " = " صورت می پذیرد.
عملوندی ( )operandکه در سمت چپ عملگر ( " = " )operatorقرار می گیرد ،اسم متغیر و
عملوندی که در سمت راست عملگر " = " قرار می گیرد ،مقداری است که در متغیر ذخیره می
شود .مثال:
#!/usr/bin/python
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
"name = "John # A string
print counter
print miles
print name
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
در اینجا1000.0 ،100 ،و " "Johnهمگی مقادیر تخصیص داده شده به ترتیب به متغیرهای ،counter
milesو nameهستند .کد بالا نتیجه ی زیر را بدست می دهد:
100
1000.0
John
a=b=c=1
در اینجا ،یک شی integerایجاد شده سپس مقدار 1در آن ذخیره گردیده .همان طور که مشاهده
می کنید هر سه متغیر به یک مکان واحد در حافظه تخصیص داده شده اند .همچنین می توان
چندین شی همزمان به چندین متغیر انتساب داد .مثال:
"a, b, c = 1, 2, "john
در این مثال ،سه مقادیر دو عدد صحیح و یک رشته به ترتیب به متغیرهای b ،aو cتخصیص داده
شده اند.
صورت یک مقدار عددی ذخیره شده و آدرس وی در قالب حروف الفبا ( )alpha-numericداخل
حافظه ذخیره می شود .پایتون دارای نوع داده های متعددی است که عملیات ممکن بر روی آن ها
.1نوع عددی
.3لیست
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
Dictionary .5
var1 = 1
var2 = 10
می توانید ارجاع ( )referenceبه یک شی عددی را با استفاده از دستور delپاک کنید .نحوه ی
]]]]del var1[,var2[,var3[....,varN
می توانید با استفاده از دستور delیک یا چند شی را حذف کنید .مثال:
del var
del var_a, var_b
پایتون نوع های عددی زیر را پشتیبانی می کند:
مثال:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
.1پایتون به شما اجازه می دهد برای مشخص کردن نوع عددی Longاز lکوچک استفاده کنید،
اما برای اینکه آن lبا عدد 1اشتباه گرفته نشود ،توصیه می کنیم از Lبزرگ استفاده کنید.
نام دارد .برای مثال در x ،x + yjو yاعداد حقیقی هستند و jنشانگر واحد یا یکه ی
موهومی ( )imaginaryمی باشد.
رشته ها در پایتون
رشته ها در پایتون عبارت است از مجموعه کاراکترهای همجوار که در علامت نقل و قول نمایش
داده می شوند .پایتون از هر دو شکل تک کوتیشن و دابل کوتیشن پشتیبانی می کند .می توان با
بهره گیری از عملگر برش یا ([ ] [:] ) slice operatorکه اندیس آن در آغاز رشته با اندیس 0شروع
شده و تا -1در انتها ادامه می یابد ،بخش هایی از یک رشته را استخراج کرد.
علامت ( )+یک عملگر اتصال است که دو رشته را به هم پیوند می دهد .علامت * درواقع یک
repetition operatorاست که دستوری را تکرار می کند (برای مثال یک رشته را دوبار چاپ می
نمایند).
#!/usr/bin/python
'!str = 'Hello World
print str # Prints complete string
]print str[0 # Prints first character of the string
print str[2:5] # Prints characters starting from 3rd to 5th
]print str[2: # Prints string starting from 3rd character
print str * 2 # Prints string two times
print str + "TEST" # Prints concatenated string
نتیجه ی زیر حاصل می گردد:
!Hello World
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
H
llo
!llo World
!Hello World!Hello World
Hello World!TEST
توسط ویرگول از هم جدا شده و داخل ][ محصور می شوند .تا حدی می توان گفت که Listشبیه
به نوع داده ای آرایه در زبان Cاست .یک تفاوت اساسی بین آرایه و لیست این است که آیتم های
موجود در لیست می توانند از نوع داده های مختلف باشند (از نظر نوع با هم متفاوت باشند).
مقادیر ذخیره شده در یک لیست را می توان با استفاده از عملگر برش )] ([ ] [:از طریق اندیس که
از در ابتدای لیست ار صفر آغاز شده و تا -1در انتهای لیست ادامه می یابد ،مورد دسترسی قرار
داد .علامت +به عنوان یک عملگر اتصال نقش ایفا کرده و عملگر * نیز صرفا یک دستور را تکرار
#!/usr/bin/python
] list = [ 'abcd', 786 , 2.23, 'john', 70.2
]'tinylist = [123, 'john
print list # Prints complete list
]print list[0 # Prints first element of the list
print list[1:3] # Prints elements starting from 2nd till 3rd
]print list[2: # Prints elements starting from 3rd element
print tinylist * 2 # Prints list two times
print list + tinylist # Prints concatenated lists
کد فوق ،نتیجه ی زیر را بدست می دهد:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
می شوند .اما برخلاف ،Listنوع داده ای Tupleداخل پرانتز محصور می شود.
بین نوع داده ای مذکور تفاوت هایی وجود دارد :در Listمقادیر درون ][ جای می گیرند ،در حالی که
این مقادر در tupleداخل پرانتز محصور می شوند .تفاوت دیگر این است که المان های Listو
اندازه ی آن را می توان اصلاح نمود ولی این امکان برای tupleوجود ندارد .می توان به tupleبه
#!/usr/bin/python
) tuple = ( 'abcd', 786 , 2.23, 'john', 70.2
)'tinytuple = (123, 'john
print tuple # Prints complete list
]print tuple[0 # Prints first element of the list
]print tuple[1:3 # Prints elements starting from 2nd till 3rd
]print tuple[2: # Prints elements starting from 3rd element
print tinytuple * 2 # Prints list two times
print tuple + tinytuple # Prints concatenated lists
کد زیر از آنجایی که سعی می کند المان های tupleرا بروز رسانی کند ،مجاز و معتبر نیست .اما
همین عملیات را می توان بر روی Listپیاده کرد:
#!/usr/bin/python
) 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
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
های کلید مقدار ( )key-value pairsتشکیل می شوند .کلید می تواند از هر نوعی باشد ،با این
وجود اغلب از نوع اعداد و رشته ها هستند .اما مقادیر ،می توانند از هر شی دلبخواه و اختیاری در
پایتون باشند.
آیتم های Dictionaryداخل {} محصور می شوند .جهت دسترسی و استخراج مقادیری از dictionary
#!/usr/bin/python
}{ = 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
نتیجه ی زیر را ارائه می دهد:
This is one
This is two
}'{'dept': 'sales', 'code': 6734, 'name': 'john
]'['dept', 'code', 'name
]'['sales', 6734, 'john
در ،Dictionaryالمان ها دارای ترتیب یا orderمشخصی نیستند.
به نوع دیگر تبدیل نمود .کافی است اسم نوع را به عنوان تابع بکار ببرید.
توابع توکار متعددی در پایتون وجود دارد که عملیات تبدیل از نوعی به نوع دیگر را انجام می دهد.
این توابع شی جدیدی باز می گرداند که نشانگر مقدار تبدیل شده می باشد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
تابع شرح
)dict(d يک dictionaryايجاد می کند d .بايستی يک مجموعه ی پست سرهم يا دنباله ای از
tupleها (به صورت جفت کليد ،مقدار) باشد.
)ord(x يک تک کاراکتر را به معادل يا مقدار عدد صحيح ( )integerآن تبديل می کند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
عملگرها سازه هایی هستند که توسط آن ها می توان مقدار عملوندها را دستکاری کرد.
به این عبارت دقت کنید .4 + 5 = 9 :در این عبارت ،اعداد 4و 5عملوند ( )operandخوانده شده و
انواع عملگرها
زبان پایتون از عملگرهای زیر پشتیبانی می کند.
عملگرهای محاسباتی
فرض کنید متغیر به نام aمقدار 10و متغیر به نام bمقدار 20را نگه می دارد:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
*ضرب مقادير متغيرهای aو bرا درهم ضرب می کند. a * b = 200
// دو عدد را بر هم تقسيم کرده و نتيجه ی آن را به 9//2 = 4و9.0//2.0 = 4.0
پايين گرد می کند.
تقسیم به
کف
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
== در صورت برابر بودن مقدار دو عملوند ،شرط صحيح صحيح نمی باشد(a == b).
می باشد.
>< اگر مقادير دو عملوند برابر نباشد ،در آن صورت شرط شرط )(a <> bصحيح می باشد .درست شبيه عملگر
صحيح می شود. =! عمل می کند.
> چنانچه مقدار عملوند سمت چپ بزرگتر از مقدار عملوند )(a > bصحيح نمی باشد.
سمت راست باشد ،شرط صحيح می باشد.
< اگر مقدار عملوند سمت چپ کمتر از مقدار عملوند سمت صحيح می باشد(a < b) .
راست باشد ،شرط صحيح می باشد.
=> اگر مقدار عملوند سمت چپ بزرگتر از يا برابر مقدار صحيح نمی باشد(a >= b) .
عملوند سمت راست باشد ،در آن صورت شرط صحيح
می شود.
=< اگر مقدار عملوند سمت چپ کوچکتر از يا مساوی مقدار صحيح می باشد(a <= b) .
عملوند سمت چپ باشد ،شرط صحيح می شود.
عملگرهای انتساب
= يک مقداری را به متغير تخصيص می دهد. جمع دو مقدار aو bرا داخل متغير cمی ريزد.
+= Add عملوند سمت راست را به عملوند سمت چپ c += aدرواقع همان c = c + aمی باشد.
AND اضافه کرده و نتيجه را در داخل عملوند سمت چپ
می ريزد.
=-
Subtract
AND عملوند aرا از cکسر می کند و نتيجه را به c c -= aدرحقيقت همان c = c – aمی باشد.
تخصيص می دهد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
=* عملوند سمت راست را در عملوند سمت چپ c *= aبرابر است با .c = c * a
Multiply ضرب کرده و نتيجه را در عملوند سمت چپ می
AND ريزد.
/= Divide متغيرهای cو aرا بر هم تقسيم کرده و نتيجه را c /= aدر واقع همان c = c / aمی باشد.
AND در عملوند سمت چپ می ريزد.
=% باقی مانده تقسيم مقدار دو متغير را محسابه کرده و c %= aدرواقع همان c = c % aمی باشد.
Modulus آن را به عملگر سمت چپ تخصيص می دهد.
AND
=** عمليات توان بر روی دو متغير انجام داده و نتيجه c **= aدرواقع همان c = c ** aمی باشد.
Exponent را در متغير سمت چپ عملگر می ريزد.
AND
عملگرهای bitwiseبا بیت ها سروکار داشته و مقادیر بیت ها را تغییر می دهد .اگر a = 60باشد و
،b = 13هر یک در فرمت دودیی بدین صورت خواهند بود –
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
& Binary در صورتی که در هر دو 1باشد 1 ،را در 0000 1100معادل ))a & b
AND نتيجه جای گذاری می کند ،در غير اين صورت
صفر را در نتيجه کپی می کند.
| Binary OR اگر در يکی از دو عملوند 1 ،وجود داشته باشد، 0011 1101معادل(a | b) = 61
1در نتيجه کپی می شود.
^ Binary اگر هر دو عملوند يکی باشند صفر و در غير 0011 0001معادل(a ^ b) = 49
XOR اين صورت 1را در نتيجه کپی می کند.
~ Binary يک عملگر يگانی نقيض است که جای بيت ها چون که در فرمت دودويی عدد عالمت دار
Ones را با هم عوض می کند .هرجا 1است 0و هر نداريم ،مکمل 2عدد 1100 0011را نمايش
1است صفر می گذاردComplement . داديم (~a ) = -61 .معادل 1100 0011است.
<< Binary مقدار عملوند سمت چپ به تعداد بيت های a << = 240معادل 1111 0000می باشد.
Left Shift مشخص شده توسط عملوند سمت راست به چپ
رانده می شوند.
>> Binary معادل a >> = 15مقدار عملوندهای سمت چپ به تعداد بيت های
Right Shift مشخص شده توسط عملوند سمت راست ،به
می باشد 0000 1111.راست shiftمی شوند.
زبان پایتون از عملگرهای منطقی زیر پشتیبانی می کند .فرض بگیرید متغیر aدارای مقدار 10و
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
not به منظور معکوس کردن وضعيت منطقی عملوند ) Not(a and bمی شود.
بکار می رودLogical .
NOT
رشته list ،یا tupleوجود دارد یا خیر .در کل دو عملگر بررسی عضویت وجود دارد که در زیر شرح
داده شده:
in در صورت يافتن متغير مورد نظر در مجموعه ی ،x in yاگر xيک عضو از مجموعه ی yباشد1 ،
مشخص شده true ،برمی گرداند و در غير اين برمی گرداند.
صورت .false
not in ،x not in yاگر xعضوی از مجموعه ی yنباشد ،در صورت يافت نشدن متغير مورد نظر در
مجموعه ی مشخص شده true ،برمی گرداند و در 1برمی گرداند.
غير اين صورت falseمی دهد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
is اگر متغيرهای هر دو طرف عملگر به شی يکسان اشاره ،x is yاگر ) id(xبرابر با ) id(yباشد 1 ،برمی
داشته باشند true ،برمی گرداند و در غير اين صورت گرداند.
.false
is not چنانچه متغير در دو طرف عملگر به شی يکسان اشاره ، x is not yاگر ) id(xبا ) id(yبرابر نباشد1 ،
داشته باشد false ،برمی گرداند و در غير اين صورت برمی گرداند.
trueبازمی گرداند.
عملگر شرح
** توان
~+- Ccomplement, unary plus and minus (method names for the last two
)@are +@ and -
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
Decision makingدر واقع بررسی شرط ها حین اجرای برنامه و انجام عملیات صحیح بر اساس آن
شرط است.
ساختارهای تصمیم گیری چندین عبارت را ارزیابی می کنند و به عنوان خروجی مقدار TRUEیا
FALSEرا برمی گردانند .برنامه نویس می بایست تصمیم بگیرد کدام دستور را در صورت صحیح یا
غلط بودن شرط اجرا کند.
در زیر نموداری را شاهد هستیم که ساختار تصمیم گیری را در برنامه نویسی به نمایش می گذارد:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
زبان پایتون هر مقداری که صفر و NULLنباشد را به عنوان TRUEدرنظر می گیرد و اگر مقداری
صفر یا NULLبود ،آن را FALSEتلقی می کند.
دستور شرح
if statements از اين ساختار در مواقعی که می خواهيم در صورت بر قرار بودن شرط يا
شرط هايي يکسری دستورات خاص اجرا شوند ،استفاده می شود .اين دستور
از يک عبارت بولی تشکيل می شود که به دنبال آن يک يا چند دستور ديگر
می آيد.
if...else statements از اين ساختار در مواقعی استفاده می کنيم که می خواهيم در صورت بر
قرار بودن شرط يا شرط هايي ،يکسری دستورات و در صورت عدم بر
قراری آن شروط ،گروهي ديگر از دستورات اجرا شوند .
به دنبال دستور شرطی ifيک دستور اختياری elseمی آيد که در صورت
FALSEبودن عبارت بولی اجرا می شود.
nested if statements دستورات تودرتوی – ifمی توان يک ifيا else ifرا درون يک دستور if
يا else ifديگر گنجاند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
در صورتيكه نياز باشد تا چندين حالت منطقي مورد بررسي قرار گيرد و
دستورات مربوط به يكي از آنها اجرا شود ،از فرم تصميمگيري چندگانه
استفاده مينماييم.
در صورت TRUEبودن عبارت بولی ،قطعه کد داخل ساختمان ifاجرا می شود .اگر عبارت بولی
Falseبرگرداند ،در آن صورت دستوراتی که بلافاصله پس از ifدرج شده ،اجرا می شود.
مثال:
#!/usr/bin/python
var1 = 100
if var1:
"print "1 - Got a true expression value
print var1
var2 = 0
if var2:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
در پایتونIF...ELIF...ELSE
: بدین صورت می باشدif...else نحوه ی نگارش دستور
if expression:
statement(s)
else:
statement(s)
:مثال
#!/usr/bin/python
var1 = 100
if var1:
print "1 - Got a true expression value"
print var1
else:
print "1 - Got a false expression value"
print var1
var2 = 0
if var2:
print "2 - Got a true expression value"
7 واحد- طبقه دوم651 پالک- جنب بانک صادرات- باال تر از خيابان ملک- خيابان شريعتی- تهران: آدرس آموزشگاه
print var2
else:
"print "2 - Got a false expression value
print var2
دستور elif
دستور elifبه شما این امکان را می دهد که چندین عبارت را بررسی کنید و در صورت صحیح بودن (برقرار بودن)
یکی از شرط ها (برگردانده شدن مقدار ،)TRUEیک قطعه کد معین را اجرا کند.
مانند ،elseدستور elifکاملا اختیاری می باشد .اما بر خلاف ،elseمی توان پس از دستور ifچندین دستور elif
داشت.
نحوه ی نگارش:
if expression1:
)statement(s
elif expression2:
)statement(s
elif expression3:
)statement(s
else:
)statement(s
در زبان پایتون ،بر خلاف دیگر زبان های برنامه نویسی ،ساختار کنترلی switchو دستورات case
وجود ندارد .در عوض این زبان به منظور شبیه سازی عملکرد switchاز همان دستورات if..elif...
کمک می گیرد:
مثال:
#!/usr/bin/python
var = 100
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
if var == 200:
print "1 - Got a true expression value"
print var
elif var == 150:
print "2 - Got a true expression value"
print var
elif var == 100:
print "3 - Got a true expression value"
print var
else:
print "4 - Got a false expression value"
print var
print "Good bye!"
:خروجی کد بالا
3 - Got a true expression value
100
Good bye!
های تودرتوIf
در صورتی كه لازم باشد چندين حالت منطقی مورد بررسی قرار گرفته و دستورات مربوط به يكی از
درif اين نوع استفاده از دستور. از ساختار تصميمگيری چندگانه بهره می گیریم،آنها اجرا شود
مرتبط به يكديگرif ) معروف است زیرا در آن از چندين دستورNested If( تودرتوif اصطلاح به
:نحوه ی نگارشی
if expression1:
statement(s)
if expression2:
statement(s)
elif expression3:
statement(s)
else
statement(s)
elif expression4:
statement(s)
else:
statement(s)
7 واحد- طبقه دوم651 پالک- جنب بانک صادرات- باال تر از خيابان ملک- خيابان شريعتی- تهران: آدرس آموزشگاه
:مثال
#!/usr/bin/python
var = 100
if var < 200:
print "Expression value is less than 200"
if var == 150:
print "Which is 150"
elif var == 100:
print "Which is 100"
elif var == 50:
print "Which is 50"
elif var < 50:
print "Expression value is less than 50"
else:
print "Could not find true expression"
Statement Suite
را در همان خطif در آن صورت می توان دستور، تنها از یک دستور تشکیل شودif چنانچه ساختمان
:مثال
#!/usr/bin/python
var = 100
if ( var == 100 ) : print "Value of expression is 100"
print "Good bye!"
:نتیجه
Value of expression is 100
Good bye!
7 واحد- طبقه دوم651 پالک- جنب بانک صادرات- باال تر از خيابان ملک- خيابان شريعتی- تهران: آدرس آموزشگاه
در کل ،دستورات به ترتیب اجرا می شوند :در یک تابع ابتدا دستور اول ،سپس دستور دوم و به
همین ترتیب ادامه می یابد .اما گاهی لازم است مجموعه دستورات داخل یک قطعه کد بارها تکرار
شود.
از ساختار کنترلی حلقه ها در برنامه نویسی ،برای اجرای مجموعه ای از دستورها به تعداد دفعات
لازم يا تا زمانی که يک شرط معین درست و برقرار باشد ،استفاده می شود .
در حلقه ،هنگامی که مجموعه دستورات حلقه به طور کامل اجرا می شوند ،برنامه بار دیگر به
ابتدای مجموعه دستورات حلقه رفته و در صورت برقرار بودن شرط حلقه ،يکبار ديگر دستورات آن به
طور کامل اجرا می کند.
زبان برنامه نویسی پایتون دو حلقه ی forو whileپشتیبانی می کند که هریک در زیر تشریح شده:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
حلقه شرح
while loop در اين نوع حلقه ،مجموعه دستورالعمل ها به تعداد معلوم و مورد نياز ،تا زمانی
که شرط مشخص شده صحيح می باشد ،تکرار خواهد شد .اين حلقه قبل از اجرای
دستورات بدنه ی حلقه ،شرط را بررسی می کند.
for loop در اين نوع حلقه ،مجموعه دستورالعمل ها به تعداد معلوم و مورد نياز تکرار
خواهد شد .
nested loops می توان درون يک حلقه ی do ..while ،whileو forيک يا چند حلقه ی ديگر
گنجاند.
(حلقه های تودرتو)
break statement از دستور breakبرای خروج کامل از ادامه اجرای دستورات يک حلقه در
صورت بر قرار بودن شرط تعيين شده برای آن استفاده می شود .
continue statement از دستور ، continueبرای خارج شدن از ادامه اجرای يکبار دستورات حلقه و
پرش به گام بعدی حلقه استفاده می شود .
pass statement دستور passدر زبان پايتون زمانی مورد استفاده قرار می گيرد که يک دستور از
لحاظ ساختار برنامه نويسی مورد نياز باشد ،اما شما هيچ فرمان يا کدی را برای
اجرا الزم نداشته باشيد .
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
دستور break
دستور breakدر زبان پایتون ،حلقه جاری را به پایان رسانده و درست همانند breakسنتی موجود
در ،Cاجرا را از دستور بعدی از سر می گیرد .
بیشترین کاربرد breakزمانی است که اتفاقی در خارج از حلقه رخ داده است که خروج سریع از
حلقه را می طلبد .
در صورت استفاده از حلقه های تودرتو ،دستور breakاجرای درونی ترین حلقه را متوقف کرده و به
نحوه ی نگارش:
Break
مثال:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
if letter == 'h':
break
print 'Current Letter :', letter
Current Letter : P
Current Letter : y
Current Letter : t
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Good bye!
:نحوه ی نگارش
continue
:نتیجه
7 واحد- طبقه دوم651 پالک- جنب بانک صادرات- باال تر از خيابان ملک- خيابان شريعتی- تهران: آدرس آموزشگاه
:نتیجه
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : o
Current Letter : n
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
7 واحد- طبقه دوم651 پالک- جنب بانک صادرات- باال تر از خيابان ملک- خيابان شريعتی- تهران: آدرس آموزشگاه
دستور pass
دستور passدر زبان پایتون زمانی بکار می رود که یک دستور از لحاظ ساختار برنامه نویسی مورد نیاز
است ،اما شما هیچ فرمان یا کدی را برای اجرا لازم نداشته باشید .
دستور ، passیک عملیات تهی می باشد؛ بدین معنا که هنگام اجرای آن هیچ اتفاقی نمی افتد.
دستور passهمچنین در جاهایی که کد شما بعدا نوشته خواهد شد ،اما هنوز نوشته نشده است،
بسیار مفید می باشد ( :به عنوان مثال ،در stubها).
نحوه ی نگارش:
pass
#!/usr/bin/python
نتیجه:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
اعداد در پایتون
Number typeمقادیر عددی را در خود ذخیره می کند .این نوع داده ای immutableهست ،بدین
معنا با تغییر مقدار نوع عددی ،آن خانه ی حافظه پاک شده و خانه ی جدید برای آن شی در نظر
گرفته شود و مقدار آن شی در خانه ی تازه ایجاد شده جای گذاری می شود.
مثال:
var1 = 1
var2 = 10
با استفاده از دستور delمی توان ارجاع ( )referenceبه یک شی را پاک کرد .نحوه ی نگارش این
دستور بدین ترتیب است:
]]]]del var1[,var2[,var3[....,varN
( Intاعداد صحیح علامت دار) :اعداد صحیح منفی یا مثبت که بخش اعشاری ،نقطه و ممیز .1
اعشار ندارد.
( longاعداد صحیح بزرگ) :اینتیجرهای طولانی که میتوانند به فرمت اکتال یا هگزادسیمال .2
نیز باشند .این اعداد بسیار بزرگ هستند (به عبارتی بی نهایت هستند) که به صورت همان
اینتیجر نوشته شده و به دنبال آن یک Lبزرگ یا کوچک نمایش داده می شود.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
( floatاعداد حقیقی ممیز شناور) :اعدادی که به صورت اعشاری نمایش داده می شوند که .3
بخش عدد صحیح از بخش اعشاری یا کسر توسط نقطه ی ممیز جدا می شود .اعداد Float
با نماد علمی نیز نمایش داده می شوند ،برای مثال eیا Eکه نشانگر توان 10می باشد
(.)2.5e2 = 2.5 x 102 = 250
( Complexاعداد مختلط) :هر عدد مختلط از دو بخش تشکیل شده است :بخش Realیا .4
حقیقی و بخش Imaginaryیا انتزاعی .برای مثال عبارت ،a + bJدو عدد aو bممیز شناور
می باشند و Jبیانگر ریشه ی -1می باشد که ی ک عدد موهومی یا انتزاعی است .این نوع
مثال ها
مثالی از اعداد را در جدول زیر مشاهده می کنید:
.1پایتون به شما اجازه می دهد برای مشخص کردن نوع عددی Longاز lکوچک استفاده کنید ،اما
برای اینکه آن lبا عدد 1اشتباه گرفته نشود ،توصیه می کنیم از Lبزرگ استفاده کنید .بنابراین پایتون
اعداد صحیح بسیار بزرگ را با Lبزرگ نمایش می دهد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
.2یک عدد مختلط متشکل است از دو عدد ممیز شناور حقیقی و یک بخش که یکه ی موهومی نام
دارد .برای مثال در x ،x + yjو yاعداد حقیقی هستند و jنشانگر واحد یا یکه ی موهومی
پایتون اعداد موجود در یک عبارت را که متشکل از انواع مختلف است به یک نوع متداول برای ارزیابی
تبدیل می کند .اما گاهی لازم است یک عدد را به صورت صریح به یک نوع دیگر تبدیل کنید تا شرایط
مورد نیاز یک پارامتر ( )function parameterیا عملگر برآورده شود.
long(x) .2جهت تبدیل xبه یک عدد صحیح بسیار بزرگ ( )long integerبکار می رود.
توابع ریاضی
پایتون با استفاده از توابع زیر محاسبات ریاضی انجام می دهد:
تابع خروجی
)abs(x قدر مطلق xرا برمی گرداند :فاصله ی مثبت بين xو .0
)ceil(x سقف يک عدد را برمی گرداند :کوچکترين يا نزديک ترين عدد صحيح بزرگتر از xرا
برمی گرداند .به عبارتی ديگر اين تابع كوچكترين عدد صحيح بزرگتر يا مساوی با يك
عدد را كه بعنوان آرگومان آن میباشد محاسبه میكند.
)cmp(x, y چنانچه xاز yکوچکتر باشد -1 ،و چنانچه بزرگتر مساوی باشد 0برمی گرداند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
)exp(x اين تابع برای محاسبه توانی از ( eپايه لگاريتم طبيعی) مورد استفاده قرار می گيرد.
)floor(x اين تابع بزرگترين مقدار صحيح كوچكتر يا مساوی يک عدد را برمی گرداند؛ کف عدد
را برمی گرداند.
)max(x1, x2,... اين تابع تعدادی عدد رو به عنوان آرگومان دريافت می کند و ماکزيمم آن رو براتون
محاسبه می کند؛ نزديک ترين مقدار به مثبت بی نهايت.
)min(x1, x2,... اين تابع نيز تعدادی عدد به عنوان ورودی گرفته و کوچکترين عدد از ميان آن ها را
گزينش کرده و نمايش می دهد؛ نزديکترين مقدار به منفی بی نهايت.
)modf(x اين تابع يک عدد اعشاری را گرفته و بخش اعشاری و خود عدد را از هم جدا می کند.
در واقع بخش عدد صحيح و اعشاری عدد xرا در يک تاپل دو بخشه نمايش می دهد.
هر دو بخش دارای عالمتی يکسان با xهستند .بخش عدد صحيح به صورت مميز شناور
( )floatبرگردانده می شود.
)pow(x, y اين تابع دو عدد را از کاربر گرفته و عدد اول را به توان عدد دوم می برد.
)]round(x [,n دو عدد از کاربر به عنوان آرگومان گرفته و عدد اول را به مقدار عدد دوم گرد می کند.
برای مثال ) round(0.5می شود 1.0و نيز ) round(-0.5می شود .1.0
)sqrt(x جذر يا ريشه ی دوم xرا برای x > 0را برمی گرداند.
DFDGD
تابع شرح
)choice(seq اين تابع يک عدد را به صورت تصادفی از يک tuple ،listيا stringبر می گرداند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
]randrange ([start, سه مقدار از کاربر دريافت کرده که مقدار اول و دوم عدد و مقدار سوم گام شمارش
)]stop [,step هست .به اين شکل که اين تابع بين عدد اول و دوم با گام شمارش ای که برای اون تعيين
کرديم يک عدد تصادفی را انتخاب می کند.
)(random اين تابع به خودی خود يک عدد تصادفی بين 0و 1را برگزيده و بازيابی می نمايد.
)]seed([x اين تابع يک مقدار اوليه برای randomتعيين می کند و در ادامه برنامه بر اساس همان
مقدار اعداد تصادفی را برمی گرداند .خروجی ندارد .اين تابع را پيش از فراخوانی هر
module functionديگری صدا بزنيد.
)shuffle(lst اين تابع تعدادی عدد از ليست خوانده و ترتيب آن ها را به هم می ريزد .خروجی ندارد.
)uniform(x, y اين متد عدد حقيقی بين دو عدد را به شما نشان می دهد.
توابع مثلثاتی
تابع شرح
)atan2(y, x اين تابع آرک تانژانت yبر روی xرا محاسبه می کند.
)hypot(x, y اين تابع به نورم تقليدسی جذر ) (x*x + y*yمی باشد و اين مقدار را بر می گرداند.
)tan(x اين تابع مقدار تانژانت عدد را بر حسب راديان برمی گرداند.
)degrees(x
اين تابع مقدار زاويه بر حسب راديان را گرفته و به درجه برمی گرداند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
)radians(x مقدار عدد xبر حسب درجه را گرفته و به راديان برمی گرداند.
ثوابت ریاضی
ثوابت شرح
stringاز پرکاربرد ترین انواع داده ای در پایتون می باشد .به منظور ایجاد آن ،کافی است تعدادی
کاراکتر را در علامت نقل و قول محصور کرد .پایتون تک کوتیشن را با دابل کوتیشن یکسان دانسته و
با آن ها به طور مشابه برخورد می کند .پروسه ی ایجاد رشته به آسانی تخصیص مقدار به یک متغیر
در پایتون چیزی به نام نوع داده ای characterوجود ندارد؛ زبان پایتون با این نوع داده ای به صورت
رشته هایی با طول 1برخورد می کند (رشته هایی که خاصیت lengthآن برابر 1می باشد) .از این
رو آن ها را می توان یک substringنیز قلمداد کرد.
جهت استخراج substringها ،بایستی از ][ همراه با اندیس شروع و اندیس پایان بهره گرفت.به
عبارتی دیگر برای برش بخشی از یک رشته و و استخراج آن ،از ][ همراه با دو اندیس شروع و پایان
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
نتیجه:
var1[0]: H
var2[1:5]: ytho
می توان با الحاق (مجدد) یک متغیر به رشته ی دیگر ،رشته ی جاری را بروز رسانی کرد .مثال:
#!/usr/bin/python
'!var1 = 'Hello World
'print "Updated String :- ", var1[:6] + 'Python
نتیجه:
کاراکترهای Escape
جدول زیر فهرستی از کاراکترهای گریز یا چاپ نشدنی را ارائه می دهد که با علامت \ شروع شده و
نمایش داده می شوند.
کاراکتر گریز در هر دو نوع رشته ای که داخل تک کوتیشن و دابل کوتیشن محصور هستند قابل
تفسیر می باشد.
Bellیاalert
\a 0x07
ایجاد صدای هشدار.
Backspace
\b 0x08
بازگشت به عقب.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
\cx Control-x
\C-x Control-x
Formfeed
\M-\C-x Meta-Control-x
Newline
\n 0x0a
خط جدید
Carriage return
\r 0x0d
بازگشت به سر خط.
Space
\s 0x20
خط فاصله.
Tab
\t 0x09
چندین خط فاصله.
Vertical tab
\v 0x0b
ایجاد چندین خط فاصله به صورت
عمودی.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
عملگرهای رشته
با فرض اینکه متغیر رشته ای aمقدار ' 'Helloو متغیر bمقدار ' 'Pythonرا نگه می دارد:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
#!/usr/bin/python
)print "My name is %s and weight is %d kg!" % ('Zara', 21
نتیجه:
در زیر فهرست علامت هایی که می توان همراه با این عملگر مورد استفاده قرار داد را مشاهده می
کنید:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
%c کاراکتر.
در زیر دیگر علامت ها و قابلیت هایی پشتیبانی شده را مشاهده می کنید:
علامت کارکرد/قابلیت
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
صفر آغازین هشت هشتی (' )'0یا صفر آغازین شانزده شانزدهی
#
' '0xو یا ' ،'0Xبسته به اینکه ' 'xیا ' 'Xبکار رفته ،اضافه می کند.
می توانید از کاراکترهای ویژه نظیر TABs ،NEWLINEsو غیره ...استفاده کنید.
#!/usr/bin/python
para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print para_str
پس از اجرای کد بالا ،نتیجه ی زیر حاصل می گردد .مشاهده می کنید که چگونه هر یک یک از
کاراکترها ویژه اثر خود را در نتیجه به نمایش گذاشته (برای مثال /tabدو فاصله ایجادکرد یا /nرشته
را در خط بعدی ادامه داده) است.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
کاراکتر " \ " در رشته های خام ،به عنوان کاراکتر ویژه تفسیر نمی شود .کلیه ی کاراکترهایی که در
یک رشته ی خام تایپ می کنید به همان گونه که نوشته اید چاپ می شوند:
#!/usr/bin/python
'print 'C:\\nowhere
نتیجه:
C:\nowhere
حال به مثال زیر توجه کنید .عبارت را بدین صورت ' عبارت مربوطه ' rبکار می بریم:
#!/usr/bin/python
'print r'C:\\nowhere
نتیجه:
C:\\nowhere
رشته های معمولی در پایتون به صورت 8بیتی اسکی ( )ASCIIذخیره می شوند ،در حالی که رشته
های یونیکد به صورت 16بیتی Unicodeذخیره می گردند .کاراکترهای یونیکد این اجازه را می دهد
که از مجموعه ی کاراکتری متشکل از انواع زبان های زنده ی دنیا بهره بگیرید .مثال:
#!/usr/bin/python
'!print u'Hello, world
نتیجه:
!Hello, world
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
همان طور که در این مثال مشاهده می کنید ،رشته های یونیکد پیشوند uرا بکار می برند ،مشابه
رشته های خام که از پیشوند rاستفاده می کنند.
متدهایی درون
ساخته ای که عملیاتی را روی رشته انجام دهند ( Built-in String
)Methods
شماره ی رشته
متد مربوطه به همراه شرح کارکرد آن
ی مورد نظر
)(capitalize
1
حرف اول یک رشته را به حرف بزرگ تبدیل می کند.
)center(width, fillchar
این تابع دو ورودی می پذیرد؛ اولی طول رشته و دومی کاراکتری که در هر دو
2 طرف رشته پر می کند ،را مشخص می کند .سپس رشته را در وسط یا مرکز
قرار می دهد.
)'decode(encoding='UTF-8',errors='strict
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
شده را به عنوان خروجی برمی گرداند .پارامتر دومی نحوه ی مدیریت خطا را
مشخص می شود که پیش فرض آن strictمی باشد.
)'encode(encoding='UTF-8',errors='strict
5 نسخه ی کدگذاری شده ی رشته ی مورد نظر را بازمی گرداند .پارامتر اولی
الگوریتم کد گذاری مشخص شده و پارامتر دوم نحوه ی مدیریت خطا را
مشخص می کند .پیش فرض پارامتر دوم آن strictمی باشد.
)expandtabs(tabsize=8
این متد تعداد فاصله ی تب (مربوط به کاراکتر ویژه ی تب )/tیک رشته را به
7 مقدار مشخص شده در پارامتر ورودی (تعیین کننده ی تعداد تب) بسط می
دهد ،در صورت مشخص نکردن پارامتر ورودی ،به صورت پیش فرض بر روی
8تنظیم می شود.
کاراکترهای مورد نظر را در رشته می یابد (مشخص می کند آیا پارامتر ورودی
8 اول متد در رشته وجود دارد یا خیر) ،پارامتر دوم مشخص کننده ی اندیس
شروع و پارامتر سوم تعیین کننده ی اندیس پایان می باشد .در صورت یافتن
رشته اندیس آغازی آن و در صورت نیافتن -1را برمی گرداند.
9 عملکردی مشابه متد )( findدارد ،با این تفاوت که در صورت نیافتن رشته ی
مورد نظر باعث رخداد یک خطا یا exceptionمی شود.
10 )(isalnum
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
چنانچه حداقل 1کاراکتر یا تمامی کاراکترهای رشته الفبایی عددی (حرف عدد)
باشد ،مقدار trueو در غیر این صورت falseبرمی گرداند.
)(isalpha
11
اگر حداقل یکی یا تمامی کاراکترهای رشته از نوع الفبا باشد true ،و در غیر این
صورت falseرا برمی گرداند.
)(isdigit
12
در صورتی که رشته مورد نظر حاوی فقط عدد باشد ،مقدار trueو در غیر این
صورت falseبرمی گرداند.
)(islower
13
اگر حداقل یکی یا همه ی کاراکترهای داخل رشته lowercaseباشد true ،و در
غیر این صورت falseرا بازگردانی می نماید.
)(isnumeric
14
چنانچه رشته ی یونیکد دربردارنده ی کاراکترهای عددی باشد ،مقدار trueو در
غیر این صورت falseرا بازیابی می نماید.
)(isspace
15 چنانچه رشته ی مورد نظر تهی باشد (در آن هیچ کاراکتری به جز خط فاصله
وجود نداشته باشد) true ،و در غیر این صورت falseرا بازیابی می کند.
)(istitle
16
اگر حروف اول تمامی واژگان رشته uppercaseباشد true ،بازمی گرداند.
)(isupper
17 چنانچه تمامی کاراکترهای رشته ی مورد نظر با حروف بزرگ نوشته شده باشد،
trueو در غیر این صورت falseرا برمی گرداند.
18 )join(seq
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
المان های رشته ی seqرا توسط تفکیک گر مشخص شده (برای مثال " )"-به
هم متصل کرده و آن را به عنوان خروجی برمی گرداند.
)len(string
19
طول رشته (تعداد کاراکترهای) رشته را برمی گرداند.
)]ljust(width[, fillchar
20
یک رشته را با کاراکتر تعریف شده در پارامتر دوم از سمت راست پر می کند تا
به تعداد کاراکتر تعریف شده در پارامتر اول برسد.
)(lower
21 کلیه ی حروفی که در رشته ی مورد نظر uppercaseهستند را به حروف
کوچک تبدیل می کند.
)(lstrip
22 تمامی کاراکترهای مشخص شده (به صورت پیش فرض کاراکتر )spaceدر
پارامتر ورودی را از اول یک رشته حذف می کند.
)(maketrans
برای استفاده از این تابع ابتدا باید آن را تعریف کرد که در ابتدای اسکریپت این
کار انجام شده است .این متد دو آرگومان می پذیرد که کار ترجمه را انجام می
23 دهند ،بدین معنی که به ازای مقادیری که در intabقرار داده می شود معادل
آن ها در outtabقرار می گیرند .مثلا اگر مقدار intabبرابر aبود و مقدار
outtabبرابر 1بود آنگاه در رشته هرگاه کاراکتر aدیده شد برنامه مقدار آن را
با 1جایگزین می کند.
)max(str
24
این متد بزرگترین کاراکتر را به ترتیب حروف الفبا بر میگرداند.
)min(str
25
کوچکترین کاراکتر را به ترتیب حروف الفبا بر میگرداند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
این تابع سه آرگومان می پذیرد که دوتای آنها الزامی و یکی از آنها بسته به نوع
استفاده لازم می شود .در پارامتر اول مقداری را ارائه می دهیم و در پارامتر
دوم مشخص می کنیم که این مقدار را با مقدار پارامتر اول جایگزین کن .پارامتر
سوم یک عدد را می گیرد که نشانگر این است که تا چند مرتبه این فعل در
رشته ی مورد نظر انجام شود.
))rfind(str, beg=0,end=len(string
27
عملکردی مشابه متد )( findدارد با این تفاوت که جستجو را از سمت راست
شروع می کند.
28 کارکرد مشابه متد )( indexدارد با این تفاوت که جستجو را بجای چپ از سمت
راست شروع می کند.
)]rjust(width,[, fillchar
در این متد آرگومان widthنمایشگر تعداد کاراکتری که مایلید ( justifyهم تراز)
کنید و fillcharنیز نشانگر مقداری می باشد که می خواهید از آن برای justify
29 کردن استفاده نمایید.
)(rstrip
30 تمامی کاراکترهای مشخص شده (در صورت مشخص نکردن ،پیش فرض
کاراکتر spaceمی باشد) در پارامتر ورودی را از پایان یک رشته حذف می کند.
))split(str="", num=string.count(str
31 این متد رشته ی مورد نظر را در قالب لیستی برمی گرداند و کلمات موجود در
آن را توسط تفکیک گر (پیش فرض "") و به تعداد (زیر رشته های مشخص
شده در ورودی )numمشخص شده تقسیم می کند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
این متد بررسی می کند که رشته ی مورد نظر با زیررشته ی مشخص شده در
پارامتر ورودی strآغاز شده یا خیر ،اگر چنین بود مقدار trueو در غیر این
صورت مقدار falseرا برمی گرداند Beg .بیانگر اندیس شروع و endنشانگر
اندیس پایان می باشد.
)]strip([chars
34 عملیات هر دو متد )( lstripو )( rstripرا بر روی رشته ی مورد نظر اجرا می
کند.
)(swapcase
35
حروف کوچک را بزرگ و حروف بزرگ را کوچک می کند.
)(title
36
یک کپی از رشته بازمی گرداند که اولین حرف تمامی کلمات آن با حرف بزرگ و
باقی آن ها با حروف کوچک چاپ شده است.
)""=translate(table, deletechars
متد translateیک کپی از رشته برمی گرداند که درآن تمامی کاراکترها با
37 استفاده از ( tableساخته شده از تابع )( maketransدر ،)string module
ترجمه شده است و در صورت نیاز تمامی کاراکترهای موجود در رشته ی
deletecharsرا حذف می کند.
)(upper
38
حروف کوچک یک رشته را به حروف بزرگ تبدیل می کند.
)zfill (width
39 کپی از رشته ی مورد نظر برمی گرداند که سمت چپ آن با صفر پر شده تا
طول نهایی رشته برابر با طول مشخص شده در پارامتر widthشود.
)(isdecimal
40
این متد در صورتی که رشته ی یونیکد دربردارنده ی فقط کاراکترهای ده دهی
باشد true ،و در غیر این صورت falseبرمی گرداند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
اساسی ترین ساختار داده ای در پایتون ( sequenceزنجیره ای از بایت ها) می باشد .به هر یک از
المان های یک sequenceیک عدد اختصاص داده می شود که همان شماره ی مکان قرار گیری یا
اندیس می باشد .اندیس در زبان پایتون از صفر آغاز می شود.
پایتون در کل 6نوع داده ای که ساختار آن sequenceمی باشد ،ارائه می دهد که پرکاربردترین آن
عملیات خاصی وجود دارد که می توان بر روی انواع داده ای که دارای ساختاری sequenceو دنباله
دار هستند انجام داد .این عملیات شامل فهرست کردن با اندیس ،برش ،اضافه کردن ،ضرب و بررسی
عضویت می باشد .بعلاوه ،پایتون دارای توابع درون ساخته (توکار) می باشد که طول یک دنباله را
درباره ی نوع داده ای لیست به خاطر داشت ،این است که آیتم های محصور در آن باید از یک نوع
باشد.
لیست به مجموعهای داده ای اشاره دارد که به صورت عادی به هم مرتبط اند .به جای ذخیره این
ایجاد و اعلان یک لیست به سادگی قرار دادن مقادیری بین ][ و تفکیک آن ها به وسیله ی ویرگول
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
درست مشابه اندیس رشته ،اندیس لیست ها از صفر آغاز می شود .بر روی لیست عملیاتی همچون
برش ( )sliceو اتصال ( )concatenationرا می توان اجرا کرد.
#!/usr/bin/python
;]list1 = ['physics', 'chemistry', 1997, 2000
;] list2 = [1, 2, 3, 4, 5, 6, 7
]print "list1[0]: ", list1[0
]print "list2[1:5]: ", list2[1:5
list1[0]: physics
]list2[1:5]: [2, 3, 4, 5
لیست را بروز رسانی کرد .برای این منظور در سمت راست عملگر تخصیص علامت ][ و اندیس
مقدار مربوطه را تایپ کنید .همچنین با استفاده از متد )( appendمی توان عناصری را به لیست
#!/usr/bin/python
;]list = ['physics', 'chemistry', 1997, 2000
" print "Value available at index 2 :
]print list[2
;list[2] = 2001
" print "New value available at index 2 :
]print list[2
پس از اجرای کد ،نتیجه ی زیر حاصل می گردد:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
#!/usr/bin/python
;]list1 = ['physics', 'chemistry', 1997, 2000
print list1
;]del list1[2
" print "After deleting value at index 2 :
print list1
نتیجه ی بدست می آید:
که می دانید هر یک به ترتیب عملیات تکرار و اتصال را صورت می دهند ،با این تفاوت که خروجی
یک لیست جدید می باشد و نه یک رشته.
بر روی لیست می توان همان عملیات رایجی که بر روی ساختارهای دنباله ای ( )sequenceهمچون
رشته قابل اجرا می باشد ،انجام داد.
(طول)
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
(اتصال)
(تکرار)
(عضويت)
(حلقه تکرار)
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
2 )len(list
3 )max(list
آيتمی که بيشترين مقدار را دارد از ميان آيتم های موجود در ليست بازمی گرداند.
4 )min(list
آيتمی با کوچکترين مقدار را از ميان آيتم های موجود در ليست بازمی گرداند.
5 )list(seq
1 )list.append(obj
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
اين متد شی پاس داده شده به عنوان ورودی را به ليست اضافه می کند.
2 )list.count(obj
3 )list.extend(seq
4 )list.index(obj
شی پاس داده شده به متد را در انديس مشخص شده درج می کند.اين متد دو پارامتر می گيرد که
اولی انديس را مشخص می کند و دومی شی ای که بايد در آن شماره ی مکان قرار گيری وارد شود.
6 )]list.pop(obj=list[-1
آخرين شی موجود در ليست را برش داده و برمی گرداند .پارامتر دومی اختياری است که نشانگر
انديس شی ای که بايد برش داده شود می باشد.
7 )list.remove(obj
شی مورد نظر (مشخص شده داخل پرانتز) را از ليست حذف می کند.
8 )(list.reverse
9 )]list.sort([func
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
Tuplesدرست شبیه لیست ها میباشند با این تفاوت که شما نمیتوانید مقادیر آنها را ویرایش
کنید .مقادیر اولیه که برای تاپل ها تعیین میکنید ،تا آخر برنامه ثابت باقی میمانند و قابل تغییر
نیستند.
tupleها در پایتون چیزی شبیه به نوع داده ای listمی باشند .تاپل ها تعدادی از مقادیر هستند که
با ویرگول از یکدیگر تفکیک می شوند tuple .ها داخل () تعریف می شوند.
تفاوت بنیادین میان listها و tupleها این است که لیست ها داخل آکولاد [] مشخص می شوند و
المان ها و نیز اندازه آن ها تغییر پذیر است در حالی که tupleها درون پرانتز تعریف می شوند و
قابلیت بروز رسانی را ندارند tuple .را می توان لیست های فقط خواندنی نیز نام گذاشت.
فرایند اعلان tupleدر ایجاد لیستی از مقادیر تفکیک شده توسط ویرگول خلاصه می شود .در
صورت تمایل می توان این مقادیر را داخل پرانتز محصور کرد .مثال:
;)( = tup1
در صورت وجود حتی یک مقدار در tupleمورد نظر ،بایستی از ویرگول استفاده شود:
;)tup1 = (50,
اندیس در نوع داده ای tupleنیز از صفر آغاز می شود .عملیاتی همچون برش و استخراج مقدار،
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
#!/usr/bin/python
;)tup1 = ('physics', 'chemistry', 1997, 2000
;) tup2 = (1, 2, 3, 4, 5, 6, 7
]print "tup1[0]: ", tup1[0
]print "tup2[1:5]: ", tup2[1:5
نتیجه:
tup1[0]: physics
]tup2[1:5]: [2, 3, 4, 5
رسانی آن ها وجود ندارد .با این حال می توان دو tupleرا به هم متصل کرده و tupleجدید خلق
کرد ،همانند مثال زیر:
#!/usr/bin/python
;)tup1 = (12, 34.56
;)'tup2 = ('abc', 'xyz
# Following action is not valid for tuples
;# tup1[0] = 100
# So let's create a new tuple as follows
;tup3 = tup1 + tup2
print tup3
نتیجه:
نظر را که المان های ناخواسته در آن لحاظ نشده ،به هم متصل کرد و یک tupleجدید ایجاد نمود.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
به منظور حذف کلی یک tupleکافی است دستور delرا بکار ببرید:
#!/usr/bin/python
;)tup = ('physics', 'chemistry', 1997, 2000
print tup
;del tup
" print "After deleting tup :
print tup
نتیجه ی زیر حاصل می گردد .همان طور که مشاهده می کنید ،یک استثنا رخ داده است ،زیرا با
عملیاتی نظیر برش و اندیس گذاری را بر روی آن ها پیاده کرد .با درنظر داشتن ورودی زیر:
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
نکته ی قابل توجه :هر مجموعه ای که از اشیای تشکیل و سپس توسط تفکیک گری مانند ویرگول از
هم جدا شده باشد ،اما داخل delimiterهایی همچون پرانتز برای tupleو ][ برای listمحصور نشده
#!/usr/bin/python
'print 'abc', -4.24e93, 18+6.6j, 'xyz
;x, y = 1, 2
print "Value of x , y : ", x,y
نتیجه:
2 )len(tuple
3 )max(tuple
آيتمی که دارای بيشترين مقدار است را از ميان المان های tupleاستخراج کرده و بازمی گرداند.
4 )min(tuple
5 )tuple(seq
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
نوع داده ای dictionaryدر زبان همه منظوره ی پایتون شبیه به نوع جدول hashشده می باشد.
آنها مانند ( associative arraysآرایه های انجمنی) یا hashها در perlهستند .دیکشنری ها می
توانند هر نوعی از داده باشند ،اما غالبا از نوع داده ی عددی یا رشته ای هستند .دیشکنری ها با
کروشه یا کاراکتر {} تعریف می شوند و جهت دسترسی به مقادیر آن بایستی از آکولاد یا عملگر ][
کمک گرفت.
در dictionaryهر اسم یا کلید توسط تفکیک گر نقطه ویرگول از مقدار خود جدا می شود ،آیتم ها
نیز با ویرگول از هم تفکیک شده ،سپس کل dictionaryداخل کروشه محصور می گردد.
در پایتون ،یک dictionaryمی تواند کاملا تهی باشد و هیچ مقداری داخل کروشه ی آن قرار نگیرد،
بدین صورت. {}:
در نوع داده ای ،dictionaryکلید ها اسم های منحصر بفرد هستند (در حالی که مقادیر منحصر
بفرد نیستند) .مقادیر dictionaryمی تواند از هر نوعی باشد ،اما کلیدها بایستی از نوع داده های
غیرقابل تغییر مانند list ،tupleو عدد باشد.
#!/usr/bin/python
;}'dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First
]'print "dict['Name']: ", dict['Name
]'print "dict['Age']: ", dict['Age
خروجی:
dict['Name']: Zara
dict['Age']: 7
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
اگر سعی کنید به یک آیتم داده ای دیکشنری با کلیدی که عضو dictionaryنیست دسترسی پیدا
کنید ،با خطا مواجه خواهید شد:
#!/usr/bin/python
;}'dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First
]'print "dict['Alice']: ", dict['Alice
کنید ،سپس مقدار جدید را در سمت راست عملگر مزبور درج نمایید و یا جهت افزودن المان جدید
کلید المان را در سمت چپ عملگر و مقدار را در سمت راست تایپ کنید:
#!/usr/bin/python
خروجی:
dict['Age']: 8
dict['School']: DPS School
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
نمایید.
جهت حذف یک متغیر dictionaryبه صورت صریح ،از دستور delاستفاده می کنیم.
#!/usr/bin/python
;}'dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First
'del dict['Name']; # remove entry with key 'Name
dict.clear(); # remove all entries in dict
; del dict # delete entire dictionary
]'print "dict['Age']: ", dict['Age
]'print "dict['School']: ", dict['School
نتیجه ی زیر را بدست می دهد .مشاهده می کنید که یک خطا رخ داده و آن مربوط به عدم وجود
dictionaryپس از اجرای دستور del dictمی باشد.
dict['Age']:
Traceback (most recent call last):
>File "test.py", line 8, in <module
;]'print "dict['Age']: ", dict['Age
TypeError: 'type' object is unsubscriptable
دو نکته ی بسیار مهم در رابطه با کلیدهای dictionaryوجود دارد ،که در زیر شرح داده شده:
.1به ازای هر کلید نمی توان بیش از یک entryیا مقدار داشت ،بدین معنی که یک کلید نمی
تواند به هیچ وجه تکراری باشد .در صورت تخصیص دو کلید به یک مقدار ،معمولا دومی به
عنوان کلید انتخاب می شود .مثال:
#!/usr/bin/python
;}'dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
dict['Name']: Manni
.2کلیدها بایستی تغییر ناپدیر باشند (پس از ایجاد تغییر نکنند) ،بدین معنا که می توانید از
رشته ها ،اعداد یا tupleبه عنوان کلید استفاده کنید ،اما چیزی مانند ]' [' keyمجاز نیست.
مثال:
#!/usr/bin/python
;}dict = {['Name']: 'Zara', 'Age': 7
]'print "dict['Name']: ", dict['Name
2 )len(dict
3 )str(dict
معادل رشته ای يک متغير dictionaryرا برمی گرداند .در واقع يک ديکشنری را به رشته تبديل
می کند.
4 )type(variable
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
نوع متغير ارسالی را بازمی گرداند .اگر متغير پاس داده شده dictionary ،بود در آن صورت ،نوع
را dictionaryمشخص می کند.
1 )(dict.clear
2 )(dict.copy
در فرايند B ،shallow copyingتمامی مقادير فيلد ( A )field valueرا کپی می کند .اگر
مقدار فيلد يک آدرس حافظه باشد ،تنها آدرس حافظه را دانلود می کند و اگر مقدار فيلد يک نوع
اوليه ( )primitive typeباشد در آن صورت مقدار نوع اوليه را کپی می کند.
3 )(dict.fromkeys
يک dictionaryجديد بازمی گرداند که کليدهای المان توسط پارامتر اول و مقادير آن توسط
پارامتر دوم تعيين می شود.
اين متد کليد مورد نظر که توسط پارامتر اول مشخص می شود را در dictionaryمی يابد ،در
صوت يافت نشدن مقدار مورد نظر ،يک مقدار پيش فرض (که در پارامتر دوم تعريف می
شود) تعيين می کنيم که آن را برمی گرداند.
5 )dict.has_key(key
در صورت يافتن کليد مورد نظر در ،dictionaryکه توسط پارامتر keyمشخص می شود،
مقدار trueبرمی گرداند و در غير اين صورت falseرا بازيابی می نمايد.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
6 )(dict.items
جفت های کليد و مقدار المان های يک متغير ديکشنری را برمی گرداند.
7 )(dict.keys
عملکردی مشابه متد )( getدارد ،با اين تفاوت که در صورت نيافتن مقدار مورد نظر ،مقدار
پيش فرض که در پارامتر دوم تعريف می شود را برمی گرداند.
9 )dict.update(dict2
10 )(dict.values
برنامه ای که توسط زبان پایتون نوشته شده قادر است زمان و تاریخ را با فرمت های مختلف نمایش
دهد .تبدیل تاریخ و نمایش آن در قالب های (فرمت های) یک روتین در برنامه های کامپیوتری می
باشد .ماژول های تقویم و زمانی که در زبان پایتون طراحی شده این امکان را می دهد که تاریخ و
زمان را رد گیری کرده و در قالب های مختلف نمایش داد.
تاریخ در پایتون اعداد ممیز شناور هستند که در واحد ثانیه محاسبه می شوند .برخی تاریخ ها در
واحد ثانیه و از 1970(epoch)، January 1،12:00amمحاسبه می شوند (تعداد ثانیه های سپری شده
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
در پایتون یک ماژول timeوجود دارد که بسیار پرکاربرد بوده و توابعی برای کار با زمان و تبدیل
فرمت نمایش آن فراهم می نماید .از جمله این توابع می توان به متد )( time.timeاشاره کرد .متد
مذکور زمان جاری سیستم را برحسب ثانیه های سپری شده از تاریخ ، January 1،12:00am
) 1970(epochتا زمان کنونی محاسبه کرده و برمی گرداند.مثال:
#!/usr/bin/python
import time; # This is required to include time module.
)(ticks = time.time
print "Number of ticks since 12:00am, January 1, 1970:", ticks
نتیجه ی زیر را بدست می دهد:
بسیاری از توابع مربوط به timeدر پایتون ،زمان را به صورت tupleنه تایی نمایش می دهند:
4-digit year
0 2008
(سال به صورت چهار رقمی)
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
(ساعات تابستانی)
Tupleفوق معادل ساختار struct_timeمی باشد .ساختار نام برده دارای attributeهای زیر می
باشد:
1970 ، January 1،12:00amنمایش داده می شود ،به فرمت tupleنه تایی ،بایستی آن مقدار ممیز
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
شناور را به یک تابع (برای مثال )localtimeپاس دهید .این تابع در خروجی تاریخ را به صورت یک
tupleنه تایی نمایش می دهد.
#!/usr/bin/python
;import time
))(localtime = time.localtime(time.time
print "Local current time :", localtime
نتیجه ی زیر حاصل می گردد:
#!/usr/bin/python
;import time
نتیجه:
ماژول calendarطیف وسیعی از متدها را برای کار با تقویم سالانه و ماهانه ارائه می دهد .در
مثال زیر تقویم مربوط به ژانویه ی سال 2008نمایش داده شده است:
#!/usr/bin/python
import calendar
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
خروجی:
ماژول time
در پایتون ماژولی به نام timeوجود دارد که چندین تابع برای کار با زمان و تبدیل فرمت نمایش
تاریخ ارائه می دهد .در جدول زیر لیستی از این توابع را مشاهده می کنید:
شماره
تابع و شرح عملکرد آن
ی متد
time.altzone
The offset of the local DST timezone, in seconds west of UTC, if one is
1 defined. This is negative if the local DST timezone is east of UTC (as in
Western Europe, including the UK). Only use this if daylight is nonzero.
)]time.asctime([tupletime
2 این متد توابع gmtimeیا localtimeرا به عنوان ورودی پذیرفته ،سپس خروجی آن را به
صورت رشته ی 24کاراکتری برمی گرداند (برای مثال '.)'Tue Dec 11 18:07:14 2008
) (time.clock
3
زمان فعلی پردازنده را در قالب یک عدد ممیز شناور بر حسب ثانیه برمی گرداند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
)]time.ctime([secs
4 در صورت داشتن پارامتر مانند تابع )) asctime(localtime(secsعمل می کند و در
صورت دم تعریف پاس دادن پارامتر به آن مانند متد ) ( asctimeعمل می کند.
)]time.gmtime([secs
5 یک تاریخ را بر حسب ثانیه های سپری شده از تاریخ 1970به عنوان ورودی دریافت می
کند و در خروجی به صورت tupleنه تایی بر اساس زمان جهانی یا UTCبرمی گرداند.
)]time.localtime([secs
6 یک تاریخ را برحسب ثانیه های سپری شده از 1970به عنوان ورودی پذیرفته و در خروجی
به صورت tupleهای نه تایی بر اساس زمان محلی برمی گرداند.
)time.mktime(tupletime
7 یک تاریخ را در قالب tupleهای نه تایی که بر اساس زمان محلی می باشد پذیرفته و
در خروجی به صورت عدد ممیز شناور ،بر حسب ثانیه های سپری شده از تاریخ 1970
برمی گرداند.
)time.sleep(secs
8 تعداد ثانیه هایی که اجرا به صورت موقت متوقف می شود را به عنوان ورودی می
پذیرد .اجرا را به مدت مشخص شده در پارامتر ورودی ،متوقف می سازد.
)]time.strftime(fmt[,tupletime
9 یک تاریخ را (بر اساس زمان محلی) در قالب tupleهای نه تایی به عنوان ورودی
پذیرفته و آن را به صورت رشته (که فرمت آن توسط پارامتر ورودی اول مشخص می
شود) برمی گرداند.
10 تاریخ را در قالب رشته به عنوان ورودی پذیرفته سپس آن را بر اساس فرمتی که پارامتر
fmtمشخص می کند parse ،می کند و به صورت tupleنه تایی برمی گراند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
) (time.time
11 زمان جاری را به صورت عدد ممیز شناور برحسب ثانیه های سپری شده از تاریخ 1970
برمی گرداند.
time.timezone
اختلاف زمانی UTCاز زمان منطقه ای را (بدون درنظر گرفتن ساعت تابستانی یا )DTSمحاسبه
کرده و بر حسب ثانیه برمی گرداند (در آمریکا >0و <=0در اروپا ،آسیا و آفریقا).
time.tzname
ماژول calendar
ماژول calendarتوابعی برای کار با تقویم ارائه می دهد که به وسیله ی آن می توان ،به عنوان
به صورت پیش فرض ،ماژول ذکر شده ،روز دوشنبه را به عنوان اولین روز هفته و یکشنبه را آخرین
روز آن درنظر می گیرد .برای تغییر این روال پیش فرض ،بایستی تابع )(calendar.setfirstweekday
را صدا بزنید.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
شماره
تابع و شرح آن
ی متد
)calendar.calendar(year,w=2,l=1,c=6
تقویم سال را به صورت یک رشته ی چند خطی برمی گرداند که در آن سال با سه ستون
1
مشخص شده است و ستون ها با ( cتعداد فاصله ها) از هم جدا شده اند( w ،تعداد
کاراکترهای هر تاریخ) طول هر خط 21*w+18+2*cو Lتعداد خطوط درنظر گرفته شده
برای هر هفته است.
) (calendar.firstweekday
2 تنظیمات جاری برای روز اول هفته را برمی گرداند .به صورت پیش فرض ،هنگامی که
ماژول تقویم را importمی کنید ،اولین روز هفته بر روی ( 0دوشنبه) تنظیم می شود.
)calendar.isleap(year
3 در صورتی که سال جاری ،سال کبیسه باشد ،مقدار trueو در غیر این صورت مقدار
falseرا برمی گرداند.
)calendar.leapdays(y1,y2
4 تعداد کل روزهای کبیسه را بین دو سال مشخص شده در پارامتر ورودی ،برمی گرداند
(.)y1,y2
)calendar.month(year,month,w=2,l=1
این تابع یک رشته چند خطی را برمی گرداند که در آن ،monthشماره ی ماه سال و ،
5 شماره ی ماه سال و yearسال است .سپس برای هر هفته یک خط به اضافه ی دو خط
برای ستون درنظرمی گیرد W .تعداد کاراکترهای هر تاریخ و Iتعداد خطوط هر هفته.
طول هر سطر برابر است با .7*w+6
)calendar.monthcalendar(year,month
لیستی از اعداد صحیح برمی گرداند .هر زیرلیست بیانگر یک هفته می باشد .روزهایی
6
که خارج از ماه موردنظر هستند ،بر روی صفر تنظیم می شوند؛ در صورت وجود روز
در آن ماه ،بر روی روز مربوطه در آن ماه تنظیم می شود 1 ،به بالا.
7 )calendar.monthrange(year,month
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
s *char
* charکه در انتهای خود 0داشته را به رشته ی Python
تبدیل می نماید یا NULLرا به .None
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7
][... as per ... از مقادیر ،Cیک لیست ( )listدر پایتون تولید می کند.
آدرس آموزشگاه :تهران -خيابان شريعتی -باال تر از خيابان ملک -جنب بانک صادرات -پالک 651طبقه دوم -واحد7