Skip to content

Commit 86c097e

Browse files
author
Saeid Darvish
authored
Merge pull request #78 from saeiddrv/draft [resolve #61]
edited l11
2 parents 1db5407 + eceb2d6 commit 86c097e

File tree

7 files changed

+69
-14
lines changed

7 files changed

+69
-14
lines changed

source/_static/practice/students.csv

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
ID,Name,Age,Gender,Grade
2+
1,Alice,21,Female,89
3+
2,Kevin,19,Male,79
4+
3,Emily,19,Female,91
5+
4,Linda,20,Female,93
6+
5,David,19,Male,76
7+
6,Sophia,20,Female,97
8+
7,Mike,20,Male,84
9+
8,Sarah,20,Female,95
10+
9,Jack,18,Male,83
11+
10,Olivia,19,Female,94
12+
11,Mark,19,Male,82
13+
12,Kim,20,Female,96
14+
13,Sam,20,Male,75
15+
14,George,19,Male,77
16+
15,Ben,18,Male,72
17+
16,Chloe,19,Female,90
18+
17,Ella,21,Female,84
19+
18,Harry,18,Non-binary,81
20+
19,Peter,20,Male,77
21+
20,Pat,19,Genderqueer,91
22+
21,Alice,21,Female,89
23+
22,Linda,20,Female,93
24+
23,John,18,Male,85
25+
24,Ava,19,Female,98
26+
25,Tom,18,Male,80
27+
26,Grace,21,Female,88
28+
27,Sophia,20,Female,97
29+
28,Jane,19,Female,92
30+
29,Emma,21,Female,86
31+
30,Bob,20,Male,78

source/_static/sitemap-index.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@
7575
<priority>0.80</priority>
7676
</url>
7777
<url>
78-
<loc>https://python.coderz.ir/lessons/l11.html</loc>
79-
<lastmod>2021-03-17T17:10:25+00:00</lastmod>
78+
<loc>https://python.coderz.ir/lessons/l11-python-standard-library.html</loc>
79+
<lastmod>2023-04-17T17:10:25+00:00</lastmod>
8080
<priority>0.80</priority>
8181
</url>
8282
<url>

source/changelog.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,16 @@
1212
=============
1313

1414

15+
.. raw:: html
16+
17+
<p class="rubric" id="00136" ><a class="reference external" href="#00136">00136</a> - پنج‌شنبه ۷ اردیبهشت ۱۴۰۲</p>
18+
19+
* درس یازدهم ویرایش و بروزرسانی گردید.
20+
* [`Issue #61 <https://github.com/saeiddrv/PythonPersianTutorial/issues/61>`__]
21+
22+
23+
----
24+
1525
.. raw:: html
1626

1727
<p class="rubric" id="00135" ><a class="reference external" href="#00135">00135</a> - چهارشنبه ۶ اردیبهشت ۱۴۰۲</p>

source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
lessons/l08-set-and-dict-in-python
4343
lessons/l09-control-flow-statements-in-python
4444
lessons/l10-input-print-and-files-in-python
45-
lessons/l11
45+
lessons/l11-python-standard-library
4646
lessons/l12
4747
lessons/l13
4848
lessons/l14

source/lessons/l07-string-and-bytes-in-python.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
.. _python-string-sequence:
118118

119119
رشته به عنوان دنباله‌ (Sequence)
120-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``
120+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121121

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

source/lessons/l10-input-print-and-files-in-python.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,14 @@ JSON
723723
در پایتون می‌توان به سادگی با استفاده از ماژول ``json`` [`اسناد پایتون <https://docs.python.org/3/library/json.html>`__] از کتابخانه استاندارد آن، با این نوع فایل کار کرد. البته ابزارهای دیگری نیز توسط دیگر کاربران پایتون توسعه داده شده است که در صورت نیاز یا علاقه می‌توانید با کمی جستجو آنها را بیابید.
724724

725725

726+
.. admonition:: تمرین
727+
728+
فایل [`students.csv </_static/practice/students.csv>`__] را دانلود نمایید. این یک فایل CSV حاوی اطلاعات دانش آموزان یک کلاس است. بدون استفاده از ماژول ``csv`` پایتون و تنها با تکیه بر آنچه آموخته‌اید، یک برنامه بنویسید که این فایل را پردازش و میانگین نمرات دانش آموزان دختر (Female) این کلاس را محاسبه کند.
729+
730+
731+
** یادآوری: تابع ``open`` ، حلقه ``for`` ، دستورهای انتخاب مانند ``if`` و متد ``split`` از شی رشته
732+
733+
726734
|
727735
728736
----

source/lessons/l11.rst renamed to source/lessons/l11-python-standard-library.rst

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
.. role:: emoji-size
22

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

76

8-
درس ۱۱: ماژول‌های math (تابع‌های ریاضی) و os (ارتباط با سیستم‌عامل) پایتون
7+
.. _lesson-11:
8+
9+
درس ۱۱: کتابخانه استاندارد پایتون
910
============================================================================
1011

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

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

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

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

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

2324

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

2527

2628

@@ -34,7 +36,7 @@
3436

3537
----
3638

37-
39+
.. _python-math:
3840

3941
math
4042
------
@@ -128,7 +130,10 @@ math
128130
4
129131
>>>
130132

131-
* ``(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>`__]::
133+
* ``(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>`__].
134+
135+
تابع آماده ``abs`` بدون نیاز به import همواره قابل استفاده است و خروجی آن بر اساس نوع داده ورودی می‌تواند صحیح یا ممیز شناور باشد. ولی
136+
تابع ``(math.fabs(x`` برای کار با داده های float طراحی شده است و خروجی آن همواره یک عدد ممیز شناور است::
132137

133138
>>> import math
134139

@@ -178,7 +183,7 @@ math
178183
0.30102999566398114
179184
>>>
180185

181-
برای سادگی استفاده در محاسبه‌های ریاضی دو تابع ``(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 به بعد اضافه شده است - نیز در دسترس هستند::
186+
برای سادگی استفاده در محاسبه‌های ریاضی دو تابع ``(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** به بعد اضافه شده است - نیز در دسترس هستند::
182187

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

249254

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

498505

506+
.. _python-os-path:
499507

500508
os.path
501509
--------
@@ -837,6 +845,4 @@ os.path
837845

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

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

0 commit comments

Comments
 (0)