Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added _static/pages/01-python-introduction.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/02-python-setup.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/03-python-project-structure.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/04-python-interactive-mode.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/06-python-syntax.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/08-python-built-in-data-types-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/09-python-if-else-for-while.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/10-python-input-output-file.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/11-python-os-path-math.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/12-python-function.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/15-python-regex-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/pages/16-python-regex-re.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions donate-report.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@



|

**سال 1399: 652,222 تومان**

|





.. raw:: html
Expand Down
15 changes: 12 additions & 3 deletions lessons/l01.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,17 @@



درس ۰۱: آشنایی با پایتون
========================
درس ۰۱: آشنایی با زبان برنامه‌نویسی پایتون
=================================================

این درس با بیان تاریخچه ایجاد پایتون شروع و با توصیفی کوتاه و شرح ویژگی‌های آن ادامه می‌یابد؛ در شرح ویژگی‌ها سعی شده است کمی نیز توضیحات غیرپایتونی برای درک بهتر موضوعات ارایه گردد. همچنین در مورد کارایی پایتون و این موضوع که چرا در حال حاضر دو شاخه متفاوت از این زبان وجود دارد نیز صحبت شده است. هدف این درس ایجاد یک پیش‌زمینه‌ بدون ابهام از پایتون است! به این امید که مفید باشد و بتواند شما را به یادگیری این زبان تشویق کند :emoji-size:`😉`.
.. figure:: /_static/pages/01-python-introduction.jpg
:align: center
:alt: آشنایی با زبان برنامه نویسی پایتون

Photo by `Michael Olsen <https://unsplash.com/photos/-djS1aPrSr4>`__


این درس با بیان تاریخچه ایجاد **زبان برنامه‌نویسی پایتون** شروع و با توصیفی کوتاه و شرح ویژگی‌های آن ادامه می‌یابد؛ در شرح ویژگی‌ها سعی شده است کمی نیز توضیحات غیرپایتونی برای درک بهتر موضوعات ارایه گردد. همچنین در مورد کارایی پایتون و این موضوع که چرا در حال حاضر دو شاخه متفاوت از این زبان وجود دارد نیز صحبت شده است. هدف این درس ایجاد یک پیش‌زمینه‌ بدون ابهام از پایتون است! به این امید که مفید باشد و بتواند شما را به یادگیری این زبان تشویق کند :emoji-size:`😉`.

:emoji-size:`✔` سطح: پایه

Expand Down Expand Up @@ -153,6 +160,7 @@ CPython (سی‌پایتون) پیاده‌سازی استاندارد و اصل

پی‌نوشت
--------

.. [#f1] برگرفته از نوشته‌های وبلاگ [`The History of Python <http://python-history.blogspot.com/>`_] و همینطور مصاحبه‌ [`The Making of Python <http://www.artima.com/intv/pythonP.html>`__]

.. [#f2] ”...در دسامبر سال ۱۹۸۹ دنبال یک پروژه‌ برنامه‌نویسی به عنوان سرگرمی می‌گشتم تا اوقات فراغت به وجود آمده از تعطیلات کریسمس را پر کنم. دفتر کارم (یک آزمایشگاه تحقیقاتی دولتی در آمستردام) بسته بود، ولی یک رایانه‌ شخصی داشتم و چیزی بیش از این هم در اختیارم نبود. تصمیم گرفتم تا مفسری برای یک زبان اسکریپتی جدید بنویسم. قبلا در مورد آن فکر کرده بودم: از نسل زبان ABC و جذاب برای هکرهای Unix/C. نام پایتون را برای عنوان کاری این پروژه انتخاب کردم، کمی گستاخانه ( و یک طرفدار بزرگ Monty Python’s Flying Circus)...“ - نقل از آقای روسوم [`منبع <http://www.python.org/doc/essays/foreword>`_]
Expand Down Expand Up @@ -192,6 +200,7 @@ CPython (سی‌پایتون) پیاده‌سازی استاندارد و اصل
:emoji-size:`😊` امیدوارم مفید بوده باشه

`لطفا دیدگاه و سوال‌های مرتبط با این درس خود را در کدرز مطرح نمایید. <http://coderz.ir/python-tutorial-introduction/>`_




10 changes: 8 additions & 2 deletions lessons/l02.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,14 @@
درس ۰۲: نصب و راه‌اندازی پایتون
================================

در این درس به چگونگی نصب و راه‌اندازی پایتون در دو سیستم عامل ویندوز و گنولینوکس پرداخته و در پایان نیز توضیح مختصری از «سیستم مدیریت بسته» پایتون ارایه شده است.
.. figure:: /_static/pages/02-python-setup.jpg
:align: center
:alt: نصب و راه‌اندازی پایتون

Photo by `Bermix Studio <https://unsplash.com/photos/8tQ7rBFgPu8>`__


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

:emoji-size:`✔` سطح: پایه

Expand Down Expand Up @@ -368,4 +375,3 @@ pip از زمان انتشار نسخه‌ 3.4 به بسته‌ نصبی پای
`لطفا دیدگاه و سوال‌های مرتبط با این درس خود را در کدرز مطرح نمایید. <http://coderz.ir/python-tutorial-installation/>`_



9 changes: 9 additions & 0 deletions lessons/l03.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
درس ۰۳: چگونگی ایجاد و اجرای یک پروژه پایتون
=============================================

.. figure:: /_static/pages/03-python-project-structure.jpg
:align: center
:alt: چگونگی ایجاد و اجرای یک پروژه پایتون

Photo by `Sam Moqadam <https://unsplash.com/photos/UkwbRZkt8zM>`__

این درس به چگونگی ایجاد پروژه‌‌های برنامه‌نویسی پایتون و اجرای آن‌ها اختصاص یافته است. درس با بیان تعاریف و رسم ساختار معمول یک پروژه شروع و اشاره‌ای نیز به ساختار پروژه‌های قابل انتشار در PyPI می‌شود. در بخش یکم تلاش شده است که تصویر کاملی از ساختار یک پروژه در ذهن خواننده ایجاد و از این طریق او با تعاریف «بسته»، «ماژول» و «اسکریپت» در زبان پایتون آشنا شود. در دو بخش‌ بعدی نیز ضمن اشاره به دو شیوه‌ اجرای دستورات پایتون، به شیوه ایجاد اسکریپت و چگونگی اجرای آن تمرکز شده است؛ چرا که پروژه‌های پایتون به این شیوه اجرا می‌گردند. در ادامه هم به روند اجرای کد توسط مفسر پایتون و همچنین معرفی بایت‌کد توجه و در نهایت نیز به معرفی virtualenv و pyvenv پرداخته شده است.

:emoji-size:`✔` سطح: پایه
Expand Down Expand Up @@ -439,4 +445,7 @@ pyvenv

`لطفا دیدگاه و سوال‌های مرتبط با این درس خود را در کدرز مطرح نمایید. <http://coderz.ir/python-tutorial-create-project/>`_





9 changes: 9 additions & 0 deletions lessons/l04.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@
درس ۰۴: برنامه‌نویسی تعاملی با پایتون
======================================


.. figure:: /_static/pages/04-python-interactive-mode.jpg
:align: center
:alt: برنامه‌نویسی تعاملی با پایتون (interactive)

Photo by `Anton Maksimov juvnsky <https://unsplash.com/photos/3jDZM3rgpz8>`__



در این درس به توضیح حالت تعاملی پایتون می‌پردازیم؛ اینکه چگونه وارد یا خارج شویم، کد بنویسیم یا در مورد چیزی در این زبان راهنمایی بگیریم. پس از مطالعه درس پیش و دو بخش ابتدایی این درس، با اجرای اسکریپت و حالت تعاملی پایتون آشنا شده‌اید؛ بر همین اساس در بخش سوم این درس به توضیح گزینه‌های مورد کاربرد در فراخوانی مفسر پایتون می‌پردازیم که به نوعی به هر دو مبحث یاد شده مربوط می‌شوند. این درس پر از مطالبی است که در آینده سر نوبت(!) بررسی خواهند شد (مانند مفهوم **شی**) البته برای درک موضوعات، توضیح کوتاهی ارایه شده ولی بهتر است متمرکز به موضوعات اصلی خود درس باشید و زیاد درگیر آن‌ها نشوید؛ فقط به خاطر بسپارید!

:emoji-size:`✔` سطح: پایه
Expand Down
10 changes: 9 additions & 1 deletion lessons/l05.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@

درس ۰۵: مفهوم شی‌گرایی
========================
این درس به توضیح مفاهیم پایه «برنامه‌نویسی شی‌گرا» اختصاص یافته است و آخرین درس از سطح‌بندی «پایه» در این کتاب می‌باشد. هدف از این درس آشنایی خوانندگان با مفاهیم عمومی شی‌گرایی بوده و نه آموزش آن؛ جزییات بیشتر از برنامه‌نویسی شی‌گرا به همراه آموزش پیاده‌سازی مفاهیم آن در زبان پایتون از درس هفدهم به بعد بررسی خواهد شد. در این درس همچنین به ساختار اشیا و کلاس‌ها در زبان پایتون اشاره‌ شده است که پیش‌نیاز دروس آتی خواهد بود.


.. figure:: /_static/pages/05-python-object-oriented-programming-concept.jpg
:align: center
:alt: مفهوم شی گرایی (Object-Oriented Programming)

Photo by `Lucas Benjamin <https://unsplash.com/photos/wQLAGv4_OYs>`__

این درس به توضیح مفاهیم پایه «برنامه‌نویسی شی‌گرا» (Object-Oriented Programming) اختصاص یافته است و آخرین درس از سطح‌بندی «پایه» در این کتاب می‌باشد. هدف از این درس آشنایی خوانندگان با مفاهیم عمومی شی‌گرایی بوده و نه آموزش آن؛ جزییات بیشتر از برنامه‌نویسی شی‌گرا به همراه آموزش پیاده‌سازی مفاهیم آن در زبان پایتون از درس هفدهم به بعد بررسی خواهد شد. در این درس همچنین به ساختار اشیا و کلاس‌ها در زبان پایتون اشاره‌ شده است که پیش‌نیاز دروس آتی خواهد بود.


:emoji-size:`✔` سطح: پایه
Expand Down
7 changes: 7 additions & 0 deletions lessons/l06.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@
درس ۰۶: سینتکس یا دستور نحو زبان پایتون
==========================================


.. figure:: /_static/pages/06-python-syntax.jpg
:align: center
:alt: سینتکس یا دستور نحو زبان پایتون

Photo by `Tim J <https://unsplash.com/photos/gM6k0JmHIBE>`__

در این درس به معرفی اجزای پایه در برنامه‌نویسی پایتون پرداخته شده و اینکه چه هستند، چه گرامری دارند، چه کاری انجام می‌دهند یا... مورد بررسی قرار گرفته است. همچنین در موارد بسیاری نکته‌هایی از شیوه استاندارد پایتون‌نویسی که توسط سند `PEP 8 <http://www.python.org/dev/peps/pep-0008>`__ به برنامه‌نویسان پایتون پیشنهاد می‌شود نیز آورده شده است؛ رعایت این اصول به یکدستی کدهای جامعه پایتون کمک می‌کند.

سینتکس (`Syntax <http://en.wikipedia.org/wiki/Syntax_(programming_languages)>`_ یا دستور نحو) مجموعه‌ای از قواعد است که چگونگی برنامه‌نویسی به یک زبان مشخص را تعریف می‌کند؛ برای نمونه اینکه یک متن چطور نوشته شود که توسط مفسر پایتون به عنوان توضیح در نظر گرفته شود یا یک شی رشته، به رعایت سینتکس تعریف شده در پایتون بستگی دارد و چنانچه مفسر نتواند متن را با هیچ قاعده‌ تعریف شده‌ای مطابقت دهد یک استثنا گزارش خواهد شد. سینتکس پایتون تنها محدود به این درس نیست و موارد بسیار دیگری به مانند چگونگی تعریف اشیا گوناگون را در طی درس‌های آتی مشاهده خواهید کرد.
Expand Down
11 changes: 9 additions & 2 deletions lessons/l07.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,15 @@
:keywords: آموزش, آموزش پایتون, آموزش برنامه نویسی, پایتون, انواع شی, انواع داده, انواع شی در پایتون, انواع داده در پایتون, نوع صحیح, نوع ممیز شناور, نوع مختلط, نوع دسیمال, نوع کسری, نوع بولی, نوع رشته, رشته‌ها در پایتون, قالب بندی رشته, توابع رشته در پایتون


درس ۰۷: انواع داده یا شی در پایتون: بخش ۱
==========================================
درس ۰۷: انواع داده یا شی در پایتون: عددی و رشته
===========================================================

.. figure:: /_static/pages/07-python-built-in-data-types-1.jpg
:align: center
:alt: انواع داده یا شی در پایتون: عددی و رشته

Photo by `Kristian Strand <https://unsplash.com/photos/p8gzCnZf39k>`__


پایتون هر «نوع داده» (Data Type) را توسط یک کلاس ارایه می‌دهد؛ بنابراین هر داده یک نمونه یا یک شی از کلاسی مشخص است. هر چند برنامه‌نویس نیز می‌تواند با تعریف کلاس، نوع دلخواه خود را داشته باشد ولی در این درس می‌خواهیم درباره آن بخشی از انواع داده یا انواع شی‌ای که به شکل آماده (Built-in) در اختیار مفسر زبان پایتون قرار داده شده است صحبت کنیم.

Expand Down
11 changes: 9 additions & 2 deletions lessons/l08.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,15 @@
:keywords: آموزش, آموزش پایتون, آموزش برنامه نویسی, پایتون, انواع شی, انواع داده, انواع شی در پایتون, انواع داده در پایتون, پایتون


درس ۰۸: انواع داده یا شی در پایتون: بخش ۲
===========================================
درس ۰۸: انواع داده یا شی در پایتون: set ،dict ،tuple، list و None
====================================================================================

.. figure:: /_static/pages/08-python-built-in-data-types-2.jpg
:align: center
:alt: انواع داده یا شی در پایتون: set ،dict ،tuple، list و None

Photo by `Natalia Y <https://unsplash.com/photos/Oxl_KBNqxGA>`__


پایتون هر «نوع داده» (Data Type) را توسط یک کلاس ارایه می‌دهد؛ بنابراین هر داده یک نمونه یا یک شی از کلاسی مشخص است. هر چند برنامه‌نویس نیز می‌تواند با تعریف کلاس، نوع دلخواه خود را داشته باشد ولی در این درس می‌خواهیم درباره آن بخشی از انواع داده یا انواع شی‌ (Object Types) که به شکل آماده (Built-in) در اختیار مفسر زبان پایتون قرار داده شده است صحبت کنیم.

Expand Down
8 changes: 8 additions & 0 deletions lessons/l09.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@
درس ۰۹: دستورهای کنترلی در پایتون
==================================

.. figure:: /_static/pages/09-python-if-else-for-while.jpg
:align: center
:alt: دستورهای کنترلی در پایتون

Photo by `Lynda Sanchez <https://unsplash.com/photos/GCbGxU4mBu0>`__



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

این درس به بررسی دستورهای کنترلی پایتون در دو بخش «انتخاب» و «تکرار» اختصاص یافته است.
Expand Down
8 changes: 8 additions & 0 deletions lessons/l10.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@
درس ۱۰: فایل، ورودی و خروجی در پایتون
========================================

.. figure:: /_static/pages/10-python-input-output-file.jpg
:align: center
:alt: فایل، ورودی و خروجی در پایتون - input, print, file

Photo by `Mr Cup / Fabien Barral <https://unsplash.com/photos/o6GEPQXnqMY>`__



موضوع این درس به چگونگی دریافت یا خواندن داده‌ها از کاربر حالت تعاملی یا فایل‌ها و همچنین نمایش یا نوشتن در آن‌ها اختصاص یافته است؛ بر همین اساس در متن درس به بررسی شی فایل و تابع‌های آماده ``()print`` و ``()input`` در پایتون پرداخته خواهد شد. به برخی از تفاوت‌ها در پیاده‌سازی نسخه جدید پایتون (شاخه 3x) که به موضوع این درس مربوط می‌باشند نیز اشاره شده است.


Expand Down
6 changes: 6 additions & 0 deletions lessons/l11.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
درس ۱۱: کتابخانه استاندارد پایتون: math و os
================================================

.. figure:: /_static/pages/11-python-os-path-math.jpg
:align: center
:alt: کتابخانه استاندارد پایتون: math و os

Photo by `Yousef Espanioly <https://unsplash.com/photos/L6g30JaQ5Tc>`__

کتابخانه استاندارد پایتون مجموعه‌ وسیعی از امکانات آماده است که با نصب پایتون در اختیار قرار می‌گیرد. فهرست کامل این امکانات را می‌توانید از نشانی‌های `(پایتون 2x) <https://docs.python.org/2/library/>`_ و `(پایتون 3x) <https://docs.python.org/3/library/>`_ مشاهده نمایید. لازم به یادآوری است که بخشی بزرگی از قدرت پایتون به دلیل وجود کتابخانه‌های فراوان و قدرتمند آن است که تعداد زیادی از آن‌ها خارج کتابخانه استاندارد پایتون و درون جامعه کاربری در حال توسعه هستند که فهرست تقریبا کاملی از آن‌ها نیز توسط `PyPI <https://pypi.python.org/pypi>`_ قابل جستجو و دریافت هستند.

این درس به عنوان آخرین درس از سطح مقدماتی کتاب به بررسی بخشی از امکان‌های کاربردی این کتابخانه اختصاص یافته است که البته ممکن است در طول درس‌های گذشته از آن‌ها استفاده کرده باشیم!.
Expand Down
8 changes: 7 additions & 1 deletion lessons/l12.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@
درس ۱۲: تابع در پایتون: تعریف، ارسال و تطابق آرگومان‌ها
===========================================================

این درس به معرفی مفهوم تابع در زبان برنامه‌نویسی پایتون می‌پردازد.
.. figure:: /_static/pages/12-python-function.jpg
:align: center
:alt: تابع در پایتون: تعریف، ارسال و تطابق آرگومان‌ها

Photo by `Josue Isai Ramos Figueroa <https://unsplash.com/photos/qvBYnMuNJ9A>`__

این درس به معرفی مفهوم **تابع (Function)** در زبان برنامه‌نویسی پایتون می‌پردازد.



Expand Down
Loading