در این مطلب، ویدئو آموزش پایتون 3.5 – 13. کلاس ها و دامنه با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:10,920 –> 00:00:12,969
سلام بچه ها چه خبر است، بنابراین در این
2
00:00:12,969 –> 00:00:14,559
ویدیو ما کلاس ها را بررسی می کنیم
3
00:00:14,559 –> 00:00:16,239
و یکی از ویدیوهای قبلی را بررسی کردیم
4
00:00:16,239 –> 00:00:17,950
که توابع چیست و چگونه
5
00:00:17,950 –> 00:00:19,390
توابع بسیار شبیه به آنچه در مورد آن صحبت
6
00:00:19,390 –> 00:00:21,250
کردم با متدها و متدها
7
00:00:21,250 –> 00:00:24,189
به اشیاء کلاس متصل شده است. اشیاء
8
00:00:24,189 –> 00:00:26,640
از یک کلاس ایجاد میشوند، بنابراین یک کلاس را میتوان
9
00:00:26,640 –> 00:00:29,289
اساساً بهعنوان نقشهای برای
10
00:00:29,289 –> 00:00:32,500
نحوه ایجاد یک شی در نظر گرفت که به
11
00:00:32,500 –> 00:00:34,120
آن شیء نوعی Factory نیز میگویند، بنابراین
12
00:00:34,120 –> 00:00:36,519
این فقط دستورالعملهایی است در مورد نحوه ایجاد
13
00:00:36,519 –> 00:00:38,710
یک شی و آنچه که آن شی میتواند در آن انجام
14
00:00:38,710 –> 00:00:41,230
دهد. برای ایجاد یک کلاس در پایتون
15
00:00:41,230 –> 00:00:42,820
3.5 بسیار آسان است ما فقط باید کلاس را بگوییم
16
00:00:42,820 –> 00:00:46,360
و ما فقط آن را کلاس من می نامیم و
17
00:00:46,360 –> 00:00:47,649
تمام آن است و سپس فقط یک دونقطه
18
00:00:47,649 –> 00:00:48,850
تا دقیقاً مانند عبارت تعریف شده
19
00:00:48,850 –> 00:00:50,379
برای توابعی که داریم به نظر برسد.
20
00:00:50,379 –> 00:00:53,320
ساخته شده است، به جز اینکه متفاوت است، بنابراین یک کلاس
21
00:00:53,320 –> 00:00:55,590
از مجموعه ای از توابع مختلف تشکیل
22
00:00:55,590 –> 00:00:57,820
می شود، اما آنها
23
00:00:57,820 –> 00:00:59,170
واقعا متد نامیده می شوند، زیرا
24
00:00:59,170 –> 00:01:01,090
به یک شی کلاس متصل هستند، بنابراین اگر بگویم
25
00:01:01,090 –> 00:01:05,649
تست تعریف شده، به نظر می رسد یک تابع است. n
26
00:01:05,649 –> 00:01:08,560
اما این شما باید اصطلاحات را بدانید
27
00:01:08,560 –> 00:01:09,580
که قرار است به
28
00:01:09,580 –> 00:01:12,399
عنوان یک روش در نظر گرفته شود زیرا در زیر یک
29
00:01:12,399 –> 00:01:20,200
کلاس قرار دارد، بنابراین اگر
30
00:01:20,200 –> 00:01:22,300
بخواهم واقعاً کاری انجام دهم با استفاده از
31
00:01:22,300 –> 00:01:23,860
این کلاس، باید یک شی
32
00:01:23,860 –> 00:01:27,130
از آن ایجاد کنم تا بتوانم بگویم. X برابر با کلاس من است
33
00:01:27,130 –> 00:01:29,220
و من اکنون پرانتزهای باز و بسته را انجام می دهم
34
00:01:29,220 –> 00:01:33,520
X شیئی است
35
00:01:33,520 –> 00:01:35,619
که از این کلاس ایجاد شده است، بنابراین می
36
00:01:35,619 –> 00:01:39,580
توانم آزمایش نقطه X را بگویم و متدی را که
37
00:01:39,580 –> 00:01:41,679
به شما گفته بودم صدا بزنم، بنابراین من
38
00:01:41,679 –> 00:01:46,830
شی ها را فراخوانی می کنم. و روش، بنابراین، اگر من این را اجرا کنم
39
00:01:48,189 –> 00:01:50,409
یکی از چیزهایی که پایتون واقعاً
40
00:01:50,409 –> 00:01:52,450
در مورد آن عجیب است این است که شما باید به
41
00:01:52,450 –> 00:01:54,819
صراحت و استدلال را به
42
00:01:54,819 –> 00:01:56,799
خودش بفرستید و این معنی ندارد،
43
00:01:56,799 –> 00:01:58,569
به خصوص برای کسی که تازه
44
00:01:58,569 –> 00:02:03,549
شروع کرده است و من سعی می کنم به آن فکر کنم.
45
00:02:03,549 –> 00:02:04,990
بهترین راه برای توضیح آن است، اما
46
00:02:04,990 –> 00:02:06,850
صادقانه بگویم، توضیح آن بسیار دشوار است،
47
00:02:06,850 –> 00:02:08,288
اما زمانی که یک شی و
48
00:02:08,288 –> 00:02:10,000
زمانی که یک شی از این
49
00:02:10,000 –> 00:02:12,489
طرح اولیه ایجاد می شود، برای اینکه بتواند
50
00:02:12,489 –> 00:02:14,799
متدهای شی خود را فراخوانی کند، باید
51
00:02:14,799 –> 00:02:16,840
در واقع خودش را پاس کند. به عنوان اولین
52
00:02:16,840 –> 00:02:19,480
آرگومان برای هر نوع متدی که
53
00:02:19,480 –> 00:02:21,549
در زیر آن شی دارید، بنابراین شما به تازگی فرستاده
54
00:02:21,549 –> 00:02:22,870
اید، اساساً باید عادت کنید
55
00:02:22,870 –> 00:02:26,019
که خود را به عنوان اولین آرگومان
56
00:02:26,019 –> 00:02:28,239
برای هر متدی که در
57
00:02:28,239 –> 00:02:36,730
کلاس شما وجود دارد، قرار دهید و من می دانم که این کار ساده است، اما
58
00:02:36,730 –> 00:02:38,890
شما با انجام این کار می بینید. که اکنون کار میکند و همان
59
00:02:38,890 –> 00:02:42,549
کاری را که ما انتظار داریم انجام میدهد، بنابراین
60
00:02:42,549 –> 00:02:44,109
احتمالاً از خود میپرسید که
61
00:02:44,109 –> 00:02:51,700
X چیست، بنابراین برای اینکه بتواند آن تست را بداند،
62
00:02:51,700 –> 00:02:52,650
همان طور که
63
00:02:52,650 –> 00:02:55,239
گفتم عجیب است، پس فقط
64
00:02:55,239 –> 00:02:57,040
عادت به انجام دادن داشته باشید. خود در مورد
65
00:02:57,040 –> 00:02:58,660
روشهای خود هر نوع روشی که در
66
00:02:58,660 –> 00:03:02,230
داخل یک کلاس است، اکنون یک چیزی که
67
00:03:02,230 –> 00:03:03,819
میخواهم سعی کنم بدون پیچیدهتر شدن برای شما توضیح دهم
68
00:03:03,819 –> 00:03:07,060
این است که
69
00:03:07,060 –> 00:03:09,880
محدوده در پایتون چگونه کار میکند و من در نظر دارم یک
70
00:03:09,880 –> 00:03:11,169
زبان برنامهنویسی را میتوان
71
00:03:11,169 –> 00:03:16,840
به دو صورت در نظر گرفت. متغیرها می توانند
72
00:03:16,840 –> 00:03:19,540
نام یکسانی داشته باشند اما مقادیر آنها می
73
00:03:19,540 –> 00:03:22,419
تواند بسته به محدوده
74
00:03:22,419 –> 00:03:25,239
نحوه فراخوانی آن متغیر متفاوت باشد، بنابراین
75
00:03:25,239 –> 00:03:26,620
برای درک آن، اجازه دهید فقط یک
76
00:03:26,620 –> 00:03:29,430
مثال در اینجا بیاورم، می خواهیم بگوییم
77
00:03:29,430 –> 00:03:34,060
متغیر scope برابر است با این مقیاس جهانی pe
78
00:03:34,060 –> 00:03:37,630
بنابراین هر چیزی که هر نوع متغیری باشد
79
00:03:37,630 –> 00:03:39,489
که قرار است خارج از
80
00:03:39,489 –> 00:03:40,810
یک متد کلاس اعلان شود یا چیزی شبیه به آن،
81
00:03:40,810 –> 00:03:42,430
مخصوصاً می دانید که این
82
00:03:42,430 –> 00:03:45,010
شروع خاص برنامه این متغیر
83
00:03:45,010 –> 00:03:47,650
در حافظه و
84
00:03:47,650 –> 00:03:50,739
بلوک اصلی اجرای کد قرار می گیرد. بنابراین
85
00:03:50,739 –> 00:03:52,239
این به عنوان یک متغیر جهانی شناخته میشود،
86
00:03:52,239 –> 00:03:54,760
بنابراین زیاد به آن فکر نکنید،
87
00:03:54,760 –> 00:03:57,970
اما فقط بدانید که اکنون جهانی است اگر
88
00:03:57,970 –> 00:04:01,259
جلوتر برویم و
89
00:04:01,450 –> 00:04:07,760
تعریف کنیم که در اینجا میتوانیم
90
00:04:07,760 –> 00:04:09,740
در واقع مقدار را تغییر دهیم، بنابراین مقدار را تغییر میدهیم
91
00:04:09,740 –> 00:04:12,620
. مقداری که واقعاً چیز
92
00:04:12,620 –> 00:04:14,810
شگفتانگیزی نیست، اما به جای
93
00:04:14,810 –> 00:04:16,370
چاپ آن، متغیر scope را چاپ میکنیم،
94
00:04:16,370 –> 00:04:19,970
بنابراین بدیهی است که
95
00:04:19,970 –> 00:04:21,108
وقتی این را صدا میزنیم، چه
96
00:04:21,108 –> 00:04:22,700
اتفاقی میافتد، متغیر scope خواهیم
97
00:04:22,700 –> 00:04:31,790
داشت که متغیر جهانی را بازنویسی میکند. ما گفتیم
98
00:04:31,790 –> 00:04:35,150
مقدار را تغییر دهید، بنابراین این محلی دامپزشکی،
99
00:04:35,150 –> 00:04:38,810
این محلی، این محدوده،
100
00:04:38,810 –> 00:04:40,940
مقدار واقعی جهانی را تغییر داد و حتی اگر ما
101
00:04:40,940 –> 00:04:43,580
آن را از داخل کلاس خود اجرا می کنیم،
102
00:04:43,580 –> 00:04:47,590
مهم است که اگر من می گویم متغیر scope چاپ
103
00:04:47,590 –> 00:04:52,840
می بینید که wh در
104
00:04:53,200 –> 00:04:56,630
حال انجام است، ما در واقع دامنه جهانی را بازنویسی نکردیم،
105
00:04:56,630 –> 00:04:58,970
بنابراین فقط برای اینکه بدانید همه چیز در
106
00:04:58,970 –> 00:05:01,400
پایتون یک شی است و ارجاع
107
00:05:01,400 –> 00:05:05,240
به یک نقطه حافظه است، بنابراین وقتی
108
00:05:05,240 –> 00:05:07,550
برنامه ایجاد شد، متغیر ایجاد می شود و
109
00:05:07,550 –> 00:05:10,400
سپس یک نقطه حافظه برای آن تعریف می شود.
110
00:05:10,400 –> 00:05:13,970
این مقدار یک دامنه جهانی است و سپس
111
00:05:13,970 –> 00:05:16,040
آن را در یک محدوده دیگر اجرا می
112
00:05:16,040 –> 00:05:17,750
کنیم و مقدار را تغییر می دهیم اما
113
00:05:17,750 –> 00:05:21,590
نسخه اصلی را بازنویسی نمی کنیم بنابراین با استفاده از
114
00:05:21,590 –> 00:05:23,570
کلاس ها و اشیاء در پایتون می توانید
115
00:05:23,570 –> 00:05:25,130
در واقع محدوده برنامه خود را کنترل کنید
116
00:05:25,130 –> 00:05:27,830
تا واقعاً داشته باشد. متغیرهایی که
117
00:05:27,830 –> 00:05:30,560
فقط در بلوک
118
00:05:30,560 –> 00:05:32,960
اجرایی کلاسی که شما تعریف میکنید وجود دارد، به
119
00:05:32,960 –> 00:05:35,410
طوری که شما یک کلاس سرکش که
120
00:05:35,410 –> 00:05:38,870
تصادفاً متغیرهای سراسری را لغو میکند و
121
00:05:38,870 –> 00:05:40,400
ممکن است در سراسر برنامه شما و سایر مناطق ارجاع داده شوند، نداشته باشید، در
122
00:05:40,400 –> 00:05:43,250
غیر این صورت
123
00:05:43,250 –> 00:05:44,690
ممکن است یک کلاس به طور تصادفی این کار را انجام
124
00:05:44,690 –> 00:05:46,040
دهد. و ناگهان باعث
125
00:05:46,040 –> 00:05:47,570
خرابی بقیه برنامه می شود که
126
00:05:47,570 –> 00:05:49,340
ممکن است به متغیر scope تکیه کنند، به
127
00:05:49,340 –> 00:05:50,720
همین دلیل است که نمی خواهید این
128
00:05:50,720 –> 00:05:54,919
اتفاق در حال حاضر رخ دهد، معمولاً زمانی که شما ساختن مجدد
129
00:05:54,919 –> 00:05:57,830
یک شی کلاس پایتون متد عجیبی دارد
130
00:05:57,830 –> 00:06:00,110
که روش سازنده ساخت آن در نظر گرفته می
131
00:06:00,110 –> 00:06:02,210
شود که روش چشم نت
132
00:06:02,210 –> 00:06:04,070
است و اینها در
133
00:06:04,070 –> 00:06:06,620
واقع دو خط زیر هستند و
134
00:06:06,620 –> 00:06:08,600
204 آن را فشرده می کنند و سپس دو زیرخط و
135
00:06:08,600 –> 00:06:11,000
مخفف مقداردهی اولیه و فقط
136
00:06:11,000 –> 00:06:13,550
مانند روش زیر، شما باید
137
00:06:13,550 –> 00:06:16,520
کلمه کلیدی خود را در واقع ارسال کنید و کاری که انجام
138
00:06:16,520 –> 00:06:18,289
می دهد این است که اجرا می شود،
139
00:06:18,289 –> 00:06:22,610
هر بار که یک شی ایجاد می شود، شلیک می شود، بنابراین وقتی
140
00:06:22,610 –> 00:06:24,259
این در اینجا ایجاد شد،
141
00:06:24,259 –> 00:06:26,150
بدون نیاز
142
00:06:26,150 –> 00:06:28,460
به فراخوانی خاص آن را به طور خودکار فراخوانی می کند.
143
00:06:28,460 –> 00:06:30,979
به همین دلیل است که روش inet
144
00:06:30,979 –> 00:06:33,590
و پایتون را زیاد می بینید و اینجا جایی است که ما
145
00:06:33,590 –> 00:06:35,780
معمولاً می گوییم چیزی مانند
146
00:06:35,780 –> 00:06:43,639
متغیر