در این مطلب، ویدئو برنامه نویسی پایتون Python ABC – کلاس های پایه انتزاعی و روش های انتزاعی. استفاده و باید بدانید با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:11:10
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,820
سلام به همه خوش آمدید به مجموعه ویدیویی
2
00:00:02,820 –> 00:00:05,100
در مورد موضوعات جالب
3
00:00:05,100 –> 00:00:06,660
برنامه نویسی پایتون مدرن و در این
4
00:00:06,660 –> 00:00:08,480
ویدیوی خاص ما در مورد
5
00:00:08,480 –> 00:00:11,190
کلاس های پایه انتزاعی و
6
00:00:11,190 –> 00:00:14,250
متدهای انتزاعی صحبت خواهیم کرد، بنابراین ایده کلاس های پایه انتزاعی
7
00:00:14,250 –> 00:00:17,490
یا ABC در هیچ
8
00:00:17,490 –> 00:00:19,560
برنامه نویسی شی گرا جدید نیست.
9
00:00:19,560 –> 00:00:21,930
در زبان C++ جاوا و بسیاری دیگر
10
00:00:21,930 –> 00:00:24,600
از برنامه نویسی های شی گرا، بنابراین پایتون
11
00:00:24,600 –> 00:00:26,430
که یک زبان برنامه نویسی شی گرا
12
00:00:26,430 –> 00:00:28,920
است،
13
00:00:28,920 –> 00:00:32,189
قابلیت ABC و متدهای انتزاعی را نیز دارد، اما قبل از
14
00:00:32,189 –> 00:00:34,739
اینکه وارد شوید و
15
00:00:34,739 –> 00:00:37,829
کد را بنویسیم، باید بفهمیم که چرا باید انتزاعی عظیم داشته باشیم.
16
00:00:37,829 –> 00:00:40,350
کلاسهای پایه یا متدهای انتزاعی،
17
00:00:40,350 –> 00:00:42,510
بنابراین ما با یک
18
00:00:42,510 –> 00:00:45,270
مورد بسیار بزرگ شروع میکنیم، بنابراین کیس عظیمی
19
00:00:45,270 –> 00:00:47,129
که میخواهم در مورد آن صحبت کنم،
20
00:00:47,129 –> 00:00:50,789
ماشینهای حالت است، بنابراین اگر
21
00:00:50,789 –> 00:00:52,530
برنامهنویس هستید، حتماً در مورد
22
00:00:52,530 –> 00:00:55,610
ماشینهای حالت شنیدهاید که ماشین حالت چیست،
23
00:00:55,610 –> 00:01:00,000
بنابراین هر نرمافزاری توابع پردازش کد
24
00:01:00,000 –> 00:01:03,390
که پس از انجام کارش خاتمه نمی یابد
25
00:01:03,390 –> 00:01:06,570
، در واقع به نوعی یک ماشین حالت است،
26
00:01:06,570 –> 00:01:09,299
بنابراین حتی اگر در حال
27
00:01:09,299 –> 00:01:12,479
نوشتن یک تابع اصلی خالی که
28
00:01:12,479 –> 00:01:14,610
منتظر ورودی کاربر است در
29
00:01:14,610 –> 00:01:17,909
حالت انتظار برای ورودی است و هنگامی که
30
00:01:17,909 –> 00:01:20,310
ورودی کاربر ارائه شد به
31
00:01:20,310 –> 00:01:23,280
حالت دیگری منتقل می شود که با آن ورودی کاربر خاص کاری انجام می دهد،
32
00:01:23,280 –> 00:01:26,159
بنابراین امیدوارم منظور من را
33
00:01:26,159 –> 00:01:28,860
دریافت کرده باشید، بنابراین اگر نرم افزار شما
34
00:01:28,860 –> 00:01:30,869
برای مدت طولانی تری در حال اجرا است اگر
35
00:01:30,869 –> 00:01:33,960
به محض اتمام کارش خاتمه پیدا
36
00:01:33,960 –> 00:01:36,900
نکند، این یک ماشین حالت است، خواه
37
00:01:36,900 –> 00:01:38,570
ما این ماشین حالت را به صراحت ایجاد کرده باشیم
38
00:01:38,570 –> 00:01:42,270
یا
39
00:01:42,270 –> 00:01:46,020
اکنون به طور ضمنی به همین شکل رفتار می کند تا بیشتر بدانیم
40
00:01:46,020 –> 00:01:47,640
ماشین حالت. یک مثال بسیار ساده
41
00:01:47,640 –> 00:01:51,750
فرض کنیم در
42
00:01:51,750 –> 00:01:54,899
حال حاضر در وضعیت شادی هستیم و به
43
00:01:54,899 –> 00:01:57,570
دلایلی در این مقطع زمانی
44
00:01:57,570 –> 00:02:00,390
مقداری پول از دست دادیم شاید در بازار سهام خوب باشد پس
45
00:02:00,390 –> 00:02:02,549
خدای ناکرده من انتظار ندارم
46
00:02:02,549 –> 00:02:05,219
برای هیچ یک از ما این اتفاق بیفتد. اما اجازه دهید برای یک لحظه فرض کنیم
47
00:02:05,219 –> 00:02:07,500
که ما در حالت شادی
48
00:02:07,500 –> 00:02:11,068
بودیم و مقداری پول از دست دادیم و به
49
00:02:11,068 –> 00:02:11,700
50
00:02:11,700 –> 00:02:13,860
حالت افتادگی مهاجرت کردیم، بنابراین دوباره حالت را
51
00:02:13,860 –> 00:02:17,069
از حالت شاد به حالت غمگین
52
00:02:17,069 –> 00:02:19,560
تغییر دادیم همه چیز تغییر می کند زمان تغییر می کند ما
53
00:02:19,560 –> 00:02:22,160
دریافت می کنیم بنابراین پول من و ما به
54
00:02:22,160 –> 00:02:24,959
حالت شاد برگشتیم، بنابراین این چیزی نیست جز یک
55
00:02:24,959 –> 00:02:28,080
ماشین حالت بسیار ساده و
56
00:02:28,080 –> 00:02:30,750
این همان مثالی است که من از آن استفاده خواهم کرد تا به شما
57
00:02:30,750 –> 00:02:34,230
بگویم کلاً ABC چیست، ما ماشین های حالت ایجاد می کنیم
58
00:02:34,230 –> 00:02:36,120
زیرا شما می دانید که در کد آن چه می خواهیم.
59
00:02:36,120 –> 00:02:39,959
به راحتی می توان تشخیص داد
60
00:02:39,959 –> 00:02:42,599
که وضعیت چیست، رویداد چیست و
61
00:02:42,599 –> 00:02:45,599
ماشین حالت چه کاری انجام می دهد، ما همچنین می
62
00:02:45,599 –> 00:02:48,120
خواهیم مطمئن شویم که برای یک برنامه نویس باید آسان باشد که
63
00:02:48,120 –> 00:02:50,910
64
00:02:50,910 –> 00:02:52,769
کارت های ایالات موجود را در کد ما ایجاد کند. ما در آنجا در مورد
65
00:02:52,769 –> 00:02:55,140
حالت شاد حالت غمگین صحبت کردیم. ممکن است
66
00:02:55,140 –> 00:02:58,230
حالت هیجان انگیز باشد یا ممکن است حالت خسته کننده وجود داشته باشد
67
00:02:58,230 –> 00:03:00,540
و غیره و غیره، بنابراین
68
00:03:00,540 –> 00:03:02,780
باید برای برنامه نویس آسان باشد که حالت ها را
69
00:03:02,780 –> 00:03:05,400
گسترش دهد یا حتی
70
00:03:05,400 –> 00:03:08,040
حالت ها و رویدادهای آنها را حذف کند، حالا بیایید در مورد رویدادها صحبت کنیم
71
00:03:08,040 –> 00:03:10,769
رویدادها چیزی با
72
00:03:10,769 –> 00:03:12,870
تبدیل سیگنال از یک حالت به حالت هستند.
73
00:03:12,870 –> 00:03:15,720
حالت دیگر مثلاً اگر بگویم
74
00:03:15,720 –> 00:03:17,549
از حالت شاد به حالت غمگین منتقل شدم،
75
00:03:17,549 –> 00:03:21,450
یعنی رویداد از دست رفته است حالت غمگین
76
00:03:21,450 –> 00:03:23,730
به حالت شاد، رویداد همان
77
00:03:23,730 –> 00:03:24,329
پول است
78
00:03:24,329 –> 00:03:27,120
حالا اگر بخواهیم صریحاً کد کنیم یک فایده وجود دارد.
79
00:03:27,120 –> 00:03:29,910
و اگر ما
80
00:03:29,910 –> 00:03:32,549
این کار را انجام دهیم، به
81
00:03:32,549 –> 00:03:35,100
جای اینکه چگونه تکه
82
00:03:35,100 –> 00:03:36,840
بزرگ کد را در برنامه
83
00:03:36,840 –> 00:03:40,829
خود مرتب کنیم، بیشتر بر روی آنچه باید انجام دهیم تمرکز خواهیم کرد، امیدوارم که بفهمیم ماشین حالت چیست
84
00:03:40,829 –> 00:03:43,350
و چرا از آن استفاده می کنیم، اجازه دهید ادامه دهیم
85
00:03:43,350 –> 00:03:45,450
و پایتون را ببینیم. کدنویسی کنید
86
00:03:45,450 –> 00:03:48,030
و در مورد
87
00:03:48,030 –> 00:03:53,340
کلاس های پایه انتزاعی یا ADC و متدهای انتزاعی بیشتر بدانید
88
00:03:53,340 –> 00:03:55,920
، بنابراین کد ما اینجاست، بنابراین اولین کاری
89
00:03:55,920 –> 00:03:58,079
که باید در هنگام رسیدگی به وضعیت
90
00:03:58,079 –> 00:04:00,799
و رویدادها انجام دهیم این است که یک الگو ایجاد
91
00:04:00,799 –> 00:04:05,760
92
00:04:05,760 –> 00:04:09,180
می کنیم، قبل از اینکه به جلو برویم، یک الگو از حالت ها و رویدادها ایجاد می کنیم. شروع به
93
00:04:09,180 –> 00:04:11,489
استفاده از این مفهوم کلاس پایه انتزاعی می
94
00:04:11,489 –> 00:04:14,760
کنیم که باید ABC را از یک ماژول
95
00:04:14,760 –> 00:04:17,849
به نام ABC وارد کنیم ABC چیزی جز
96
00:04:17,849 –> 00:04:21,289
کلاس های پایه انتزاعی نیست، بنابراین از ABC
97
00:04:21,289 –> 00:04:24,580
import ABC خواهیم گفت که ABC بزرگ است
98
00:04:24,580 –> 00:04:28,300
و روش انتزاعی این روش انتزاعی
99
00:04:28,300 –> 00:04:30,729
یک تزئین است و در اینجا نحوه کار ما است. می توانم
100
00:04:30,729 –> 00:04:34,000
از همان استفاده کنم، بنابراین من یک
101
00:04:34,000 –> 00:04:38,199
حق حالت برگرفته از ABC ایجاد کرده ام و دارم
102
00:04:38,199 –> 00:04:40,360
یک متد انتزاعی به نام in-state ایجاد می
103
00:04:40,360 –> 00:04:42,310
کنم و هیچ پیاده سازی را در اینجا تعریف نمی
104
00:04:42,310 –> 00:04:45,219
کنم، بنابراین در اینجا این است که چگونه پیش می رویم و
105
00:04:45,219 –> 00:04:47,229
از آن استفاده می کنیم. من حالت شاد و
106
00:04:47,229 –> 00:04:49,750
حالت غمگین را ایجاد می کنم، بنابراین کاری که من انجام خواهم داد این است که
107
00:04:49,750 –> 00:04:52,750
حالت شادی را ایجاد می کنم که از حالت گرفته شده
108
00:04:52,750 –> 00:05:00,789
است و در تابع به جای آن چیزی که
109
00:05:00,789 –> 00:05:05,909
چاپ خواهم کرد این است که در حالت شاد هستم
110
00:05:05,909 –> 00:05:11,800
خوب و اجازه دهید یک حالت غمگین نیز ایجاد کنم.
111
00:05:11,800 –> 00:05:17,860
حالت sad است و من در حال حاضر داخل حالت هستم،
112
00:05:17,860 –> 00:05:21,370
می بینید که اگر
113
00:05:21,370 –> 00:05:24,069
یک کلاس پایه انتزاعی با متدی
114
00:05:24,069 –> 00:05:26,020
به نام in-state ایجاد کنیم که یک متد انتزاعی
115
00:05:26,020 –> 00:05:28,659
است، معنای متد انتزاعی این است
116
00:05:28,659 –> 00:05:30,969
که باید در کلاس مشتق شده پیاده سازی شود،
117
00:05:30,969 –> 00:05:34,419
بنابراین من
118
00:05:34,419 –> 00:05:37,479
من به حالت هایی که ایجاد می کنم یک الگو می دهم، می تواند
119
00:05:37,479 –> 00:05:39,969
یک تابع یا صدها تابع داشته باشد،
120
00:05:39,969 –> 00:05:43,150
اما من به آن یک الگو می دهم، بنابراین اگر
121
00:05:43,150 –> 00:05:46,089
یک حالت شاد ایجاد می کنم باید
122
00:05:46,089 –> 00:05:48,550
این تابع را تعریف کنم و بگویم منظورم یک