در این مطلب، ویدئو کلاس های داده در پایتون (قسمت 2) | کلاس داده پارامتری شده با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,280
سلام بچه ها به دومین
2
00:00:02,280 –> 00:00:04,380
ویدیوی سری من در مورد کلاس های داده در پایتون خوش آمدید،
3
00:00:04,380 –> 00:00:06,810
بنابراین در ویدیوی اول ما به
4
00:00:06,810 –> 00:00:08,580
درک مختصری از
5
00:00:08,580 –> 00:00:10,590
سناریوهای مختلف که در آن به کلاس های داده نیاز داریم
6
00:00:10,590 –> 00:00:12,450
و نحوه استفاده از آنها چیست و اکنون در این
7
00:00:12,450 –> 00:00:14,639
ویدیو هستیم. کمی عمیقتر
8
00:00:14,639 –> 00:00:16,289
فرو میرویم و میخواهیم ببینیم که
9
00:00:16,289 –> 00:00:18,770
پارامترهای مختلفی که یک دکوراتور کلاس داده
10
00:00:18,770 –> 00:00:21,119
میتواند انجام دهد چیست، بنابراین بدون هیچ تأخیری
11
00:00:21,119 –> 00:00:25,320
بیایید شروع کنیم خوب، بنابراین در
12
00:00:25,320 –> 00:00:28,080
ویدیوی آخر کلاسی
13
00:00:28,080 –> 00:00:30,990
به نام شخص را مثال زدیم که در آن تزئین کردیم. آن را
14
00:00:30,990 –> 00:00:33,149
با دکوراتور کلاس داده و ما
15
00:00:33,149 –> 00:00:35,040
سه ویژگی را تعریف کردیم که میخواستیم
16
00:00:35,040 –> 00:00:37,500
برای هر شی کلاس داشته باشیم و
17
00:00:37,500 –> 00:00:40,020
درست کار میکرد، بنابراین اگر بخواهیم
18
00:00:40,020 –> 00:00:41,670
پارامترهای مختلفی را ببینیم
19
00:00:41,670 –> 00:00:44,820
که یک تابع کلاس داده میتواند چه باشد،
20
00:00:44,820 –> 00:00:46,739
میتوانیم Shift را قرار دهیم. اینجا را تب کنید و فقط سعی کنید
21
00:00:46,739 –> 00:00:48,690
به امضای آن نگاه کنید و می بینیم که
22
00:00:48,690 –> 00:00:51,329
مقداری پارامترهای مختلفی را می گیرد و در
23
00:00:51,329 –> 00:00:52,980
پارامترهای اختیاری می بینیم که
24
00:00:52,980 –> 00:00:55,500
در آن برابر با true است و مجدداً PR داریم
25
00:00:55,500 –> 00:00:58,859
که EQ دستور هش ناامن و منجمد می کند.
26
00:00:58,859 –> 00:01:00,899
ما سعی می کنیم هر
27
00:01:00,899 –> 00:01:03,690
یک از آنها را بفهمیم و اجازه دهید با
28
00:01:03,690 –> 00:01:07,200
اولین موردی که در آن خوب است شروع کنیم، بنابراین
29
00:01:07,200 –> 00:01:09,659
در واقع ما قبلاً دیده ایم که چه کاری در آن
30
00:01:09,659 –> 00:01:12,000
انجام می دهد بنابراین در آن یک پارامتر اختیاری
31
00:01:12,000 –> 00:01:15,060
در تابع کلاس داده است که روی آن تنظیم شده است.
32
00:01:15,060 –> 00:01:18,090
به صورت پیشفرض true است و کاری که انجام میدهد این است
33
00:01:18,090 –> 00:01:21,450
که به صورت پیشفرض تابع init را برای کلاس شما ایجاد میکند،
34
00:01:21,450 –> 00:01:24,390
بنابراین
35
00:01:24,390 –> 00:01:26,130
اجازه دهید یک مثال بزنم، فرض کنید P برابر است
36
00:01:26,130 –> 00:01:28,939
با شخص که در آن نامی را که
37
00:01:28,939 –> 00:01:33,000
در سن پاس میدهم پاس میکنم و آن را پاس میکنم. شهر بسیار خوب،
38
00:01:33,000 –> 00:01:35,820
پس چرا این تابع به این صورت اجرا شد، به
39
00:01:35,820 –> 00:01:37,979
این ترتیب اجرا شد زیرا من تعریف کرده
40
00:01:37,979 –> 00:01:41,820
بودم که این ویژگی ها را برای شی کلاس خود می خواهم،
41
00:01:41,820 –> 00:01:43,920
بنابراین اتفاقی که می افتد این است که وقتی
42
00:01:43,920 –> 00:01:46,520
می خواهید یک شی کلاس جدید ایجاد کنید،
43
00:01:46,520 –> 00:01:48,600
یک تابع مقداردهی اولیه به
44
00:01:48,600 –> 00:01:51,540
طور پیش فرض با استفاده از آن تعریف می شود. کلاس داده ای که
45
00:01:51,540 –> 00:01:54,210
می تواند نام آژانس T را به عنوان سه
46
00:01:54,210 –> 00:01:56,579
پارامتر بپذیرد و آن مقادیر به عنوان
47
00:01:56,579 –> 00:01:58,680
ویژگی های شی کلاس شما تنظیم می شود و اکنون
48
00:01:58,680 –> 00:02:00,060
اگر سعی کنید به صورت دوره ای
49
00:02:00,060 –> 00:02:05,610
P نقطه H P نقطه شهر را بگویید، آنچه به دست می آورید تمام
50
00:02:05,610 –> 00:02:08,580
آن مقادیر است Nakheel 20 Delhi درست
51
00:02:08,580 –> 00:02:11,340
است به این ترتیب
52
00:02:11,340 –> 00:02:13,840
عملکرد آن با تاخیر یک تابع مقداردهی اولیه را به شما ارائه می دهد،
53
00:02:13,840 –> 00:02:15,670
بنابراین این یکی از مهمترین
54
00:02:15,670 –> 00:02:17,680
ویژگی های کلاس های داده است، بنابراین
55
00:02:17,680 –> 00:02:19,209
اکنون بیایید به مورد بعدی
56
00:02:19,209 –> 00:02:23,079
برسیم که EPR ما است، بنابراین EPR ما دوباره به طور پیش فرض درست تنظیم می شود.
57
00:02:23,079 –> 00:02:25,359
API اساساً
58
00:02:25,359 –> 00:02:27,879
تابعی را ارائه می دهد که می تواند به شما
59
00:02:27,879 –> 00:02:30,010
نمایشی از شی کلاس شما بدهد، بنابراین
60
00:02:30,010 –> 00:02:31,510
اگر من فقط سعی
61
00:02:31,510 –> 00:02:33,519
کنم نمایش شی کلاس T خود را در اینجا ببینم،
62
00:02:33,519 –> 00:02:35,109
چیزی شبیه به این نام کلاس و
63
00:02:35,109 –> 00:02:37,420
سپس همه این ویژگی ها و
64
00:02:37,420 –> 00:02:39,250
مقادیر مربوط به آنها را دریافت می کنم. نحوه عملکرد
65
00:02:39,250 –> 00:02:41,920
EPR ما اساساً اگر بگویم EPR ما
66
00:02:41,920 –> 00:02:46,620
برابر با نادرست است، اتفاقی که می افتد این است که
67
00:02:46,620 –> 00:02:49,500
من چیزی شبیه به این یک نوع نمایش پیش فرض بسیار زشت را دریافت
68
00:02:49,500 –> 00:02:52,180
69
00:02:52,180 –> 00:02:53,919
می کنم که در مورد
70
00:02:53,919 –> 00:02:55,810
تعریف کلاس بسیار پیش فرض از
71
00:02:55,810 –> 00:02:58,150
شخص کلاس در آخرین ویدیو، بنابراین
72
00:02:58,150 –> 00:02:59,889
EPR ما به این صورت عمل می کند، بنابراین اجازه دهید
73
00:02:59,889 –> 00:03:02,019
جفت مجدد برابر با false را حذف کنیم، هرگز
74
00:03:02,019 –> 00:03:04,239
ایده خوبی نیست که در حال حاضر نادرست باشد، در
75
00:03:04,239 –> 00:03:07,079
نهایت آخرین
76
00:03:07,079 –> 00:03:09,189
پارامتر اختیاری دیگری داریم که درست است.
77
00:03:09,189 –> 00:03:13,900
EQ است بنابراین EQ اساساً برای بدست آوردن
78
00:03:13,900 –> 00:03:16,180
عملگر Equality و عملگر غیر برابری
79
00:03:16,180 –> 00:03:19,030
این یکی و این یکی است، بنابراین آنچه
80
00:03:19,030 –> 00:03:22,720
اتفاق می افتد این است که اگر من فقط دو
81
00:03:22,720 –> 00:03:25,659
شی کلاس p1 ایجاد کنم و
82
00:03:25,659 –> 00:03:30,190
یکی دیگر از p2 ایجاد کنم و اکنون اگر سعی کنم
83
00:03:30,190 –> 00:03:34,359
آنها را با هم مقایسه کنم. درست است که چرا درست می شوم
84
00:03:34,359 –> 00:03:36,099
در واقع این دو شیء کلاس متفاوت هستند،
85
00:03:36,099 –> 00:03:38,500
به این معنی که اینها p1
86
00:03:38,500 –> 00:03:40,419
و p2 در واقع به دو
87
00:03:40,419 –> 00:03:42,099
شی متفاوت در حافظه اشاره می کنند، اما
88
00:03:42,099 –> 00:03:44,440
در حال حاضر p1 در مقایسه با p2
89
00:03:44,440 –> 00:03:46,720
درست می دهد که چرا اینطور است.
90
00:03:46,720 –> 00:03:49,959
زیرا هنگامی که من دکوراتور کلاس داده را
91
00:03:49,959 –> 00:03:52,629
روی کلاس خود قرار می دهم، تابعی به نام
92
00:03:52,629 –> 00:03:55,120
دو خط زیر خط EQ دو زیر خط
93
00:03:55,120 –> 00:03:57,549
که تابع جادویی است به
94
00:03:57,549 –> 00:04:01,949
طور پیش فرض تعریف می شود که دو
95
00:04:01,949 –> 00:04:04,000
شی شما را که می خواهید مقایسه کنید را می گیرد
96
00:04:04,000 –> 00:04:07,229
و سپس برای
97
00:04:07,229 –> 00:04:09,879
ویژگی های مربوطه بررسی می شوند.
98
00:04:09,879 –> 00:04:11,500
مساوی هستند یا نه پس اول از همه نام
99
00:04:11,500 –> 00:04:13,239
بررسی می شود که مساوی است یا نه بعد
100
00:04:13,239 –> 00:04:15,519
سن و سپس شهر و در نهایت
101
00:04:15,519 –> 00:04:17,409
نتیجه نهایی را برمی گردانیم بنابراین به این ترتیب EQ کار می کند
102
00:04:17,409 –> 00:04:20,199
و برابر نیست همچنین به
103
00:04:20,199 –> 00:04:22,479
همان صورت تعریف می شود که یک e است بنابراین این
104
00:04:22,479 –> 00:04:24,340
تابع نیز به طور پیش فرض زمانی که از کلاس های داده استفاده می کنید تعریف می شود
105
00:04:24,340 –> 00:04:26,770
و EQ
106
00:04:26,770 –> 00:04:27,130
107
00:04:27,130 –> 00:04:30,370
درست تنظیم شده است بنابراین به این ترتیب تمام
108
00:04:30,370 –> 00:04:32,410
پارامترهای اختیاری که به طور پیش فرض
109
00:04:32,410 –> 00:04:35,380
درست هستند را دیدیم و دریافت می کنیم. برای استفاده از آنها بدون
110
00:04:35,380 –> 00:04:38,230
انجام کاری در اینجا بدون اینکه آن را
111
00:04:38,230 –> 00:04:40,660
مانند تابعی به نام همینجا درست کنید،
112
00:04:40,660 –> 00:04:43,120
اما حالا بیایید به ترتیب بیایم
113
00:04:43,120 –> 00:04:46,300
یا یک پارامتر اختیاری دیگر وجود دارد که به
114
00:04:46,300 –> 00:04:49,600
طور پیش فرض نادرست است، بنابراین چه دستوری انجام می دهد، بنابراین
115
00:04:49,600 –> 00:04:51,070
چه دستوری انجام می
116
00:04:51,070 –> 00:04:55,440
دهد. شما به صورت پیشفرض میتوانید بگویید
117
00:04:55,440 –> 00:04:58,870
اجرای توابعی که
118
00:04:58,870 –> 00:05:00,730
وقتی سعی میکنید از مقدار
119
00:05:00,730 –> 00:05:04,120
کمتر از بزرگتر استفاده کنید فعال میشوند، مثلاً کمتر
120
00:05:04,120 –> 00:05:06,700
از خوب یا کمتر از مساوی
121
00:05:06,700 –> 00:05:09,640
بزرگتر یا بزرگتر از مساوی، بنابراین اگر
122
00:05:09,640 –> 00:05:12,040
میخواهید از این عملیات بین هر کدام استفاده کنید.
123
00:05:12,040 –> 00:05:14,110
دو شیء کلاس و سپس کدام تابع
124
00:05:14,110 –> 00:05:16,660
راه اندازی می شود، در واقع
125
00:05:16,660 –> 00:05:18,310
وقتی
126
00:05:18,310 –> 00:05:20,470
سعی می کنید از این عمل استفاده کنید، زیرخط دوبرابر LT زمانی که شما سعی می کنید از این عملیات استفاده کنید،
127
00:05:20,470 –> 00:05:22,420
امتیاز لیوا استفاده می شود.
128
00:05:22,420 –> 00:05:24,520
هاان برابر با دو
129
00:05:24,520 –> 00:05:27,730
زیرخط زیرخط GTW در اینجا و
130
00:05:27,730 –> 00:05:30,640
زیرخط دوتایی GE در اینجا، بنابراین
131
00:05:30,640 –> 00:05:32,880
همه این تعاریف تابع
132
00:05:32,880 –> 00:05:36,070
قبلاً به
133
00:05:36,070 –> 00:05:37,720
طور پیشفرض در تعریف کلاس شما ارائه شدهاند، زمانی که میخواهید
134
00:05:37,720 –> 00:05:40,920
از دادهها استفاده کنید، روی تزئین کلاس داده
135
00:05:40,920 –> 00:05:45,430
روی کلاس خود با ترتیبی
136
00:05:45,430 –> 00:05:48,490
برابر با درست است، پس بیایید آن را اینجا امتحان کنیم،
137
00:05:48,490 –> 00:05:50,860
اگر فقط سعی می کنم ببینم p1 بزرگتر
138
00:05:50,860 –> 00:05:53,680
از p2 است یا نه، اشتباه می شود، بنابراین p1
139
00:05:53,680 –> 00:05:56,170
بزرگتر از p2 به من false می دهد و اگر
140
00:05:56,170 –> 00:05:59,670
فقط سعی کنم تنظیم کنم، فرض کنید سن P2
141
00:05:59,670 –> 00:06:03,370
19 سال است، خوب است. در آن صورت من درست می گیرم که
142
00:06:03,370 –> 00:06:05,650
چرا چون اول از همه نام
143
00:06:05,650 –> 00:06:07,870
مقایسه شد که همان بود که به
144
00:06:07,870 –> 00:06:10,540
سن 20 سالگی رسیدیم بزرگتر از 19 است، به همین دلیل است که
145
00:06:10,540 –> 00:06:13,000
p1 بزرگتر از p2 است وقتی درست شد Okay
146
00:06:13,000 –> 00:06:15,190
و اگر فقط ترتیب برابر 2 را حذف کنم.
147
00:06:15,190 –> 00:06:17,170
که روش پیشفرض ما از کلاسهای داده استفاده میکنیم
148
00:06:17,170 –> 00:06:19,330
و سپس اگر سعی کنید
149
00:06:19,330 –> 00:06:21,190
این دو مورد را با هم مقایسه کنید، به سادگی یک
150
00:06:21,190 –> 00:06:24,280
خطا ایجاد میکند، زیرا در حال حاضر هر چه بیشتر این
151
00:06:24,280 –> 00:06:26,110
عملیات بین
152
00:06:26,110 –> 00:06:27,640
نمونههای شخص و شخص پشتیبانی نشود،
153
00:06:27,640 –> 00:06:29,950
یعنی دو کلاس tw. o
154
00:06:29,950 –> 00:06:31,870
اشیاء کلاس شخص کلاس را نمی توان به این صورت مقایسه
155
00:06:31,870 –> 00:06:34,030
کرد وقتی ترتیب را برابر
156
00:06:34,030 –> 00:06:36,970
false okay تنظیم کرده باشید، به همین دلیل است که می توانیم از
157
00:06:36,970 –> 00:06:40,380
پارامتر order thing برای
158
00:06:40,380 –> 0