در این مطلب، ویدئو آموزش پایتون برای مبتدیان 32 – Python super() با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,280
سلام بچه ها به ویدیوی بعدی در
2
00:00:02,280 –> 00:00:04,529
آموزش پایتون برای مبتدیان در این
3
00:00:04,529 –> 00:00:06,330
ویدیو خوش آمدید، من به شما نشان خواهم داد که چگونه می توانید
4
00:00:06,330 –> 00:00:10,170
از یک تابع داخلی به نام super در
5
00:00:10,170 –> 00:00:13,620
کلاس های پایتون خود استفاده کنید، بنابراین بیایید شروع کنیم،
6
00:00:13,620 –> 00:00:16,680
بنابراین برای شروع، من دو کلاس در اینجا دارم.
7
00:00:16,680 –> 00:00:19,560
یکی کلاس والد و دیگری
8
00:00:19,560 –> 00:00:23,279
کلاس فرزند است و در اینجا کلاس والد
9
00:00:23,279 –> 00:00:25,500
مانند یک سوپرکلاس عمل می کند و کلاس فرزند
10
00:00:25,500 –> 00:00:28,500
مانند یک زیر کلاس عمل می کند که
11
00:00:28,500 –> 00:00:31,800
از کلاس والد ارث می برد، اکنون هر دو
12
00:00:31,800 –> 00:00:35,370
کلاس این تابع init را دارند و شما
13
00:00:35,370 –> 00:00:37,170
از قبل می دانید این init چیست.
14
00:00:37,170 –> 00:00:39,149
تابع do it اولین تابعی
15
00:00:39,149 –> 00:00:42,570
است که وقتی نمونه ای از یک کلاس ایجاد می شود فراخوانی می شود
16
00:00:42,570 –> 00:00:44,789
و در اینجا من فقط
17
00:00:44,789 –> 00:00:47,450
شی را از کلاس فرزند ایجاد
18
00:00:47,450 –> 00:00:51,210
می کنم به نظر شما چه اتفاقی می افتد
19
00:00:51,210 –> 00:00:53,340
که این سازنده فراخوانی شود یا
20
00:00:53,340 –> 00:00:55,649
این سازنده فراخوانی شود. نامیده می شود زیرا
21
00:00:55,649 –> 00:00:58,260
ما در حال ارث بردن از کلاس والد
22
00:00:58,260 –> 00:01:01,320
به کلاس فرزند هستیم، بنابراین بیایید بفهمیم،
23
00:01:01,320 –> 00:01:03,750
بنابراین من این کد را اجرا می کنم و
24
00:01:03,750 –> 00:01:06,360
فرزند را در آن چاپ می کند، به این معنی که این
25
00:01:06,360 –> 00:01:09,330
عبارت تحت متد کلاس کودک init
26
00:01:09,330 –> 00:01:13,229
است. اجرا شده است و این متد
27
00:01:13,229 –> 00:01:16,439
اکنون اجرا نمی شود، در برخی موارد ممکن است
28
00:01:16,439 –> 00:01:20,189
بخواهید برخی از پارامترها را نیز به
29
00:01:20,189 –> 00:01:23,310
سوپرکلاس خود منتقل کنید، به عنوان مثال، من فقط
30
00:01:23,310 –> 00:01:26,130
این مثال را می زنم، فرض کنید می
31
00:01:26,130 –> 00:01:29,909
خواهم یک آرگومان به نام نام را در اینجا پاس کنم
32
00:01:29,909 –> 00:01:33,119
و سپس فقط چاپ کنم. مقدار
33
00:01:33,119 –> 00:01:37,430
نام چگونه می توانم این تابع init را
34
00:01:37,430 –> 00:01:41,130
با استفاده از این نمونه کلاس فرزند صدا
35
00:01:41,130 –> 00:01:43,439
بزنم، بنابراین معلوم می شود که تابعی
36
00:01:43,439 –> 00:01:47,520
به نام super در پایتون وجود دارد که به ما اجازه می دهد به
37
00:01:47,520 –> 00:01:52,380
طور ضمنی به سوپرکلاس مراجعه کنیم، اکنون
38
00:01:52,380 –> 00:01:55,290
این تابع super یک
39
00:01:55,290 –> 00:01:58,590
تابع داخلی است که برمی گردد. یک شیء پراکسی
40
00:01:58,590 –> 00:02:02,570
که به شما امکان می دهد به سوپرکلاس خود رجوع کنید،
41
00:02:02,570 –> 00:02:05,189
بنابراین بیایید سعی کنیم از این
42
00:02:05,189 –> 00:02:07,740
تابع super استفاده کنیم، بنابراین شما فقط از
43
00:02:07,740 –> 00:02:10,050
کلمه کلیدی super استفاده کنید و سپس این پرانتزها را بدهید
44
00:02:10,050 –> 00:02:12,209
زیرا این یک تابع است
45
00:02:12,209 –> 00:02:13,590
و سپس این
46
00:02:13,590 –> 00:02:15,239
per تابع، شی پراکسی سوپرکلاس را برمی گرداند.
47
00:02:15,239 –> 00:02:18,269
یعنی من
48
00:02:18,269 –> 00:02:21,959
می توانم از این عملگر نقطه برای فراخوانی
49
00:02:21,959 –> 00:02:25,319
متد init از سوپرکلاس استفاده کنم، بنابراین این
50
00:02:25,319 –> 00:02:29,160
نماد به معنای نقطه فوق العاده در آن است به این معنی که
51
00:02:29,160 –> 00:02:31,230
ما متد init را از
52
00:02:31,230 –> 00:02:34,049
کلاس والد فراخوانی می کنیم. ما میتوانیم
53
00:02:34,049 –> 00:02:36,840
نام را از اینجا منتقل کنیم، بنابراین بیایید فقط
54
00:02:36,840 –> 00:02:38,730
این را پاس کنیم، من فقط max را
55
00:02:38,730 –> 00:02:41,819
اینجا مینویسم و اکنون این کد را اجرا میکنم و ا
56
00:02:41,819 –> 00:02:45,360
نون خواهید دید که فرزند موجود در آن اب
57
00:02:45,360 –> 00:02:47,400
دا با استفاده از این عبارت چاپ شده اس
58
00:02:47,400 –> 00:02:51,090
و سپس با استفاده از تابع super
59
00:02:51,090 –> 00:02:53,989
متد init کلاس والد
60
00:02:53,989 –> 00:02:58,500
فراخوانی می شود و سپس این نام در اینجا ارسال می شود
61
00:02:58,500 –> 00:03:01,290
و در آن والد و نام
62
00:03:01,290 –> 00:03:03,870
هر نامی را که در اینجا قرار داده ایم چاپ می کند بنابراین
63
00:03:03,870 –> 00:03:06,150
این تابع super به ما اجازه می دهد تا
64
00:03:06,150 –> 00:03:09,239
به سوپرکلاس مراجعه کنیم.
65
00:03:09,239 –> 00:03:10,650
یک چیز دیگر را به شما نشان می دهم که به آن
66
00:03:10,650 –> 00:03:14,129
ترتیب تفکیک روش می گویند و می
67
00:03:14,129 –> 00:03:17,160
توانید با استفاده از
68
00:03:17,160 –> 00:03:20,750
نام کلاس خود یا نام خانوادگی فرزند، نقطه
69
00:03:20,750 –> 00:03:24,930
زیرخط زیرخط mro را پیدا کنید، بنابراین فقط
70
00:03:24,930 –> 00:03:26,970
زیرخط زیرخط زیرخط زیرخط Amaro
71
00:03:26,970 –> 00:03:28,829
و این عبارت
72
00:03:28,829 –> 00:03:31,829
را استفاده می کنم. در داخل تابع چاپ، بنابراین
73
00:03:31,829 –> 00:03:34,470
میتوانید نتیجه را ببینید که چه چیزی برمیگرداند، بنابراین
74
00:03:34,470 –> 00:03:36,989
من اکنون کد را اجرا میکنم و
75
00:03:36,989 –> 00:03:40,049
میتوانید ببینید که این نوع ترتیب را برمیگرداند، بنابراین
76
00:03:40,049 –> 00:03:42,500
همانطور که از نام نشان میدهد mr o مخفف
77
00:03:42,500 –> 00:03:46,769
متد وضوح دستور a است. و این