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
31 changes: 31 additions & 0 deletions source/_static/practice/students.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
ID,Name,Age,Gender,Grade
1,Alice,21,Female,89
2,Kevin,19,Male,79
3,Emily,19,Female,91
4,Linda,20,Female,93
5,David,19,Male,76
6,Sophia,20,Female,97
7,Mike,20,Male,84
8,Sarah,20,Female,95
9,Jack,18,Male,83
10,Olivia,19,Female,94
11,Mark,19,Male,82
12,Kim,20,Female,96
13,Sam,20,Male,75
14,George,19,Male,77
15,Ben,18,Male,72
16,Chloe,19,Female,90
17,Ella,21,Female,84
18,Harry,18,Non-binary,81
19,Peter,20,Male,77
20,Pat,19,Genderqueer,91
21,Alice,21,Female,89
22,Linda,20,Female,93
23,John,18,Male,85
24,Ava,19,Female,98
25,Tom,18,Male,80
26,Grace,21,Female,88
27,Sophia,20,Female,97
28,Jane,19,Female,92
29,Emma,21,Female,86
30,Bob,20,Male,78
4 changes: 2 additions & 2 deletions source/_static/sitemap-index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@
<priority>0.80</priority>
</url>
<url>
<loc>https://python.coderz.ir/lessons/l11.html</loc>
<lastmod>2021-03-17T17:10:25+00:00</lastmod>
<loc>https://python.coderz.ir/lessons/l11-python-standard-library.html</loc>
<lastmod>2023-04-17T17:10:25+00:00</lastmod>
<priority>0.80</priority>
</url>
<url>
Expand Down
10 changes: 10 additions & 0 deletions source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,16 @@
=============


.. raw:: html

<p class="rubric" id="00136" ><a class="reference external" href="#00136">00136</a> - پنج‌شنبه ۷ اردیبهشت ۱۴۰۲</p>

* درس یازدهم ویرایش و بروزرسانی گردید.
* [`Issue #61 <https://github.com/saeiddrv/PythonPersianTutorial/issues/61>`__]


----

.. raw:: html

<p class="rubric" id="00135" ><a class="reference external" href="#00135">00135</a> - چهارشنبه ۶ اردیبهشت ۱۴۰۲</p>
Expand Down
2 changes: 1 addition & 1 deletion source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
lessons/l08-set-and-dict-in-python
lessons/l09-control-flow-statements-in-python
lessons/l10-input-print-and-files-in-python
lessons/l11
lessons/l11-python-standard-library
lessons/l12
lessons/l13
lessons/l14
Expand Down
2 changes: 1 addition & 1 deletion source/lessons/l07-string-and-bytes-in-python.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
.. _python-string-sequence:

رشته به عنوان دنباله‌ (Sequence)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

برخی از انواع شی پایتون به مانند رشته، توپِل (tuple)، لیست (list) و... با عنوان **دنباله** (Sequence) نیز شناخته می‌شوند. دنباله ویژگی‌هایی دارد که در اینجا به کمک نوع رشته بررسی خواهیم کرد. رشته در واقع یک **دنباله** از کاراکترهاست در نتیجه می‌توان هر یک از اعضای این دنباله را با استفاده از اندیس (Index) موقعیت آن، دستیابی نمود؛ اندیس اعضا از سمت چپ با عدد صفر شروع و به سمت راست یک واحد یک واحد افزایش می‌یابد. به عنوان نمونه برای شی ``'Python Strings'`` می‌توانیم شمای اندیس‌گذاری را به صورت پایین در نظر بگیریم::

Expand Down
8 changes: 8 additions & 0 deletions source/lessons/l10-input-print-and-files-in-python.rst
Original file line number Diff line number Diff line change
Expand Up @@ -723,6 +723,14 @@ JSON
در پایتون می‌توان به سادگی با استفاده از ماژول ``json`` [`اسناد پایتون <https://docs.python.org/3/library/json.html>`__] از کتابخانه استاندارد آن، با این نوع فایل کار کرد. البته ابزارهای دیگری نیز توسط دیگر کاربران پایتون توسعه داده شده است که در صورت نیاز یا علاقه می‌توانید با کمی جستجو آنها را بیابید.


.. admonition:: تمرین

فایل [`students.csv </_static/practice/students.csv>`__] را دانلود نمایید. این یک فایل CSV حاوی اطلاعات دانش آموزان یک کلاس است. بدون استفاده از ماژول ``csv`` پایتون و تنها با تکیه بر آنچه آموخته‌اید، یک برنامه بنویسید که این فایل را پردازش و میانگین نمرات دانش آموزان دختر (Female) این کلاس را محاسبه کند.


** یادآوری: تابع ``open`` ، حلقه ``for`` ، دستورهای انتخاب مانند ``if`` و متد ``split`` از شی رشته


|

----
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
.. role:: emoji-size

.. meta::
:description: کتاب آموزش زبان برنامه نویسی پایتون به فارسی، آموزش بخشی از کتابخانه استاندارد پایتون، آموزش ماژول math پایتون، آموزش ماژول‌های os و os.path پایتون
:keywords: آموزش, آموزش پایتون, آموزش برنامه نویسی, پایتون, انواع شی, انواع داده, پایتون
:description: پایتون به پارسی - کتاب آنلاین و آزاد آموزش زبان برنامه‌نویسی پایتون - درس یازدهم: کتابخانه استاندارد پایتون


درس ۱۱: ماژول‌های math (تابع‌های ریاضی) و os (ارتباط با سیستم‌عامل) پایتون
.. _lesson-11:

درس ۱۱: کتابخانه استاندارد پایتون
============================================================================

.. figure:: /_static/pages/11-python-os-path-math.jpg
Expand All @@ -15,12 +16,13 @@

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>`_ قابل جستجو و دریافت هستند.

این درس به عنوان آخرین درس از سطح مقدماتی کتاب به بررسی بخشی از امکان‌های کاربردی این کتابخانه اختصاص یافته است که البته ممکن است در طول درس‌های گذشته از آن‌ها استفاده کرده باشیم!.
کتابخانه استاندارد پایتون مجموعه‌ وسیعی از امکانات آماده است که با نصب بسته نرم‌افزاری پایتون (درس دوم) در اختیار قرار می‌گیرد. تمام تابع‌ها و ماژول‌هایی که تاکنون با آن آشنا شده‌ایم، بخشی از این کتابخانه هستند. فهرست کامل ابزارهای ارایه شده توسط این کتابخانه را می‌توانید از نشانی‌ [`The Python Standard Library <https://docs.python.org/3/library/>`_] مشاهده نمایید.

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


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



Expand All @@ -34,7 +36,7 @@

----


.. _python-math:

math
------
Expand Down Expand Up @@ -128,7 +130,10 @@ math
4
>>>

* ``(math.fabs(x``: همانند تابع آماده ``()abs`` [`اسناد پایتون <http://docs.python.org/3/library/functions.html#abs>`__] مقدار قدر مطلق (`ویکی‌پدیا <https://en.wikipedia.org/wiki/Absolute_value>`__) عدد ``x`` را برمی‌گرداند [`اسناد پایتون <https://docs.python.org/3/library/math.html#math.fabs>`__]::
* ``(math.fabs(x``: همانند تابع آماده ``()abs`` [`اسناد پایتون <http://docs.python.org/3/library/functions.html#abs>`__] مقدار قدر مطلق (`ویکی‌پدیا <https://en.wikipedia.org/wiki/Absolute_value>`__) عدد ``x`` را برمی‌گرداند [`اسناد پایتون <https://docs.python.org/3/library/math.html#math.fabs>`__].

تابع آماده ``abs`` بدون نیاز به import همواره قابل استفاده است و خروجی آن بر اساس نوع داده ورودی می‌تواند صحیح یا ممیز شناور باشد. ولی
تابع ``(math.fabs(x`` برای کار با داده های float طراحی شده است و خروجی آن همواره یک عدد ممیز شناور است::

>>> import math

Expand Down Expand Up @@ -178,7 +183,7 @@ math
0.30102999566398114
>>>

برای سادگی استفاده در محاسبه‌های ریاضی دو تابع ``(log10(x`` [`اسناد پایتون <http://docs.python.org/3/library/math.html#math.log10>`__] - محاسبه لگاریتم عدد x در پایه عدد 10 - و ``(log2(x`` [`اسناد پایتون <http://docs.python.org/3/library/math.html#math.log2>`__] - محاسبه لگاریتم عدد x در پایه عدد 2؛ که از نسخه 3.3 به بعد اضافه شده است - نیز در دسترس هستند::
برای سادگی استفاده در محاسبه‌های ریاضی دو تابع ``(log10(x`` [`اسناد پایتون <http://docs.python.org/3/library/math.html#math.log10>`__] - محاسبه لگاریتم عدد x در پایه عدد 10 - و ``(log2(x`` [`اسناد پایتون <http://docs.python.org/3/library/math.html#math.log2>`__] - محاسبه لگاریتم عدد x در پایه عدد 2؛ که از **نسخه 3.3** به بعد اضافه شده است - نیز در دسترس هستند::

>>> math.log10(100)
2.0
Expand Down Expand Up @@ -247,6 +252,8 @@ math
* توابع هذلولی (Hyperbolic functions) [`اسناد پایتون <http://docs.python.org/3/library/math.html#hyperbolic-function>`__]: ``(cosh(x`` و ``(sinh(x`` و ``(tanh(x`` و ``(acosh(x`` و ``(asinh(x`` و ``(atanh(x``.


.. _python-os:

os
-----
این ماژول امکان استفاده از برخی قابلیت‌های وابسته به سیستم عامل را فراهم می‌آورد؛ مانند گرفتن مسیر دایرکتوری برنامه [`اسناد پایتون <http://docs.python.org/3/library/os.html>`_]. برخی از تابع‌های موجود در این ماژول به شرح پایین است:
Expand Down Expand Up @@ -496,6 +503,7 @@ os
/home


.. _python-os-path:

os.path
--------
Expand Down Expand Up @@ -837,6 +845,4 @@ os.path

:emoji-size:`😊` امیدوارم مفید بوده باشه

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