در این مطلب، ویدئو یک سیستم پلاگین پایتون از طریق نقاط ورودی (متوسط) آنتونی #128 را توضیح می دهد با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:03
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:03,600 –> 00:00:05,520
سلام و به ویدیوی دیگری در این ویدیو خوش آمدید،
2
00:00:05,520 –> 00:00:07,279
ما در مورد
3
00:00:07,279 –> 00:00:10,000
نقاط ورودی پایتون و نحوه
4
00:00:10,000 –> 00:00:11,440
استفاده از آنها برای ساختن
5
00:00:11,440 –> 00:00:14,880
یک سیستم پلاگین صحبت خواهیم کرد و اوه بله، بدون
6
00:00:14,880 –> 00:00:15,759
هیچ مقدمه ای،
7
00:00:15,759 –> 00:00:18,960
اجازه دهید به آن
8
00:00:18,960 –> 00:00:20,800
بپردازیم. قرار است یک برنامه بسیار
9
00:00:20,800 –> 00:00:23,600
ساده احمقانه hello world بسازم و
10
00:00:23,600 –> 00:00:25,119
سپس چند
11
00:00:25,119 –> 00:00:25,840
پلاگین
12
00:00:25,840 –> 00:00:28,160
برای آن برنامه hello world بسازم و
13
00:00:28,160 –> 00:00:30,320
این کار را با استفاده از ابزارهای نصب
14
00:00:30,320 –> 00:00:32,000
برای مدیریت نقاط ورودی خود انجام خواهیم داد.
15
00:00:32,000 –> 00:00:33,760
برنامههایی که این کار را نیز انجام میدهند
16
00:00:33,760 –> 00:00:36,800
یا کتابخانههای دیگر، اما
17
00:00:36,800 –> 00:00:38,800
ما فقط از ابزارهای خستهکننده
18
00:00:38,800 –> 00:00:41,040
قدیمی راهاندازی وانیلی استفاده میکنیم، پس
19
00:00:41,040 –> 00:00:44,559
بیایید با ساختن یک پروژه hello world شروع
20
00:00:44,559 –> 00:00:47,360
کنیم و همه این کار را
21
00:00:47,360 –> 00:00:49,440
در setup.pi انجام میدهیم. امروز
22
00:00:49,440 –> 00:00:52,960
و بنابراین، از راهاندازی واردات ابزارهای راهاندازی،
23
00:00:52,960 –> 00:00:54,800
24
00:00:54,800 –> 00:00:56,640
ابردادهها و
25
00:00:56,640 –> 00:00:59,680
نام ابزارهای راهاندازی خود را میسازیم که برابر با hello worlds و
26
00:00:59,680 –> 00:01:02,399
نسخه برابر با یک است و
27
00:01:02,399 –> 00:01:04,239
میخواهیم چند نقطه ورودی را در اینجا تنظیم کنیم،
28
00:01:04,239 –> 00:01:05,680
بنابراین این اولین استفاده از نقاط ورودی است
29
00:01:05,680 –> 00:01:08,320
30
00:01:08,720 –> 00:01:11,040
. روشی که اسکریپت های کنسول در پایتون
31
00:01:11,040 –> 00:01:13,040
se ما tup از طریق نقاط ورودی است، بنابراین ما میخواهیم
32
00:01:13,040 –> 00:01:13,600
33
00:01:13,600 –> 00:01:17,520
نقاط ورودی را برابر با
34
00:01:17,520 –> 00:01:20,880
اسکریپتهای کنسول
35
00:01:20,880 –> 00:01:22,320
انجام دهیم و برای آن اسکریپت کنسول، یک ورودی hello
36
00:01:22,320 –> 00:01:22,880
world ایجاد
37
00:01:22,880 –> 00:01:25,520
میکنیم و مقادیر
38
00:01:25,520 –> 00:01:26,320
اسکریپتهای کنسول لیستی
39
00:01:26,320 –> 00:01:29,119
از رشتهها است و آن رشتهها نام ماژول
40
00:01:29,119 –> 00:01:29,600
41
00:01:29,600 –> 00:01:31,680
و سپس یک کولون اختیاری به دنبال
42
00:01:31,680 –> 00:01:32,799
یک نام مشخصه،
43
00:01:32,799 –> 00:01:35,280
نام ورودی این است که میدانید اختیاری است،
44
00:01:35,280 –> 00:01:37,439
گاهی اوقات افزونهها
45
00:01:37,439 –> 00:01:38,960
به ویژگی خاصی نیاز ندارند، آنها فقط به یک ماژول نیاز دارند،
46
00:01:38,960 –> 00:01:40,799
اما در مورد
47
00:01:40,799 –> 00:01:41,360
اسکریپتهای
48
00:01:41,360 –> 00:01:44,560
کنسول، نام ویژگی لازم است،
49
00:01:44,560 –> 00:01:47,119
من فکر میکنم که هرگز انجام ندادهام. بدون آن، بنابراین
50
00:01:47,119 –> 00:01:48,640
ما می خواهیم به عنوان ماژول ما hello world بگوییم،
51
00:01:48,640 –> 00:01:50,320
این مدل ما
52
00:01:50,320 –> 00:01:51,680
خواهد بود و تابع اصلی خواهد بود
53
00:01:51,680 –> 00:01:53,360
که در اینجا از آن استفاده می کنیم،
54
00:01:53,360 –> 00:01:56,719
بنابراین اگر hello
55
00:01:56,719 –> 00:02:00,880
world.pi را ایجاد کنیم و تعریف کنیم. اصلی
56
00:02:02,719 –> 00:02:04,960
و فقط کد دیگ بخار ما را
57
00:02:04,960 –> 00:02:08,000
در اینجا قرار دهید. خروج از main
58
00:02:08,000 –> 00:02:11,599
boy نوبت 0
59
00:02:11,599 –> 00:02:14,959
و hello world بنابراین این فقط برنامه
60
00:02:14,959 –> 00:02:16,160
بسیار ساده
61
00:02:16,160 –> 00:02:18,319
hello world ما است و ما
62
00:02:18,319 –> 00:02:20,800
آن را با یک اسکریپت کنسول در اینجا بسته بندی کرده ایم
63
00:02:20,800 –> 00:02:24,720
و بنابراین اگر این lab vm
64
00:02:24,720 –> 00:02:28,319
و hip را نصب کنیم این کتابخانه که من می روم
65
00:02:28,319 –> 00:02:29,360
برای نصب آن قابل ویرایش است زیرا
66
00:02:29,360 –> 00:02:31,200
کار با این روش آسان تر خواهد بود
67
00:02:31,200 –> 00:02:33,599
و ما یک خطای نحوی داریم
68
00:02:33,599 –> 00:02:36,239
نقطه ورود باید نام برابر با
69
00:02:36,239 –> 00:02:39,840
ویژگی های مدل باشد، اوه من نام آن را فراموش کردم
70
00:02:39,840 –> 00:02:41,760
البته
71
00:02:41,760 –> 00:02:43,599
بله این سومین مؤلفه ای است که یک
72
00:02:43,599 –> 00:02:46,720
نقطه ورودی دارد. این یک نام دارد
73
00:02:46,720 –> 00:02:50,319
و در um
74
00:02:50,319 –> 00:02:52,800
در نام های شما می دانید برای
75
00:02:52,800 –> 00:02:54,560
اسکریپت های کنسول نام نام برنامه است
76
00:02:54,560 –> 00:02:55,599
که شما از آخرش خارج می شوید
77
00:02:55,599 –> 00:02:57,680
کاملاً فراموش کرده اید
78
00:02:57,680 –> 00:02:59,280
که خیلی مهم است خوب پس بیایید
79
00:02:59,280 –> 00:03:00,640
دوباره این را نصب کنیم خیلی خوب ما این را
80
00:03:00,640 –> 00:03:01,840
نصب کردیم بسته
81
00:03:01,840 –> 00:03:03,360
و شما در داخل فهرست bin ما خواهید دید
82
00:03:03,360 –> 00:03:05,519
که به طور جادویی
83
00:03:05,519 –> 00:03:07,440
یک برنامه hello world کوچک ساخته است اگر
84
00:03:07,440 –> 00:03:08,640
به محتویات آن نگاه
85
00:03:08,640 –> 00:03:10,159
کنیم که در اینجا کمی کد اضافی دارد، در
86
00:03:10,159 –> 00:03:12,400
واقع
87
00:03:12,400 –> 00:03:16,000
بعداً با استفاده از import lib به این خواهیم رسید. ابرداده
88
00:03:16,000 –> 00:03:18,480
اما شما می دانید که از طریق نقاط ورودی تکرار می شود
89
00:03:18,480 –> 00:03:19,440
و
90
00:03:19,440 –> 00:03:22,560
یک نقطه ورودی پیدا می کند
91
00:03:22,560 –> 00:03:24,239
که اسکریپت hello world را می شناسید که یک
92
00:03:24,239 –> 00:03:25,200
اسکریپت کنسول
93
00:03:25,200 –> 00:03:26,879
به نام hello world است و سپس آن برنامه را اجرا
94
00:03:26,879 –> 00:03:29,120
می کند، بنابراین اگر می دانید vm
95
00:03:29,120 –> 00:03:29,840
96
00:03:29,840 –> 00:03:32,159
hello worl بوده است. کد ما را در اینجا اجرا میکند و
97
00:03:32,159 –> 00:03:33,599
اگر میدانید یک انفجار را در اینجا قرار دهید، خواهید دید
98
00:03:33,599 –> 00:03:34,159
که
99
00:03:34,159 –> 00:03:37,120
بلافاصله در آنجا منعکس میشود، خوب
100
00:03:37,120 –> 00:03:38,640
، این اولین نقطه ورودی است که
101
00:03:38,640 –> 00:03:39,200
میبینید
102
00:03:39,200 –> 00:03:40,640
و احتمالاً رایجترین نقطهای است که
103
00:03:40,640 –> 00:03:42,159
تا به حال پیادهسازی کردهاید. یکی از
104
00:03:42,159 –> 00:03:43,519
اسکریپت های کنسول است،
105
00:03:43,519 –> 00:03:45,599
اما ما می خواهیم یک قدم جلوتر برویم و
106
00:03:45,599 –> 00:03:47,440
سیستم پلاگین خود را
107
00:03:47,440 –> 00:03:50,560
برای این برنامه کوچک hello world پیاده سازی
108
00:03:50,560 –> 00:03:52,239
کنیم، بنابراین ما می خواهیم
109
00:03:52,239 –> 00:03:53,840
نقاط ورودی خود را در اینجا تعریف
110
00:03:53,840 –> 00:03:57,519
کنیم و معمولاً ایده خوبی است که
111
00:03:57,519 –> 00:03:58,319
نقطه ورودی خود را نام ببرید.
112
00:03:58,319 –> 00:03:59,840
بعد از برنامه ای که برای آن پلاگین ایجاد می
113
00:03:59,840 –> 00:04:01,680
کنید و بنابراین
114
00:04:01,680 –> 00:04:03,680
در این مورد ما قصد داریم
115
00:04:03,680 –> 00:04:05,519
یک افزونه برای برنامه hello world
116
00:04:05,519 –> 00:04:07,120
ایجاد کنیم، بنابراین من می خواهم به این برنامه hello
117
00:04:07,120 –> 00:04:08,319
world
118
00:04:08,319 –> 00:04:11,840
uh world.output می پردازم.
119
00:04:11,840 –> 00:04:13,920
پس
120
00:04:13,920 –> 00:04:15,519
هر کاری که قرار است انجام دهد، اگر
121
00:04:15,519 –> 00:04:16,238
122
00:04:16,238 –> 00:04:17,839
123
00:04:17,839 –> 00:04:19,399
میخواهم شما را مطلع کنم که آیا سیستم پلاگین flake gates را طراحی میکنم، میتوانم بگویم که شما
124
00:04:19,399 –> 00:04:22,960
flake8.outputter یا چیزی شبیه به آن را میشناسید،
125
00:04:22,960 –> 00:04:26,320
و برای uh ما،
126
00:04:26,320 –> 00:04:27,520
شما میدانید برای پلاگینهای ما در حال رفتن هستیم.
127
00:04:27,520 –> 00:04:29,280
نام آنها را بگذاریم اما فقط برای اینکه بتوانند
128
00:04:29,280 –> 00:04:30,560
در خط فرمان انتخاب شود،
129
00:04:30,560 –> 00:04:32,400
بنابراین بیایید این یکی را بدهیم، این
130
00:04:32,400 –> 00:04:33,919
خروجی پیشفرض خواهد بود
131
00:04:33,919 –> 00:04:37,600
و آن هم hello world hello world
132
00:04:37,600 –> 00:04:40,720
اوه خروجی پیشفرض
133
00:04:40,720 –> 00:04:42,320
hello world، ما باید این را به درستی املا کنیم
134
00:04:42,320 –> 00:04:43,919
،
135
00:04:43,919 –> 00:04:45,520
نکته جالب دیگر در مورد نقاط ورودی این است
136
00:04:45,520 –> 00:04:47,199
که شما باید هر زمان که اینها را تغییر دادید دوباره نصب کنید
137
00:04:47,199 –> 00:04:48,400
زیرا آنها بخشی از
138
00:04:48,400 –> 00:04:50,639
متادیتای بسته بندی هستند، بنابراین ما می خواهیم
139
00:04:50,639 –> 00:04:53,759
برای تازه کردن آن، نکته را دوباره نصب
140
00:04:53,759 –> 00:04:54,840
141
00:04:54,840 –> 00:04:57,840
کنیم و باید
142
00:04:57,840 –> 00:05:00,240
این خروجی را در اینجا تعریف کنیم تا
143
00:05:00,240 –> 00:05:00,960
144
00:05:00,960 –> 00:05:03,919
خروجی پیش فرض خود را بسازیم. تابع و ما فقط
145
00:05:03,919 –> 00:05:05,440
می خواهیم این را به صورت رشته ای دربیاوریم
146
00:05:05,440 –> 00:05:08,840
و هیچ مقداری را برگردانیم، بنابراین
147
00:05:08,840 –> 00:05:11,919
خروجی um را هم بزنید و
148
00:05:11,919 –> 00:05:16,000
کاری انجام ندهید و خروجی پیش فرض ما یا
149
00:05:16,000 –> 00:05:17,280
خروجی خروجی پیش فرض ما
150
00:05:17,280 –> 00:05:19,039
فقط آن خروجی را چاپ می
151
00:05:19,039 –> 00:05:20,320
کند
152
00:05:20,320 –> 00:05:21,840
و ما این کد را تغییر می دهیم در اینجا
153
00:05:21,840 –> 00:05:24,000
خروجی خود را پیدا کرده و سپس آن را
154
00:05:24,000 –> 00:05:28,160
خروجی می گیریم، اما ما راهی برای
155
00:05:28,160 –> 00:05:29,280
انتخاب پلاگین فردی خود می خواهیم، بنابراین می خواهیم تج
156
00:05:29,280 –> 00:05:30,320
یه قوس را وارد کن
157
00:05:30,320 –> 00:05:33,199
م و تجزیه کننده برابر با تج
158
00:05:33,199 –> 00:05:34,800
159
00:05:34,800 –> 00:05:38,960
یه کننده آرگومان arg parse carson و م
160
00:05:39,759 –> 00:05:42,800
می خواهیم خروجی را انجام دهیم. r
161
00:05:42,800 –> 00:05:45,280
و پیشفرض آن را
162
00:05:45,280 –> 00:05:46,720
پیشفرض
163
00:05:46,720 –> 00:05:48,240
قرار میدهیم و از آن برای جستجوی
164
00:05:48,240 –> 00:05:50,400
استراتژیهای خروجی مختلف خود استفاده
165
00:05:50,400 –> 00:05:54,080
166
00:05:54,080 –> 00:05:56,960
167
00:05:56,960 –> 00:05:58,240
168
00:05:58,240 –> 00:06:02,400
169
00:06:02,400 –> 00:06:04,160
خواهیم کرد. من در واقع فقط
170
00:06:04,160 –> 00:06:06,000
اسناد را برای وارد کردن متادیتا میآورم تا بتوانید
171
00:06:06,000 –> 00:06:07,199
ببینید که
172
00:06:07,199 –> 00:06:09,680
و بهبود ابرداده یک ماژول جدید
173
00:06:09,680 –> 00:06:10,479
در
174
00:06:10,479 –> 00:06:13,680
uh python 3.8 است، اما این
175
00:06:13,680 –> 00:06:16,319
بسته pipi درگاه پشتی نیز برای آن وجود دارد
176
00:06:16,319 –> 00:06:18,400
تا بتوانید از آن در نسخههای قدیمیتر
177
00:06:18,400 –> 00:06:20,000
پایتون استفاده کنید. بدون نگرانی در مورد
178
00:06:20,000 –> 00:06:22,319
اینکه یک الگوی کوچک برای
179
00:06:22,319 –> 00:06:23,680
انتخاب نسخه ای که می خواهید وجود دارد و شما
180
00:06:23,680 –> 00:06:25,280
در واقع دیدیم که قبلاً
181
00:06:25,280 –> 00:06:29,520
در این اسکریپت کوچک اینجا
182
00:06:29,520 –> 00:06:31,280
که می توانید به صورت مشروط امتحان کنید و
183
00:06:31,280 –> 00:06:33,840
import lib.metadata را وارد کنید،
184
00:06:33,840 –> 00:06:37,280
اما در غیر این صورت می دانید سعی کنید و آن را
185
00:06:37,280 –> 00:06:38,880
از بسته قسمت پشتی یا
186
00:06:38,880 –> 00:06:41,199
از منابع بسته که روش قدیمی
187
00:06:41,199 –> 00:06:42,160
برای انجام
188
00:06:42,160 –> 00:06:44,639
نقاط ورودی است، اما بله
189
00:06:44,639 –> 00:06:45,360
،
190
00:06:45,360 –> 00:06:48,000
اکنون اینجا به این موضوع نگاه می کنیم، api که فکر می کنم باید
191
00:06:48,000 –> 00:06:48,720
به دنبال
192
00:06:48,720 –> 00:06:52,000
آن باشیم، نقاط ورودی uh api است و ما.
193
00:06:52,000 –> 00:06:52,479
به
194
00:06:52,479 –> 00:06:55,520
دنبال نمونههای نقطه ورودی میگردیم، بنابراین
195
00:06:55,520 –> 00:06:56,880
مترجم خود را در اینجا باز
196
00:06:56,880 –> 00:07:00,400
میکنیم، میتوانیم import lib.metadata را وارد
197
00:07:00,400 –> 00:07:02,280
کنیم و اگر به import
198
00:07:02,280 –> 00:07:03,919
lib.metadata.entry نقاط نگاه
199
00:07:03,919 –> 00:07:05,360
کنیم، یک فرهنگ لغت بزرگ به ما میدهد
200
00:07:05,360 –> 00:07:06,800
که انواع چیزهای مختلف دارد.
201
00:07:06,800 –> 00:07:07,520
در اینجا
202
00:07:07,520 –> 00:07:10,720
خوشبختانه
203
00:07:10,720 –