در این مطلب، ویدئو آموزش پایتون برای مبتدیان 26 – آیا می توان چند سازنده در پایتون تعریف کرد؟ با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,370
سلام بچه ها به ویدیوی بعدی
2
00:00:02,370 –> 00:00:04,589
آموزش پایتون برای مبتدیان خوش آمدید در
3
00:00:04,589 –> 00:00:06,810
آخرین ویدیو که نحوه استفاده از
4
00:00:06,810 –> 00:00:09,960
روش init و کلمه کلیدی self در پایتون را در
5
00:00:09,960 –> 00:00:12,719
این ویدیو دیدیم همچنین در
6
00:00:12,719 –> 00:00:15,800
مورد روش init و کلمه کلیدی self بیشتر بحث خواهیم کرد،
7
00:00:15,800 –> 00:00:18,840
بنابراین بیایید شروع کنیم پس اینجا من یک
8
00:00:18,840 –> 00:00:21,570
کلاس بسیار ساده به نام hello دارم و در
9
00:00:21,570 –> 00:00:24,240
این کلاس من متدی به نام آن
10
00:00:24,240 –> 00:00:27,150
دارم و من فقط این کلاس را نمونه سازی می کنم
11
00:00:27,150 –> 00:00:30,390
و یک شی از این کلاس hello ایجاد می کنم،
12
00:00:30,390 –> 00:00:33,239
اکنون اولین سوالی که ممکن
13
00:00:33,239 –> 00:00:37,050
است پیش بیاید این است که اگر این کار را نکنم چه می شود. میخواهید از
14
00:00:37,050 –> 00:00:40,140
این کلمه کلیدی خود استفاده کنید، میتوانید مستقیماً ببینید
15
00:00:40,140 –> 00:00:43,079
که یک خط قرمز قرمز
16
00:00:43,079 –> 00:00:45,329
در اینجا ظاهر میشود که به معنای خطا است و
17
00:00:45,329 –> 00:00:48,030
این را نیز میتوانیم وقتی برنامه را اجرا میکنیم ببینیم،
18
00:00:48,030 –> 00:00:50,250
بنابراین وقتی برنامه را اجرا میکنیم،
19
00:00:50,250 –> 00:00:52,949
این خطا را به ما میدهد که در آن نوشته شده است.
20
00:00:52,949 –> 00:00:56,850
آرگومان صفر می گیرد، اما با یک آرگومان
21
00:00:56,850 –> 00:01:00,300
اکنون ممکن است بپرسید چرا می گویند که
22
00:01:00,300 –> 00:01:03,270
ما یک آرگومان به
23
00:01:03,270 –> 00:01:06,270
مقدار دهی اولیه این کلاس hello داده ایم، بنابراین همانطور
24
00:01:06,270 –> 00:01:09,080
که در ویدیوی آخر گفتم که
25
00:01:09,080 –> 00:01:12,240
وقتی یک کلاس را مقداردهی اولیه می کنید self به طور خودکار پاس داده می شود
26
00:01:12,240 –> 00:01:15,090
و آن w است. hy می گوید که یک
27
00:01:15,090 –> 00:01:19,500
آرگومان داده شده است اما در آن آرگومان صفر می گیرد
28
00:01:19,500 –> 00:01:22,170
زیرا در اینجا ما
29
00:01:22,170 –> 00:01:25,590
هیچ آرگومانی در داخل این پرانتز نیاورده ایم بنابراین
30
00:01:25,590 –> 00:01:30,090
self کاملاً مهم است بنابراین شما باید
31
00:01:30,090 –> 00:01:32,100
خود را ارائه دهید اکنون سؤال دومی
32
00:01:32,100 –> 00:01:35,369
که ممکن است بپرسید این است که آیا می توانم چندگانه ایجاد کنم.
33
00:01:35,369 –> 00:01:38,070
متد init در داخل یک کلاس، پس بیایید ببینیم
34
00:01:38,070 –> 00:01:40,799
آیا این امکان وجود دارد یا نه، در اینجا
35
00:01:40,799 –> 00:01:43,619
می خواهم این کلمه کلیدی pass را بدهم به این
36
00:01:43,619 –> 00:01:46,860
معنی که این متد init یک متد خالی
37
00:01:46,860 –> 00:01:49,829
است و اجازه دهید یک متد init دوم ایجاد کنم
38
00:01:49,829 –> 00:01:53,759
و این بار می خواهم یکی اضافه کنم.
39
00:01:53,759 –> 00:01:58,259
پارامتر بیشتر در اینجا بیایید بگوییم نام ok است بنابراین
40
00:01:58,259 –> 00:02:01,259
ما دو متد init را در اینجا ارائه کرده ایم
41
00:02:01,259 –> 00:02:04,710
و ببینیم چه اتفاقی می افتد بنابراین
42
00:02:04,710 –> 00:02:06,420
این نمونه کلاس است که
43
00:02:06,420 –> 00:02:10,128
من هیچ آرگومانی به این
44
00:02:10,128 –> 00:02:12,660
نمونه نداده ام بنابراین برنامه را اجرا می کنم
45
00:02:12,660 –> 00:02:13,650
46
00:02:13,650 –> 00:02:16,890
و چه چیزی در آن وجود دارد. می گوید در آن
47
00:02:16,890 –> 00:02:20,610
یک آرگومان موقعیتی مورد نیاز وجود ندارد
48
00:02:20,610 –> 00:02:24,209
که نامگذاری شده است، بنابراین معلوم می شود که اگر متد
49
00:02:24,209 –> 00:02:27,750
init چندگانه را در کلاس پایتون خود init meth ارائه دهید، نمی توان چندین متد init را
50
00:02:27,750 –> 00:02:32,040
در کلاس پایتون
51
00:02:32,040 –> 00:02:34,799
ارائه داد.
52
00:02:34,799 –> 00:02:37,079
od که شما
53
00:02:37,079 –> 00:02:40,829
در نهایت تعریف می کنید به عنوان متد init اصلی در نظر گرفته می شود
54
00:02:40,829 –> 00:02:44,549
و روش دیگر بازنویسی می شود،
55
00:02:44,549 –> 00:02:48,750
بنابراین هر متد init
56
00:02:48,750 –> 00:02:52,019
که تعریف کنید در نهایت آن امضای
57
00:02:52,019 –> 00:02:55,200
متد init معتبر خواهد بود و تمام
58
00:02:55,200 –> 00:02:57,540
متد init دیگری که ایجاد
59
00:02:57,540 –> 00:03:00,390
می کنید بازنویسی می شود. آخرین
60
00:03:00,390 –> 00:03:03,450
روش init خوب است، بنابراین اجازه دهید
61
00:03:03,450 –> 00:03:06,540
نام آرگومان را در اینجا ارائه کنیم، بنابراین من
62
00:03:06,540 –> 00:03:09,450
فقط یک آرگومان را در اینجا ارائه می کنم و سپس
63
00:03:09,450 –> 00:03:12,420
این کد را اجرا می کنم و کاملاً خوب کار می کند،
64
00:03:12,420 –> 00:03:16,140
خوب اجازه دهید این ترتیب را برعکس کنم، بنابراین
65
00:03:16,140 –> 00:03:19,290
به جای استفاده از این init در بالا، من
66
00:03:19,290 –> 00:03:21,840
از init استفاده می کند که هیچ
67
00:03:21,840 –> 00:03:25,889
پارامتری را در پایین نمی گیرد، حالا خوب است و
68
00:03:25,889 –> 00:03:29,160
ما این آرگومان را ارائه دادیم و اجازه دهید کد را اجرا کنیم
69
00:03:29,160 –> 00:03:32,849
و حالا یک بار دیگر با این خطا مواجه
70
00:03:32,849 –> 00:03:36,090
می شویم که می گوید یک آرگومان موقعیتی
71
00:03:36,090 –> 00:03:39,629
می گیرد اما دو تا ارائه شده است، بنابراین یک
72
00:03:39,629 –> 00:03:42,599
موقعیتی آرگومان به این معنی است که این در
73
00:03:42,599 –> 00:03:45,060
آن فقط آرگومان self را می گیرد و
74
00:03:45,060 –> 00:03:49,139
هیچ چیز دیگری جز در اینجا self به طور خودکار ارائه می
75
00:03:49,139 –> 00:03:51,690
شود، اما ما در اینجا یک پارامتر اضافی ارائه می دهیم
76
00:03:51,690 –> 00:03:54,389
که
77
00:03:54,389 –> 00:03:57,299
مورد نیاز نیست و این به این معنی است که این آغاز می شود. ch
78
00:03:57,299 –> 00:04:01,470
که بعداً تعریف کردیم معتبر است و این
79
00:04:01,470 –> 00:04:04,349
init قبلی معتبر نیست، بنابراین همیشه
80
00:04: