در این مطلب، ویدئو آموزش پایتون OOP | تابع Python super() | آشنایی با Python super() با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:07:37
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:01,979
در این ویدیو من به شما نشان می دهم که چگونه
2
00:00:01,979 –> 00:00:04,710
می توانید از یک تابع داخلی به نام
3
00:00:04,710 –> 00:00:08,970
super در کلاس های پایتون خود استفاده کنید، بنابراین بیایید
4
00:00:08,970 –> 00:00:11,969
شروع کنیم بنابراین برای شروع، من دو
5
00:00:11,969 –> 00:00:14,370
کلاس در اینجا دارم یکی کلاس والد و
6
00:00:14,370 –> 00:00:18,090
دیگری کلاس فرزند و در اینجا
7
00:00:18,090 –> 00:00:21,029
کلاس والد مانند یک سوپرکلاس عمل می کند و کلاس
8
00:00:21,029 –> 00:00:23,580
فرزند مانند یک زیر کلاس عمل می کند که
9
00:00:23,580 –> 00:00:26,730
از کلاس والد به ارث می رسد، اکنون
10
00:00:26,730 –> 00:00:30,269
هر دو کلاس این تابع init را
11
00:00:30,269 –> 00:00:32,579
دارند و شما از قبل می دانید که
12
00:00:32,579 –> 00:00:34,620
این تابع init چه کاری انجام می دهد، اولین
13
00:00:34,620 –> 00:00:37,350
تابعی است که زمانی فراخوانی می شود که
14
00:00:37,350 –> 00:00:40,559
نمونه ای از یک کلاس ایجاد می شود و در اینجا
15
00:00:40,559 –> 00:00:42,660
من فقط شی را از
16
00:00:42,660 –> 00:00:45,719
کلاس فرزند ایجاد می کنم به نظر شما چه اتفاقی می
17
00:00:45,719 –> 00:00:48,570
افتد که این سازنده
18
00:00:48,570 –> 00:00:51,149
فراخوانی شود یا این سازنده
19
00:00:51,149 –> 00:00:53,399
فراخوانی شود زیرا ما از کلاس والد به فرزند ارث می بریم.
20
00:00:53,399 –> 00:00:56,579
class پس
21
00:00:56,579 –> 00:00:58,770
بیایید پیدا کنیم بنابراین من می خواهم این کد را اجرا کنم
22
00:00:58,770 –> 00:01:01,800
و فرزند را در آن چاپ می کند،
23
00:01:01,800 –> 00:01:04,080
یعنی این دستور زیر
24
00:01:04,080 –> 00:01:08,310
متد کودک کلاس init اجرا شده است و این
25
00:01:08,310 –> 00:01:11,369
متد اکنون اجرا نمی شود در برخی
26
00:01:11,369 –> 00:01:15,060
موارد ممکن است می خواهم برخی از پارامترها را
27
00:01:15,060 –> 00:01:18,990
نیز به سوپرکلاس خود منتقل
28
00:01:18,990 –> 00:01:21,570
کنم، به عنوان مثال، من فقط می خواهم این
29
00:01:21,570 –> 00:01:24,330
مثال را بزنم، فرض کنید می خواهم یک آرگومان
30
00:01:24,330 –> 00:01:27,990
به نام name را در اینجا ارسال کنم و سپس فقط
31
00:01:27,990 –> 00:01:31,799
مقدار name را چاپ می کنم چگونه می توانم
32
00:01:31,799 –> 00:01:35,340
این تابع init را با استفاده از این فراخوانی کنم.
33
00:01:35,340 –> 00:01:37,680
نمونه کلاس فرزند، بنابراین معلوم می شود
34
00:01:37,680 –> 00:01:41,070
که تابعی به نام super در
35
00:01:41,070 –> 00:01:45,180
پایتون وجود دارد که به ما اجازه می دهد به
36
00:01:45,180 –> 00:01:49,140
طور ضمنی به سوپرکلاس مراجعه کنیم، اکنون این
37
00:01:49,140 –> 00:01:52,500
تابع super یک تابع داخلی است که
38
00:01:52,500 –> 00:01:55,890
یک شی پراکسی را برمی گرداند که به شما امکان می دهد
39
00:01:55,890 –> 00:02:00,420
به سوپرکلاس خود مراجعه کنید، بنابراین بیایید سعی
40
00:02:00,420 –> 00:02:02,790
کنید از این تابع super استفاده کنید بنابراین فقط
41
00:02:02,790 –> 00:02:05,549
از کلمه کلیدی super استفاده کنید و سپس
42
00:02:05,549 –> 00:02:07,920
این پرانتزها را بدهید زیرا این یک
43
00:02:07,920 –> 00:02:10,110
تابع است و سپس این تابع super
44
00:02:10,110 –> 00:02:12,599
شیء پراکسی سوپرکلاس را برمی گرداند،
45
00:02:12,599 –> 00:02:13,830
46
00:02:13,830 –> 00:02:16,740
یعنی می توانم از این عملگر نقطه برای
47
00:02:16,740 –> 00:02:20,250
فراخوانی متد init استفاده کنم. superclass
48
00:02:20,250 –> 00:02:24,150
بنابراین این نماد به معنای نقطه فوق العاده است به این
49
00:02:24,150 –> 00:02:26,220
معنی که ما متد init را
50
00:02:26,220 –> 00:02:29,520
از کلاس والد فراخوانی می کنیم و این بدان معنی است که
51
00:02:29,520 –> 00:02:32,310
می توانیم نام را از اینجا منتقل کنیم، بنابراین اجازه
52
00:02:32,310 –> 00:02:33,960
دهید این را بگذرانیم.
53
00:02:33,960 –> 00:02:37,170
در اینجا فقط max را می نویسم و اکنون این کد را اجرا می کن
54
00:02:37,170 –> 00:02:40,050
و اکنون می بینید که فر
55
00:02:40,050 –> 00:02:42,570
ند در آن ابتدا با استفاده از این عبارت چاپ می
56
00:02:42,570 –> 00:02:45,330
ود و سپس با استفاده از
57
00:02:45,330 –> 00:02:48,480
ابع super متد init کل
58
00:02:48,480 –> 00:02:52,290
س والد فراخوانی می شود و سپس این
59
00:02:52,290 –> 00:02:55,860
نام در اینجا ارسال می شود و والد را در آن چاپ می
60
00:02:55,860 –> 00:02:58,440
کند و نام هر نامی را که در اینجا ارائه کرده ایم چاپ می کند
61
00:02:58,440 –> 00:03:00,840
، بنابراین این تابع فوق العاده
62
00:03:00,840 –> 00:03:04,680
به ما اجازه می دهد تا به سوپرکلاس مراجعه کنیم،
63
00:03:04,680 –> 00:03:06,240
اجازه دهید یک چیز دیگر را به شما نشان دهم که به
64
00:03:06,240 –> 00:03:08,640
آن ترتیب وضوح روش می گویند و
65
00:03:08,640 –> 00:03:11,490
می توانید پیدا کنید. این روش تفکیک
66
00:03:11,490 –> 00:03:15,450
پذیری را با استفاده از نام کلاس خود یا
67
00:03:15,450 –> 00:03:19,890
نام خانوادگی
68
00:03:19,890 –> 00:03:21,540
69
00:03:21,540 –> 00:03:24,120
70
00:03:24,120 –> 00:03:25,800
71
00:03:25,800 –> 00:03:28,980
72
00:03:28,980 –> 00:03:31,260
فرزندتان ترتیب دهید. m اکنون کد را اجرا میکند
73
00:03:31,260 –> 00:03:34,350
و میتوانید ببینید که این نوع ترتیب را برمیگرداند،
74
00:03:34,350 –> 00:03:37,590
بنابراین همانطور که از نام نشان میدهد mr
75
00:03:37,590 –> 00:03:41,300
o مخفف مرتبه تفکیک روش است و
76
00:03:41,300 –> 00:03:44,600
این ترتیبی است که متدها
77
00:03:44,60