You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.rst
+9-10Lines changed: 9 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@
20
20
jgs`-.-` '.____.' `.____.'
21
21
22
22
23
-
این کتاب تلاشی است برای آموزش زبان برنامهنویسی پایتون (Python) بر پایه پیادهسازی استاندارد آن (CPython)، به شکلی کامل و ساده که بتواند هر دو شاخه از پایتون (نسخههای 3x و 2x) را البته با محوریت نسخه 3x پوشش دهد و همچنین برای افرادی که تاکنون سابقه برنامهنویسی نداشتهاند نیز کاربردی و مفید باشد. یادگیری پایتون نیازی به پیشزمینه برنامهنویسی ندارد و تنها پیشنیاز آن علاقه خوانندگان به فن برنامهنویسی است.
23
+
این کتاب تلاشی است برای آموزش زبان برنامهنویسی پایتون (Python) بر پایه پیادهسازی استاندارد آن (CPython)، به شکلی کامل و ساده که بتواند هر دو شاخه از پایتون (نسخههای 3x و 2x) را البته با محوریت نسخه 3x (به خصوص از درس هفدهم به بعد) پوشش دهد و همچنین برای افرادی که تاکنون سابقه برنامهنویسی نداشتهاند نیز کاربردی و مفید باشد. یادگیری پایتون نیازی به پیشزمینه برنامهنویسی ندارد و تنها پیشنیاز آن علاقه خوانندگان به فن برنامهنویسی است.
Copy file name to clipboardExpand all lines: lessons/l25.rst
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,7 @@
18
18
19
19
20
20
21
+
برای کار با زمان سه ماژول در کتابخانه استاندارد زبان برنامهنویسی پایتون آماده شده است؛ time ،datetime و calendar. این درس به شرح کامل ماژول datetime پایتون اختصاص یافته است و دو ماژول دیگر توسط درس بعد بررسی خواهند شد. ماژول datetime پایتون انواع یا کلاسهای زیادی را برای ایجاد اشیا مرتبط با زمان و دستکاری (manipulating) آنها فراهم آورده است، همچون ``time`` ،``date`` ،``timezone`` ،``timedelta`` و ``datetime`` که همگی در این درس بررسی خواهند شد.
21
22
22
23
توجه داشته باشید، هم اکنون پشتیبانی نسخه 2x پایتون به پایان رسیده است. بنابراین به منظور جلوگیری از پیچیدگیهای غیر ضروری، تمام مطالب این درس بر مبنای پایتون 3x ارائه میشود.
23
24
@@ -42,7 +43,7 @@
42
43
43
44
* **کلاس** ``date``: مناسب برای ایجاد شی تاریخ در پایتون میباشد که اشیا آن هیچ آگاهی نسبت به ساعت و منطقه زمانی (Time zone) [`ویکیپدیا <https://en.wikipedia.org/wiki/Time_zone>`__] نخواهند داشت و تنها مربوط به روزی خاص بر اساس گاهشماری میلادی (Gregorian calendar) [`ویکیپدیا <https://en.wikipedia.org/wiki/Gregorian_calendar>`__] میباشند.
44
45
45
-
* **کلاس** ``time``: مناسب برای ایجاد شی ساعت در پایتون میباشد و اشیا این کلاس هیچ آگاهی نسبت به تاریخ یا روز خاصی ندارند و تنها حاوی یک زمان مشخص از شبانهروز خواهند بود.
46
+
* **کلاس** ``time``: مناسب برای ایجاد شی ساعت در پایتون میباشد و اشیا این کلاس هیچ آگاهی نسبت به تاریخ یا روز خاصی ندارند و تنها حاوی یک ساعت مشخص از شبانهروز خواهند بود.
46
47
47
48
* **کلاس** ``datetime``: ترکیبی از دو کلاس ``date`` و ``time`` که اشیای آن میتوانند نسبت به یک زمان (تاریخ و ساعت) مشخص آگاهی کامل داشته باشند.
48
49
@@ -182,7 +183,8 @@
182
183
183
184
هر وقت که صحبت از ساعت و زمان باشد، «منطقه زمانی» (Time zone) نیز جزئی از گفتگو خواهد بود. در زبان برنامهنویسی پایتون کلاس ``tzinfo`` از ماژول ``datetime`` امکان ایجاد منطقه زمانی را فراهم آورده است [`اسناد پایتون <https://docs.python.org/3/library/datetime.html#datetime.tzinfo>`__]. ``tzinfo`` در واقع یک کلاس Abstract (درس نوزدهم) میباشد که نمیتوان از آن نمونهسازی و شی ایجاد کرد ولی میتوان به کمک آن، کلاس منطقه زمانی دلخواه خود را ایجاد نماییم. برای مشاهده اجزا و نکات مربوط به پیادهسازی منطقه زمانی دلخواه میتوانید به مستندات زبان برنامهنویسی پایتون مراجعه نمایید.
184
185
185
-
اشتباه نکنید، در اکثر مواقع نیازی به پیادهسازی یک کلاس منطقه زمانی در پایتون نمیباشد. چرا که از قبل کلاس ``timezone`` از ماژول ``datetime`` [`اسناد پایتون <https://docs.python.org/3/library/datetime.html#timezone-objects>`__] توسط این زبان فراهم آورده شده است. این کلاس یک subclass از ``datetime.tzinfo`` بوده و مبنای محاسبه منطقه زمانی در آن UTC [`ویکیپدیا <https://en.wikipedia.org/wiki/Coordinated_Universal_Time>`__] میباشد. این کلاس به تنهایی تمامی نیازهای معمول ما نسبت به ثبت منطقه زمانی در پایتون را برطرف میسازد. در سراسر ایران منطقه زمانی یکسان میباشد و به صورت استاندارد از مبنای UTC محاسبه میگردد؛ به این صورت که در شش ماه نخست سال برابر ``UTC+4:30`` و در شش ماه دوم از سال این مقدار برابر ``UTC+3:30`` خواهد بود [`ویکیپدیا Iran Standard Time (IRST) <https://en.wikipedia.org/wiki/Iran_Standard_Time>`__].
186
+
اشتباه نکنید، در اکثر مواقع نیازی به پیادهسازی یک کلاس منطقه زمانی در پایتون نمیباشد. چرا که از قبل کلاس ``timezone`` از ماژول ``datetime`` [`اسناد پایتون <https://docs.python.org/3/library/datetime.html#timezone-objects>`__] توسط این زبان فراهم آورده شده است. این کلاس یک subclass از ``datetime.tzinfo`` بوده و مبنای محاسبه منطقه زمانی در آن UTC [`ویکیپدیا <https://en.wikipedia.org/wiki/Coordinated_Universal_Time>`__] میباشد. UTC یک قرارداد جهانی است و این کلاس به تنهایی تمامی نیازهای معمول ما نسبت به ثبت منطقه زمانی در پایتون را برطرف میسازد. برای مثال، در سراسر ایران منطقه زمانی یکسان میباشد و به صورت استاندارد از مبنای UTC محاسبه میگردد؛ به این صورت که در شش ماه نخست سال برابر ``UTC+4:30`` - با شمارش ساعت تابستانی [`ویکیپدیا <https://en.wikipedia.org/wiki/Daylight_saving_time>`__] - و در شش ماه دوم از سال این مقدار برابر ``UTC+3:30`` خواهد بود [`ویکیپدیا Iran Standard Time (IRST) <https://en.wikipedia.org/wiki/Iran_Standard_Time>`__].
187
+
186
188
187
189
.. note::
188
190
@@ -210,7 +212,7 @@
210
212
>>> type(tz)
211
213
<class 'datetime.timezone'>
212
214
213
-
شی ``tz`` ایجاد شده در نمونه کد بالا، بیانگر منطقه زمانی ``UTC+4:30`` میباشد. به عنوان مثالی دیگر، ایجاد شی برای منطقه زمانی ``UTC-05:00`` به صورت زیر میباشد::
215
+
شی ``tz`` ایجاد شده در نمونه کد بالا، بیانگر منطقه زمانی ``UTC+4:30`` (Asia/Tehran، با شمردن ساعت تابستانی) میباشد. به عنوان مثالی دیگر، ایجاد شی برای منطقه زمانی ``UTC-05:00`` (EST، بدون شمردن ساعت تابستانی) [`ویکیپدیا <https://en.wikipedia.org/wiki/Eastern_Time_Zone>`__] به صورت زیر میباشد::
214
216
215
217
216
218
>>> tz = timezone(timedelta(hours=-5), 'Eastern Time Zone')
0 commit comments