در این مطلب، ویدئو پایتون: ماژول ها و بسته ها با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:05,899 –> 00:00:07,919
سلام به همه خوش آمدید به این قسمت
2
00:00:07,919 –> 00:00:10,349
از برنامه نویسی شی گرا در این
3
00:00:10,349 –> 00:00:11,759
قسمت ما به ماژول ها و بسته ها نگاه می
4
00:00:11,759 –> 00:00:14,549
کنیم و درک می کنیم که چگونه پایتون
5
00:00:14,549 –> 00:00:18,810
به شما اجازه می دهد تا سیستم های بزرگ را ساختار دهید، بنابراین
6
00:00:18,810 –> 00:00:21,420
تا به حال ما برنامه های مستقل ایجاد کرده ایم
7
00:00:21,420 –> 00:00:24,109
که یک برنامه را در یک فایل نوشته اند.
8
00:00:24,109 –> 00:00:26,730
که دارای یک کلاس و متدها و اندازه است،
9
00:00:26,730 –> 00:00:29,010
اما همانطور که ما کلاسها
10
00:00:29,010 –> 00:00:31,070
و متدها و ویژگیهای بیشتر و بیشتر
11
00:00:31,070 –> 00:00:34,559
میسازیم، به راهی برای سازماندهی آن نیاز داریم که چگونه Python
12
00:00:34,559 –> 00:00:39,390
چیزها را سازماندهی میکند، به هر فایلی که دارای
13
00:00:39,390 –> 00:00:41,390
کد الگوی باشد ماژول گفته میشود و
14
00:00:41,390 –> 00:00:45,719
وقتی فشار میدهیم چند فایل مختلف
15
00:00:45,719 –> 00:00:48,239
مانند فایلهای دفترچه یادداشت، تصور کنید فایلهای دفترچه یادداشت
16
00:00:48,239 –> 00:00:50,070
در یک دایرکتوری، دایرکتوری یک
17
00:00:50,070 –> 00:00:53,940
بسته است و این بدان معناست که ما میتوانیم اگر
18
00:00:53,940 –> 00:00:55,890
دو فایل در یک پوشه یا
19
00:00:55,890 –> 00:00:58,680
پوشه داشته باشم، میتوانم با آن تماس بگیرم، فایل را از دیگری ارسال نکنیم، این فایل
20
00:00:58,680 –> 00:01:01,859
قابل دانلود است.
21
00:01:01,859 –> 00:01:04,349
شگفت انگیز مانند این بسیار بهتر
22
00:01:04,349 –> 00:01:05,880
از بسیاری از اشیاء دیگر است که
23
00:01:05,880 –> 00:01:08,750
محدوده گزارش می دهند، اگر برنامه پایتون داشته باشم باید پدهای کلاس را نصب
24
00:01:08,750 –> 00:01:11,040
کنیم و متغیرهای سیستم و انواع
25
00:01:11,040 –> 00:01:13,470
چیزهای احمقانه را تغییر دهیم. m
26
00:01:13,470 –> 00:01:15,450
و یک برنامه پایتون دیگر در یک
27
00:01:15,450 –> 00:01:17,310
پوشه، آنها فقط می توانند
28
00:01:17,310 –> 00:01:19,350
با صدا زدن نام یکی با یکدیگر صحبت کنند و با هم
29
00:01:19,350 –> 00:01:20,970
که
30
00:01:20,970 –> 00:01:23,729
عالی است، به نظر من Rune هشت مخرب است،
31
00:01:23,729 –> 00:01:26,610
زیرا این در مقایسه
32
00:01:26,610 –> 00:01:28,290
با برنامه نویسی شی گرا دیگر بسیار آسان است.
33
00:01:28,290 –> 00:01:30,479
به هر حال نامهایی که باید با آن زندگی کنیم
34
00:01:30,479 –> 00:01:32,189
با آن کنار میآیند، بنابراین وقتی من از سگ خانگی ماژول او استفاده میکنم،
35
00:01:32,189 –> 00:01:34,740
اما یک فایل پایتون است، یک
36
00:01:34,740 –> 00:01:37,530
فایل dot py است یا وقتی میگویم یک بسته،
37
00:01:37,530 –> 00:01:41,070
پوشهای است با دستهای از فایلهای py
38
00:01:41,070 –> 00:01:45,360
در آن. مزایا واضح است،
39
00:01:45,360 –> 00:01:46,799
فرض کنید من در حال ساختن یک سیستم تجارت الکترونیکی
40
00:01:46,799 –> 00:01:51,180
هستم و یک فایل واحد دارم که شامل
41
00:01:51,180 –> 00:01:53,340
تمام کلاس های مربوط به دسترسی به
42
00:01:53,340 –> 00:01:56,009
پشتیبان در پایگاه داده است، می گوییم که
43
00:01:56,009 –> 00:01:58,170
ذخیره تمام تراکنش های تجارت الکترونیک
44
00:01:58,170 –> 00:02:01,380
و سپس سایر موارد است. ماژول هایی در مورد
45
00:02:01,380 –> 00:02:03,090
محصولات در مورد مشتریان در مورد موجودی کالا
46
00:02:03,090 –> 00:02:05,490
و مواردی از این قبیل که همه آنها در
47
00:02:05,490 –> 00:02:08,489
یک پوشه هستند که هر یک از آنها فقط باید با
48
00:02:08,489 –> 00:02:09,399
49
00:02:09,399 –> 00:02:12,700
فایل پایگاه داده تماس بگیرند و نیازی
50
00:02:12,700 –> 00:02:14,379
به برقراری ارتباط برای هدایت پایگاه داده
51
00:02:14,379 –> 00:02:16,720
خودشان ندارند. تک اتصال
52
00:02:16,720 –> 00:02:19,269
از فایل پایگاه داده به پایگاه داده منتقل می شود،
53
00:02:19,269 –> 00:02:20,879
بنابراین این یک روش بسیار موثر و
54
00:02:20,879 –> 00:02:23,459
متمرکز برای برخورد با
55
00:02:23,459 –> 00:02:26,609
اتصالات و تفکیک
56
00:02:26,609 –> 00:02:30,760
اختیارات و فعالیت ها است، بنابراین اگر
57
00:02:30,760 –> 00:02:33,970
فایل یا ماژولی به نام
58
00:02:33,970 –> 00:02:38,560
point doc strings py دارم، اگر می خواهم
59
00:02:38,560 –> 00:02:41,739
آن فایل را فراخوانی کنم یا در عوض، اگر
60
00:02:41,739 –> 00:02:44,549
بخواهم متدها یا ویژگیها یا کلاس را
61
00:02:44,549 –> 00:02:47,769
از آن فایل به فایل دیگری فراخوانی کنم، فقط میگویم
62
00:02:47,769 –> 00:02:50,230
63
00:02:50,230 –> 00:02:51,010
که رشتههای تاریک را وارد کنید،
64
00:02:51,010 –> 00:02:55,540
اگر فایل اسمش banana باشد و
65
00:02:55,540 –> 00:02:59,590
کلاس داخل آن نقطه نامیده شود تا
66
00:02:59,590 –> 00:03:04,209
کلاس نقطه را وارد کنم. بگو import
67
00:03:04,209 –> 00:03:07,299
banana بنابراین من نام
68
00:03:07,299 –> 00:03:10,420
فایل را وارد میکنم بسیار خوب، معنی import این
69
00:03:10,420 –> 00:03:13,359
است که در جایی در همان پوشه به دنبال فایلی با آن نام بگردید.
70
00:03:13,359 –> 00:03:14,019
71
00:03:14,019 –> 00:03:17,230
72
00:03:17,230 –> 00:03:19,900
73
00:03:19,900 –> 00:03:22,720
از نقطه من
74
00:03:22,720 –> 00:03:25,980
فقط می گویم نقطه شروع رشته و
75
00:03:25,980 –> 00:03:29,889
آن را به یک نام متغیر اختصاص می دهم، بنابراین
76
00:03:29,889 –> 00:03:31,659
مهم است که آنچه را
77
00:03:31,659 –> 00:03:33,819
وارد می کنید، نام فایل است
78
00:03:33,819 –> 00:03:36,190
نه نام کلاسی که کلاس داخل آن را
79
00:03:36,190 –> 00:03:39,519
می توان aga نامید. در صورتی که نام فایل
80
00:03:39,519 –> 00:03:42,190
banana نامیده شود و کلاس داخل
81
00:03:42,190 –> 00:03:46,120
آن نقطه نامیده شود، من banana را وارد می کنم و سپس
82
00:03:46,120 –> 00:03:52,479
می توانم نقطه banana را انجام دهم، بنابراین اگر
83
00:03:52,479 –> 00:03:54,819
آن را با کد ساده نگاه کنیم، می گوییم import
84
00:03:54,819 –> 00:03:56,379
dog strings و سپس می توانیم
85
00:03:56,379 –> 00:03:58,569
متغیرهای top را اعلام کنیم. رشتههای سگ میتوانیم
86
00:03:58,569 –> 00:04:01,060
مقادیری را مانند قبل در نقاط قرار دهیم که میتوانیم
87
00:04:01,060 –> 00:04:02,409
آنها را چاپ کنیم و این کاملاً خوب کار میکند،
88
00:04:02,409 –> 00:04:04,000
بنابراین اگر میخواهید با
89
00:04:04,000 –> 00:04:07,180
آن کار کنید، اکنون کد رشتههای نقطهای را
90
00:04:07,180 –> 00:04:08,979
بگیرید که همه رشتههای سگ را داریم و این
91
00:04:08,979 –> 00:04:11,590
کار را برای درس قبلی و
92
00:04:11,590 –> 00:04:15,340
فقط یک فایل جدید با نام dog point dog
93
00:04:15,340 –> 00:04:19,029
strings ایجاد کنید و یکی از اینها را در واقع یک
94
00:04:19,029 –> 00:04:21,519
کد نمونه در این صفحه داشته باشید
95
00:04:21,519 –> 00:04:22,990
تا این کار را انجام دهید تا ببینید که در عمل
96
00:04:22,990 –> 00:04:31,240
فقط برای استفاده از یک عبارت خاص، اکنون که
97
00:04:31,240 –> 00:04:34,389
رشته های doc point را در آن گنجانده ایم.
98
00:04:34,389 –> 00:04:36,550
برنامه فراخوانی گفتیم که pond
99
00:04:36,550 –> 00:04:38,520
ducks به عنوان بخشی از فضای نام برنامه های فراخوان زنگ می زند
100
00:04:38,520 –> 00:04:40,979
، فضای نام، لیستی از
101
00:04:40,979 –> 00:04:43,330
روش ها و کلاس ها و ویژگی هایی است
102
00:04:43,330 –> 00:04:45,759
که برای برنامه فعلی در دسترس است، بنابراین اگر
103
00:04:45,759 –> 00:04:47,830
من برنامه فراخوان هستم، اگر بگویم موز را وارد کنید،
104
00:04:47,830 –> 00:04:50,139
موز را به عنوان همتراز کنید. t از
105
00:04:50,139 –> 00:04:52,810
فضای نام من در حال حاضر، بنابراین هرچه در
106
00:04:52,810 –> 00:04:54,310
کد خودم دارم، تمام متدها و
107
00:04:54,310 –> 00:04:57,819
کلاس های ویژگی در فایل من به اضافه یک E دارند و من
108
00:04:57,819 –> 00:05:00,550
همه آنها را بخشی از
109
00:05:00,550 –> 00:05:06,430
فضای نام زمان اجرا من هستند، اگر نمی
110
00:05:06,430 –> 00:05:08,530
خواستیم وارد کنیم کل فایل چون
111
00:05:08,530 –> 00:05:11,110
وقتی می گوییم import dogs points dog
112
00:05:11,110 –> 00:05:13,419
strings تمام کلاس ها
113
00:05:13,419 –> 00:05:15,400
همه متدها همه ویژگی ها را وارد می کند اگر
114
00:05:15,400 –> 00:05:18,159
فقط بخواهیم یک کلاس خاص را وارد
115
00:05:18,159 –> 00:05:19,719
کنیم و قبلاً این را دیده بودیم فقط می توانیم بگوییم
116
00:05:19,719 –> 00:05:21,879
از طریق docstrings نقطه کلاس را وارد کنید
117
00:05:21,879 –> 00:05:24,460
و سپس ما یک نقطه را مانند قبل اعلام می کنیم
118
00:05:24,460 –> 00:05:27,969
و کد s را که دقیقاً مانند قبل
119
00:05:27,969 –> 00:05:31,810
از نقطه واردات رشته های point duck به نظر می رسد، بنابراین
120
00:05:31,810 –> 00:05:33,250
زمانی که می گوییم تمام چیزی که می
121
00:05:33,250 –> 00:05:36,610
گوییم از یک فایل یا ماژول است این است که یک
122
00:05:36,610 –> 00:05:39,759
شرکت پایتون یک کلاس را وارد کرده و سپس می توانیم استفاده کنیم.
123
00:05:39,759 –> 00:05:41,949
کلاسی برای اعلان نمونه ها یا ایجاد
124
00:05:41,949 –> 00:05:47,620
اشیاء از آن کلاس اگر در
125
00:05:47,620 –> 00:05:49,599
شرایط غیرمعمول قبلاً کلاسی
126
00:05:49,599 –> 00:05:51,699
به نام نقطه در برنامه فراخوانی داشته باشیم،
127
00:05:51,699 –> 00:05:53,620
بگذارید برنامه فراخوانی
128
00:05:53,620 –> 00:05:56,229
کلاسی به نام نقطه در ایالات متحده داشته باشد و من می خواهم
129
00:05:56,229 –> 00:05:58,750
نقطه دیگری را وارد کنم اما نام آن است.
130
00:05:58,750 –> 00:06:03,430
نقطه است و همچنین میتوانیم آن را بهعنوان PT وارد کنیم،
131
00:06:03,430 –> 00:06:05,979
بنابراین نام کلاسی که
132
00:06:05,979 –> 00:06:08,370
وارد میکنیم point است، اما
133
00:06:08,370 –> 00:06:11,440
زمانی که به PT تغییر نام داده میشود، وارد میشود، زیرا
134
00:06:11,440 –> 00:06:14,710
قبلاً کلاسی به نام point در ظرف نام ما
135
00:06:14,710 –> 00:06:18,310
آماده است، بنابراین یک li برابر را کپی میکنیم. PT
136
00:06:18,310 –> 00:06:20,800
پس بیایید به دوره خود نگاه کنیم، این به سادگی
137
00:06:20,800 –> 00:06:24,580
این است که از pro point docstrings نقطه import
138
00:06:24,580 –> 00:06:27,639
اما مهم به عنوان PT و سپس ما
139
00:06:27,639 –> 00:06:30,310
نمونه هایی از PT را که در
140
00:06:30,310 –> 00:06:31,569
متد نقطه هستند
141
00:06:31,569 –> 00:06:36,819
از رشته های docstrings اعلام می کنیم، همچنین می توانیم
142
00:06:36,819 –> 00:06:39,039
بیش از یک کلاس را به سادگی با گفتن
143
00:06:39,039 –> 00:06:41,080
از نقطه A برای وارد کنیم. به عنوان مثال نقطه
144
00:06:41,080 –> 00:06:43,839
ویرگول کاما مربع روی موز آمده است و
145
00:06:43,839 –> 00:06:47,169
هر کاری که میخواهیم از
146
00:06:47,169 –> 00:06:50,439
آن در ترم آخر استفاده کردیم، اما احتمالاً
147
00:06:50,439 –> 00:06:52,899
باید از گفتن ستاره وارداتی از
148
00:06:52,899 –> 00:06:54,999
رشتههای اردک و ستاره چهارم اجتناب کنیم، بسیاری از
149
00:06:54,999 –> 00:06:56,709
برنامهنویسان پایتون
150
00:06:56,709 –> 00:06:59,139
وقتی این کار را میکنید بسیار عصبانی و گیج میشوند. از آنجایی که آنها
151
00:06:59,139 –> 00:07:00,699
نمیدانند چه روشهای خاصی
152
00:07:00,699 –> 00:07:04,180
را از فایل point dog strings یا
153
00:07:04,180 –> 00:07:07,059
ماژول میخواهید، بنابراین فقط باید مشخص کنید
154
00:07:07,059 –> 00:07:09,669
که کدام کلاسهای خاص در این مورد
155
00:07:09,669 –> 00:07:12,809
نقطه و خطی را که میخواهید از
156
00:07:12,809 –> 00:07:17,319
ماژول خاص اکنون بیایید به
157
00:07:17,319 –> 00:07:19,360
نحوه سازماندهی ماژول ها نگاه کنیم، بنابراین چگونه
158
00:07:19,360 –> 00:07:23,339
فایل ها را در پوشه های خود سازماندهی کنیم
159
00:07:23,339 –> 00:07:26,409
زیرا می دانید که خوب است
160
00:07:26,409 –> 00:07:28,149
که همه برنامه های پایتون خود را در
161
00:07:28,149 –> 00:07:30,459
یک پوشه یا پوشه واحد داشته باشید، اما فقط
162
00:07:30,459 –> 00:07:32,199
گیج کننده می شود، بنابراین باید شروع کنیم.
163
00:07:32,199 –> 00:07:35,229
با قرار دادن چیزها در برخی از پوشه ها، گفتیم که یک
164
00:07:35,229 –> 00:07:37,240
پوشه یا زیر پوشه بسته نامیده می شود،
165
00:07:37,240 –> 00:07:39,490
بنابراین از عبارت بسته و
166
00:07:39,490 –> 00:07:42,580
پوشه یا فهرست به جای هم استفاده می کنیم
167
00:07:42,580 –> 00:07:44,519
و کلمه ماژول یا فایل
168
00:07:44,519 –> 00:07:48,759
پایتون را به جای هم استفاده می کنیم، بنابراین فرض
169
00:07:48,759 –> 00:07:50,769
کنید یک پوشه به نام دایرکتوری والد داریم.
170
00:07:50,769 –> 00:07:52,569
و از آنجایی که یک برنامه پایتون
171
00:07:52,569 –> 00:07:55,509
به نام نام دارد، همچنین یک پوشه در یک
172
00:07:55,509 –> 00:07:57,819
ترسیم نامیده شده دارد و در آن پوشه
173
00:07:57,819 –> 00:08:01,930
سه فایل دارد: I and I Twi point
174
00:08:01,930 –> 00:08:04,869
call و point dog strings و یک پوشه
175
00:08:04,869 –> 00:08:06,490
به نام Mats و داخل پوشه ریاضی.
176
00:08:06,490 –> 00:08:09,759
یک I 90 that py و
177
00:08:09,759 –> 00:08:14,319
قضیه py نیز در پایتون وجود دارد، وقتی
178
00:08:14,319 –> 00:08:16,240
بستهها یا زیرپوشهها را ایجاد
179
00:08:16,240 –> 00:08:17,740
میکنید، همیشه
180
00:08:17,740 –> 00:08:21,849
در هر زیرپوشهای که در یک ثانیه در مورد آن صحبت میکنیم، به فایل i.t dot py توجه میکنید.
181
00:08:21,849 –> 00:08:25,899
بله کاملاً
182
00:08:25,899 –> 00:08:29,189
بنابراین یدید که py به شما امکان میدهد کارهایی را
183
00:08:29,189 –> 00:08:33,099
در آنجا انجام دهید، بنابراین این همان
184
00:08:33,099 –> 00:08:36,279
چیزی است که ما رسم و اصلی را
185
00:08:36,279 –> 00:08:39,250
در دایرکتوری بالایی داریم و سپس
186
00:08:39,250 –> 00:08:42,490
درست از طریق ترسیم دچار اختلال میشویم، ما دو
187
00:08:42,490 –> 00:08:43,969
برنامه پایتون معمولی داریم
188
00:08:43,969 –> 00:08:46,459
و سپس i-90 و سپس یک زیر پوشه
189
00:08:46,459 –> 00:08:48,139
به نام mats و در mat ها وقتی
190
00:08:48,139 –> 00:08:53,180
قضیه و فایل Dynegy را داریم فعلاً
191
00:08:53,180 –> 00:08:57,410
بیایید زیرخط دوگانه i9 t را
192
00:08:57,410 –> 00:09:01,579
خالی بگذاریم و ببینیم چگونه
193
00:09:01,579 –> 00:09:03,769
بسته هایی را که به نظر می رسید وارد می
194
00:09:03,769 –> 00:09:05,839
کنیم. یک import مطلق را صدا می زنیم و به
195
00:09:05,839 –> 00:09:06,889
یک واردات نسبی
196
00:09:06,889 –> 00:09:09,110
واردات مطلق نگاه می کنیم، به این صورت که
197
00:09:09,110 –> 00:09:13,129
تا به حال آنها را انجام داده ایم، بنابراین
198
00:09:13,129 –> 00:09:14,839
معنی آن این است که دقیقاً مشخص می کنیم
199
00:09:14,839 –> 00:09:17,629
که فایل را از چه چیزی دریافت می کنیم، اگر بتوانیم بگوییم
200
00:09:17,629 –> 00:09:22,639
یک فایل خاص را وارد کنید. کلاس با گفتن
201
00:09:22,639 –> 00:09:27,139
نقاشی import آیا نقطه ecole از
202
00:09:27,139 –> 00:09:29,300
جریان واردات از رسم نقطه به نام
203
00:09:29,300 –> 00:09:32,779
نقطه واردات است یا از ترسیم در نقطه
204
00:09:32,779 –> 00:09:35,660
فراخوانی به یاد می آورد که ترسیم
205
00:09:35,660 –> 00:09:38,149
نام پوشه است و سپس یکی از
206
00:09:38,149 –> 00:09:41,899
فایل های آن پوشه نقطه فراخوانی است
207
00:09:41,899 –> 00:09:43,819
بنابراین پوشه در حال نقاشی است این بسته است
208
00:09:43,819 –> 00:09:47,050
و نقطه Col یک فایل در آن پوشه است
209
00:09:47,050 –> 00:09:52,100
به نام ماژول و ما میتوانیم
210
00:09:52,100 –> 00:09:54,040
از هر فایل
211
00:09:54,040 –> 00:09:57,800
کلاسهایی را وارد کنیم، به همین ترتیب،
212
00:09:57,800 –> 00:10:00,199
بسته یا پوشه فراخوانی یک ماژول
213
00:10:00,199 –> 00:10:03,019
یا فایل است و سپس نقطه، کلاسی است که
214
00:10:03,019 –> 00:10:07,040
در حال وارد کردن است. از یک فایل خاص در یک
215
00:10:07,040 –> 00:10:11,629
پوشه خاص که مطلق است
216
00:10:11,629 –> 00:10:13,699
که فرض میکند فایلی که من
217
00:10:13,699 –> 00:10:18,410
کد را در آن نوشتهام در یک پوشه است،
218
00:10:18,410 –> 00:10:20,360
نقاشی یکی از زیرپوشههای
219
00:10:20,360 –> 00:10:25,399
زیر آن است، میتوان گفت که میتوانیم با استفاده از نسبی آن را به هم بزنیم.
220
00:10:25,399 –> 00:10:27,709
221
00:10:27,709 –> 00:10:30,529
نامگذاری پس رزماری به این معنی است که اگر من
222
00:10:30,529 –> 00:10:33,290
یک نقطه را در جلوی نام بسته قرار
223
00:10:33,290 –> 00:10:36,079
دهم، میگویم که
224
00:10:36,079 –> 00:10:38,269
اگر گرد و غبار را قرار دهم در فهرست راهنمای فعلی است – به این معنی است که در
225
00:10:38,269 –> 00:10:40,639
فهرست قبلی است قرار دادن سگ
226
00:10:40,639 –> 00:10:41,959
واقعاً مهم نیست. به هر حال ما آن
227
00:10:41,959 –> 00:10:44,809
را خواهیم دید، بنابراین اگر ساختار فایل خود را
228
00:10:44,809 –> 00:10:48,800
دوباره داشته باشیم و من در تماس با نقطه فایل هستم
229
00:10:48,800 –> 00:10:49,640
و
230
00:10:49,640 –> 00:10:51,520
با رشته های تاریک نقطه پایانی صحبت
231
00:10:51,520 –> 00:10:55,310
می کنم، تمام چیزی که باید