در این مطلب، ویدئو هر آنچه باید در مورد کلاس ها در پایتون بدانید! (آموزش برنامه نویسی شی گرا) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:33:48
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,949
سلام بچه ها و دختران چه خبر و
2
00:00:01,949 –> 00:00:04,200
به یک ویدیوی دیگر خوش آمدید امروز ما در
3
00:00:04,200 –> 00:00:06,930
مورد عینک
4
00:00:06,930 –> 00:00:11,269
5
00:00:11,269 –> 00:00:13,230
6
00:00:13,230 –> 00:00:15,000
7
00:00:15,000 –> 00:00:16,949
8
00:00:16,949 –> 00:00:18,359
صحبت خواهیم کرد.
9
00:00:18,359 –> 00:00:21,660
یک دانشمند داده، یک توسعهدهنده اپلیکیشن موبایل،
10
00:00:21,660 –> 00:00:23,820
یک مهندس بکاند که باید
11
00:00:23,820 –> 00:00:26,400
در مورد کلاسها بدانید در این ویدیو ما
12
00:00:26,400 –> 00:00:28,769
با اصول اولیه کلاس ما شروع میکنیم که
13
00:00:28,769 –> 00:00:31,080
چگونه میتوانیم آنها را در پایتون تعریف کنیم، چه زمانی
14
00:00:31,080 –> 00:00:33,480
و چرا باید از آنها استفاده کنیم و به عنوان ما
15
00:00:33,480 –> 00:00:34,980
در طول ویدیو میرویم،
16
00:00:34,980 –> 00:00:36,719
مفاهیم پیشرفتهتری را ایجاد میکنیم، میدانید که
17
00:00:36,719 –> 00:00:38,700
در مورد طبقهبندی فرعی صحبت خواهیم کرد، در مورد
18
00:00:38,700 –> 00:00:41,100
بارگذاری بیش از حد اپراتور صحبت خواهیم کرد و سعی
19
00:00:41,100 –> 00:00:43,050
میکنم آن را بسیار بصری کنم تا بتوانید
20
00:00:43,050 –> 00:00:45,690
این مفاهیم را به سرعت بررسی کنید. و به
21
00:00:45,690 –> 00:00:47,789
طور موثر قبل از شروع
22
00:00:47,789 –> 00:00:49,230
میخواهم یک فریاد سریع به این حامی ویدیو بدهم
23
00:00:49,230 –> 00:00:51,960
و آن این است که kite kite یک
24
00:00:51,960 –> 00:00:53,760
25
00:00:53,760 –> 00:00:55,980
ابزار تکمیل کد مبتنی بر یادگیری ماشین برای پایتون است که با
26
00:00:55,980 –> 00:00:58,920
همه ویرایشگرهای محبوب مانند مانند کار میکند. e atom vs
27
00:00:58,920 –> 00:01:03,270
code sublime vim و pycharm kite تا
28
00:01:03,270 –> 00:01:05,040
با ارائه انواع
29
00:01:05,040 –> 00:01:07,650
پیشنهادات تکمیل کد مرتبسازی شده بر اساس
30
00:01:07,650 –> 00:01:09,390
ارتباط، سریعتر کدنویسی کنید و میتواند تکمیلهایی را به شما ارائه دهد
31
00:01:09,390 –> 00:01:11,670
که تا خطوط کامل
32
00:01:11,670 –> 00:01:13,500
کد هستند که اگر
33
00:01:13,500 –> 00:01:15,180
مایل به بررسی هستید واقعاً جالب است. out kite من یک
34
00:01:15,180 –> 00:01:17,070
لینک در توضیحات گذاشتم من
35
00:01:17,070 –> 00:01:18,150
حدود یک ماه است که دارم با بادبادک بازی می
36
00:01:18,150 –> 00:01:20,280
کنم و تجربه بسیار خوبی
37
00:01:20,280 –> 00:01:22,080
داشته ام که فوق العاده سرگرم کننده است و باعث
38
00:01:22,080 –> 00:01:24,030
شده است که یکی از بهترین
39
00:01:24,030 –> 00:01:25,650
قسمت هایی که فراموش کردم به آن اشاره کنم سریعتر کدنویسی کنم. آیا دانلود آن
40
00:01:25,650 –> 00:01:27,210
کاملا رایگان است، بنابراین
41
00:01:27,210 –> 00:01:28,530
حتماً آن لینک در
42
00:01:28,530 –> 00:01:30,930
توضیحات را بررسی کنید، اما بدون هیچ مقدمه ای
43
00:01:30,930 –> 00:01:34,170
بیایید وارد این ویدیو شویم تا شروع کنیم، من
44
00:01:34,170 –> 00:01:35,159
می خواهم کمی پیش زمینه را
45
00:01:35,159 –> 00:01:37,170
در مورد اینکه چرا باید از کلاس ها استفاده کنیم، ارائه دهم، بنابراین زمانی که
46
00:01:37,170 –> 00:01:38,670
من در MIT بودم، ما مدلی داشت که
47
00:01:38,670 –> 00:01:40,170
اگر میخواهید کد خوبی بنویسید، باید
48
00:01:40,170 –> 00:01:42,479
از اشکالات آسان در امان باشد
49
00:01:42,479 –> 00:01:44,430
و برای تغییر در کلاسها و
50
00:01:44,430 –> 00:01:46,079
برنامهنویسی شیگرا آماده باشد که واقعاً
51
00:01:46,079 –> 00:01:48,180
به این سه نقطه ضربه میزند، آنها کد ما را
52
00:01:48,180 –> 00:01:50,520
با اجازه دادن به آن از اشکالات ایمن میکنند. برای
53
00:01:50,520 –> 00:01:51,840
جداسازی بخشهای مختلف
54
00:01:51,840 –> 00:01:53,759
سیستم خود، میتوانیم به راحتی موارد آزمایشی را
55
00:01:53,759 –> 00:01:56,820
برای یک کلاس خاص بنویسیم، در حالی
56
00:01:56,820 –> 00:01:57,930
که جزئیات سایر وابستگیها را انتزاع میکنیم،
57
00:01:57,930 –> 00:02:00,180
آنها کد ما را
58
00:02:00,180 –> 00:02:03,060
با ارائه ساختار کدمان به راحتی درک میکنند،
59
00:02:03,060 –> 00:02:05,670
میتوانیم همه متغیرها را گروهبندی کنیم.
60
00:02:05,670 –> 00:02:08,038
و متدهایی که به نوعی یک شی
61
00:02:08,038 –> 00:02:10,619
و عملکرد را با هم به اشتراک می گذارند و
62
00:02:10,619 –> 00:02:12,420
اشیا را از یکدیگر جدا می کنند و سپس
63
00:02:12,420 –> 00:02:13,350
کد ما را آماده
64
00:02:13,350 –> 00:02:15,840
می کنند، ما به راحتی می توانیم متدهای کلاس جدید را به
65
00:02:15,840 –> 00:02:18,150
اشیاء موجود اضافه کنیم و اگر زمانی نیاز به
66
00:02:18,150 –> 00:02:19,950
ارائه عملکرد کاملاً جدید داشته باشیم،
67
00:02:19,950 –> 00:02:21,870
همیشه می توانیم یک شیء جدید در حالی
68
00:02:21,870 –> 00:02:23,580
که هیچ چیز دیگری را که قبلاً نوشتهایم خراب نمیکنیم،
69
00:02:23,580 –> 00:02:25,560
من فقط میتوانم خیلی چیزها را به شما یاد بدهم،
70
00:02:25,560 –> 00:02:26,880
اما با گفتن همه اینها،
71
00:02:26,880 –> 00:02:28,950
بیایید شروع به نوشتن کدی کنیم تا
72
00:02:28,950 –> 00:02:31,080
واقعاً بتوانید خودتان از آن استفاده کنید. من
73
00:02:31,080 –> 00:02:33,450
از پایتون استفاده خواهم کرد. 3 و متن عالی به عنوان
74
00:02:33,450 –> 00:02:35,520
ویرایشگر من و بیایید با
75
00:02:35,520 –> 00:02:38,610
نوشتن اولین کلاس خود شروع کنیم و من می خواهم این بازدید از
76
00:02:38,610 –> 00:02:40,680
این آموزش بسیار بصری باشد، بنابراین
77
00:02:40,680 –> 00:02:42,300
من از شکل ها به عنوان یک نوع
78
00:02:42,300 –> 00:02:44,070
exa استفاده خواهم کرد. برای شروع، بیایید
79
00:02:44,070 –> 00:02:46,320
کلاسی به نام چند ضلعی تعریف کنیم و بنابراین
80
00:02:46,320 –> 00:02:49,050
قرارداد برای انجام این کار کلاس است و سپس
81
00:02:49,050 –> 00:02:50,850
معمولاً کلاس خود را با یک حرف بزرگ تعریف می کنید،
82
00:02:50,850 –> 00:02:54,090
بنابراین ما این کلاس چند ضلعی را داریم،
83
00:02:54,090 –> 00:02:57,410
بنابراین چند ضلعی ها مثلث ها مربع
84
00:02:57,410 –> 00:03:00,420
شش ضلعی های پنتاگون و غیره هستند که این چیزی است که می
85
00:03:00,420 –> 00:03:01,850
خواهیم انجام دهیم. با این کلاس تعریف کنید،
86
00:03:01,850 –> 00:03:05,430
بنابراین برای شروع وقتی که یک چند
87
00:03:05,430 –> 00:03:08,010
ضلعی تعریف می کنیم، آن را با تعداد
88
00:03:08,010 –> 00:03:11,100
اضلاع مشخص و یک نام یا چیزی تعریف می کنیم، بنابراین وقتی
89
00:03:11,100 –> 00:03:13,050
چیزها را در یک کلاس مقداردهی اولیه می کنیم، همیشه
90
00:03:13,050 –> 00:03:14,490
از این قرارداد استفاده می کنیم و ممکن است کمی عجیب به نظر برسد.
91
00:03:14,490 –> 00:03:16,530
اول، اما
92
00:03:16,530 –> 00:03:19,350
در طول این آموزش خواهید دید که چرا مفید است،
93
00:03:19,350 –> 00:03:22,890
بنابراین ما تعریف را در آن انجام می دهیم و سپس اولین
94
00:03:22,890 –> 00:03:25,110
پارامتری که همیشه به روش بافتنی خود وارد می کنیم
95
00:03:25,110 –> 00:03:29,700
، self است و سپس باید به این فکر کنیم
96
00:03:29,700 –> 00:03:31,980
که چه چیزی برای یک چند ضلعی مهم است،
97
00:03:31,980 –> 00:03:34,020
شاید تعداد اضلاع مهم است
98
00:03:34,020 –> 00:03:35,610
چه می دانید چهار ضلع در
99
00:03:35,610 –> 00:03:37,320
مربع ما دارید یا اگر پنج ضلع در پنتاگون ما دارید
100
00:03:37,320 –> 00:03:39,690
و شاید ما بخواهیم
101
00:03:39,690 –> 00:03:41,550
نامی هم برای آن بگذاریم، بنابراین چند ضلعی
102
00:03:41,550 –> 00:03:44,130
هاتون را با تعداد اضلاع و
103
00:03:44,130 –> 00:03:46,080
نام یک تعریف می کنیم. d آخرین مرحله هر زمان
104
00:03:46,080 –> 00:03:48,420
که چیزها را مقداردهی اولیه کنید و این
105
00:03:48,420 –> 00:03:50,400
در ابتدا معنی نخواهد داشت، اما همانطور که من از
106
00:03:50,400 –> 00:03:53,130
آن عبور می کنم منطقی است که ما انجام می دهیم اضلاع خود نقطه
107
00:03:53,130 –> 00:03:58,320
برابر است و نام خود نقطه برابر است با
108
00:03:58,320 –> 00:04:02,610
نام، خوب با این که ما اولین کلاس خود را تعریف کرده ایم،
109
00:04:02,610 –> 00:04:04,350
بیایید ببینیم چند مثال
110
00:04:04,350 –> 00:04:07,530
از ما که از این کلاس در عمل استفاده می کنیم، بنابراین من می
111
00:04:07,530 –> 00:04:09,030
خواهم با تعریف مربعی
112
00:04:09,030 –> 00:04:12,750
که برابر با یک چند ضلعی است شروع کنم و بر اساس
113
00:04:12,750 –> 00:04:16,649
آنچه در این بافتنی تنظیم می کنیم،
114
00:04:16,649 –> 00:04:18,600
باید در دو طرف یک نام بگذاریم تا یک چند ضلعی تعریف کنیم.
115
00:04:18,600 –> 00:04:20,370
ما باید از اضلاع عبور کنیم
116
00:04:20,370 –> 00:04:23,250
و بنابراین بیایید مربعی را تعریف کنیم که دارای
117
00:04:23,250 –> 00:04:25,320
چهار ضلع است و سپس نام آن را می گذاریم
118
00:04:25,320 –> 00:04:26,150
119
00:04:26,150 –> 00:04:29,750
و همچنین یک پنتاگون را تعریف می کنیم تا
120
00:04:29,750 –> 00:04:33,680
پنتاگون یک چند ضلعی با پنج ضلع باشد
121
00:04:33,680 –> 00:04:40,760
و نام پنتاگون جالب است
122
00:04:40,760 –> 00:04:46,010
و اکنون کاری که میتوانیم انجام دهیم این است که میتوانم اضلاع مربع را چاپ کنم
123
00:04:46,010 –> 00:04:47,150
124
00:04:47,150 –> 00:04:52,310
و همانطور که میبینید میگوید
125
00:04:52,310 –> 00:04:56,900
چهار در اینجا میگوید من میتوانم نام نقطه مربع را چاپ
126
00:04:56,900 –> 00:05:01,270
کنم و میگوید مربع، بنابراین ما
127
00:05:01,270 –> 00:05:03,860
اساساً آنچه اتفاق افتاده است با تغذیه
128
00:05:03,860 –> 00:05:06,890
در این پارامترهای 4 و مربع
129
00:05:06,890 –> 00:05:09,980
ما است. گذشت در ما یک
130
00:05:09,980 –> 00:05:14,180
کلاس چند ضلعی ایجاد کرده ایم و whe n اینها را به داخل منتقل می
131
00:05:14,180 –> 00:05:17,090
کنیم و اضلاع را تنظیم می کنیم و نام را
132
00:05:17,090 –> 00:05:20,120
از طریق این روش در آن تنظیم می کنیم و همانطور که می
133
00:05:20,120 –> 00:05:23,290
بینید با
134
00:05:28,100 –> 00:05:30,980
پنج ضلعی های پنتاگون هر دو طرف را می بینید و سپس می توانیم
135
00:05:30,980 –> 00:05:36,170
یک نام نقطه پنتاگون را چاپ کنیم
136
00:05:36,170 –> 00:05:37,340
همین مورد برای پنتاگون نیز صادق است
137
00:05:37,340 –> 00:05:38,780
. ما به نوعی
138
00:05:38,780 –> 00:05:41,000
اطلاعات را از طریق
139
00:05:41,000 –> 00:05:43,100
این کلاس چند ضلعی مربع و
140
00:05:43,100 –> 00:05:45,530
پنتاگون کپسوله کرده ایم و برای روشن کردن سریع تنها
141
00:05:45,530 –> 00:05:47,930
چیزهایی که باید به روش خود منتقل کنیم،
142
00:05:47,930 –> 00:05:49,730
بنابراین هنگامی که چند ضلعی را مقداردهی اولیه می کنیم
143
00:05:49,730 –> 00:05:52,820
، موارد بعد از این موارد است.
144
00:05:52,820 –> 00:05:56,210
بعد از خود طرفین نامی که من
145
00:05:56,210 –> 00:05:57,800
در این ویدیو کمی به خودم خواهم رسید،
146
00:05:57,800 –> 00:06:00,350
اما فقط به خاطر داشته باشید
147
00:06:00,350 –> 00:06:02,450
که وقتی این اشیاء را ایجاد می کنید، فقط
148
00:06:02,450 –> 00:06:04,130
باید نگران چیزهای بعد از خود باشید،
149
00:06:04,130 –> 00:06:05,810
حالا خیلی خوب است که بتوانید تمام این
150
00:06:05,810 –> 00:06:07,400
اطلاعات را در مورد کلاس هایی که مقداردهی اولیه کرده ایم ببینید،
151
00:06:07,400 –> 00:06:09,200
اما اجازه دهید به جلو برویم و کاری را انجام
152
00:06:09,200 –> 00:06:10,310
دهیم که واقعاً خنک تر است و این در
153
00:06:10,310 –> 00:06:12,830
واقع شکل ها را بر اساس
154
00:06:12,830 –> 00:06:15,860
پارامترهایی که به کلاس ارسال می
155
00:06:15,860 –> 00:06:19,160
کنیم ترسیم می کنیم تا بتوانیم یک متد کلاس تعریف کنیم، بنابراین
156
00:06:19,160 –> 00:06:20,600
من می خواهم کلاس met را تعریف کنید hod به نام
157
00:06:20,600 –> 00:06:22,640
draw است و معمولاً میخواستم
158
00:06:22,640 –> 00:06:24,260
متدی پیدا کنم اگر نیازی به پاس دادن به هیچ
159
00:06:24,260 –> 00:06:26,390
متغیری نداشته باشم، میتوانیم آن را مانند این
160
00:06:26,390 –> 00:06:29,480
قرعهکشی انجام دهیم و شما میدانید و میدانید که
161
00:06:29,480 –> 00:06:31,910
عملکردهای اینجا را همانطور که ما نیاز داریم، اما
162
00:06:31,910 –> 00:06:34,010
چون این یک متد کلاسی است. اولین
163
00:06:34,010 –> 00:06:35,210
کاری که می خواهیم انجام دهیم این است
164
00:06:35,210 –> 00:06:40,100
که خودمان را به این روش منتقل کنیم و به
165
00:06:40,100 –> 00:06:41,930
آرامی شروع به ساختن
166
00:06:41,930 –> 00:06:44,000
خود می کنیم اما اساساً ما این
167
00:06:44,000 –> 00:06:46,460
ویژگی ها را در طرف کلاس خود داریم و نام
168
00:06:46,460 –> 00:06:49,310
خود را به متد کلاس خود منتقل می کنیم.
169
00:06:49,310 –> 00:06:51,110
به ما اجازه می دهد تا به این پارامترها دسترسی داشته باشیم
170
00:06:51,110 –> 00:06:54,080
بدون اینکه مجبور باشیم
171
00:06:54,080 –> 00:06:57,440
هر بار که می خواهید از این تابع استفاده کنید عمدتاً نام طرفین را تایپ کنید،
172
00:06:57,440 –> 00:06:59,720
بنابراین ما می توانیم با عبور خود به آنها دسترسی داشته باشیم
173
00:06:59,720 –> 00:07:01,370
و این
174
00:07:01,370 –> 00:07:03,170
در یک ثانیه منطقی خواهد بود و همچنین ما به راهی برای ترسیم واقعی نیاز داریم.
175
00:07:03,170 –> 00:07:05,720
چند ضلعی بنابراین برای انجام این کار،
176
00:07:05,720 –> 00:07:08,270
بیایید کتابخانه لاک پشت را وارد کنیم، این یک
177
00:07:08,270 –> 00:07:12,110
کتابخانه بصری آسان برای پایتون است و
178
00:07:12,110 –> 00:07:13,940
چیز جالبی است که به آن اشاره کردم، نمی دانم که
179
00:07:13,940 –> 00:07:15,350
آیا سمت راست صفحه من را دیدید یا نه،
180
00:07:15,350 –> 00:07:17,150
اما من در حال حاضر از کایت
181
00:07:17,150 –> 00:07:19,280
کمکی و چیزی استفاده می کنم که واقعا
182
00:07:19,280 –> 00:07:21,980
جالبه این است که مکان مکان نما من
183
00:07:21,980 –> 00:07:24,770
را روی صفحه ردیابی می کند و می تواند
184
00:07:24,770 –> 00:07:27,110
انواع اسناد را در مورد
185
00:07:27,110 –> 00:07:29,990
جایی که در کد قرار دارم به من بگوید که بسیار
186
00:07:29,990 –> 00:07:32,390
خوب است و اگر ویدیوهای من را می شناسید من
187
00:07:32,390 –> 00:07:34,760
همیشه در جستجوهای Google برای
188
00:07:34,760 –> 00:07:37,370
اسناد می کشم. این یک ویژگی واقعاً مفید
189
00:07:37,370 –> 00:07:40,120
برای من است تا دوست داشته
190
00:07:40,120 –> 00:07:42,220
باشم وقتی کد را می نویسم جهش را بدانم بنابراین
191
00:07:42,220 –> 00:07:43,630
ما کتابخانه لاک پشت را وارد
192
00:07:43,630 –> 00:07:47,919
می کنیم و می خواهیم شکل خود را ترسیم کنیم تا روشی
193
00:07:47,919 –> 00:07:49,330
که می توانیم در مورد آن فکر کنیم این است که به یک برای
194
00:07:49,330 –> 00:07:52,270
برای هر ضلع به شکل خود حلقه بزنید و
195
00:07:52,270 –> 00:07:54,160
بیایید اینها را به عنوان چند ضلعی های منظم در نظر بگیریم
196
00:07:54,160 –> 00:07:56,680
تا هر کدام اندازه یکسانی داشته باشند، بنابراین برای
197
00:07:56,680 –> 00:07:59,020
یافتن این روش ترسیم می توانیم
198
00:07:59,020 –> 00:08:02,919
کاری شبیه به I در محدوده اضلاع خود نقطه
199
00:08:02,919 –> 00:08:04,690
انجام دهیم، بنابراین هر عددی را
200
00:08:04,690 –> 00:08:06,460
که می گیریم به دست می آوریم. از اینجا عبور کرده و سپس می
201
00:08:06,460 –> 00:08:08,889
خواهیم به نقطه لاک پشت جلو برویم،
202
00:08:08,889 –> 00:08:12,490
می گوییم بیایید بگوییم شاید صد صد
203
00:08:12,490 –> 00:08:16,600
پیکسل و سپس نقطه لاک پشت هوم، اکنون
204
00:08:16,600 –> 00:08:19,300
باید یک زاویه خاص را بچرخانیم، بنابراین اگر
205
00:08:19,300 –> 00:08:21,010
یک مربع انجام می دهیم، این کار را انجام می دهیم. باید
206
00:08:21,010 –> 00:08:25,060
مانند نقطه لاک پشت درست نود درجه انجام دهید و
207
00:08:25,060 –> 00:08:26,710
همانطور که می بینید w باید از
208
00:08:26,710 –> 00:08:30,310
زاویه این تابع نقطه لاک پشت را
209
00:08:30,310 –> 00:08:32,440
90 درجه به سمت راست رد کنیم، این به ما امکان می دهد یک مربع انجام دهیم،
210
00:08:32,440 –> 00:08:34,000
اما باید بتوانیم این کار را
211
00:08:34,000 –> 00:08:36,010
برای هر گوسفندی که از آن عبور می کنیم انجام دهیم، بنابراین
212
00:08:36,010 –> 00:08:37,630
احتمالاً باید روش آن را خودمان ویرایش کنیم. کمی
213
00:08:37,630 –> 00:08:39,940
برای اینکه زاویه ای به ما بدهیم، بیایید
214
00:08:39,940 –> 00:08:41,289
فقط با دیدن شکل مربع
215
00:08:41,289 –> 00:08:43,690
شروع کنیم و من فقط این
216
00:08:43,690 –> 00:08:45,970
روش را با یک نقطه لاک پشت تمام می کنم، ممکن است در
217
00:08:45,970 –> 00:08:47,290
نهایت این را در جای دیگری قرار دهم
218
00:08:47,290 –> 00:08:50,320
اما فعلاً آن را رها می کنیم خب
219
00:08:50,320 –> 00:08:52,959
حالا بیایید جلو برویم و ترسیم نقطه مربع را انجام دهیم
220
00:08:52,959 –> 00:08:55,800
و ببینیم چه اتفاقی میافتد به این
221
00:08:55,800 –> 00:08:58,300
نگاه کنید که ما فقط یک مربع با استفاده
222
00:08:58,300 –> 00:09:00,300
از کتابخانه لاک پشت ترسیم کردیم که خیلی
223
00:09:00,300 –> 00:09:03,670
خوب است، بنابراین میدانستیم که
224
00:09:03,670 –> 00:09:06,610
برای مربع باید 90 درجه به راست بپیچیم، اما بیایید
225
00:09:06,610 –> 00:09:08,310
این را انتزاع کنیم و آن را
226
00:09:08,310 –> 00:09:10,810
قابل تعمیم کلی تر می کنیم تا بتوانیم هر شکلی را
227
00:09:10,810 –> 00:09:13,510
با استفاده از این روش درست انجام دهیم، بنابراین اگر
228
00:09:13,510 –> 00:09:15,520
به روزهای هندسه دبیرستان خود بازگردید،
229
00:09:15,520 –> 00:09:17,260
ممکن است فرمول
230
00:09:17,260 –> 00:09:19,690
زوایای داخلی چند ضلعی ها را بدانید، اما اگر این کار را ندارید
231
00:09:19,690 –> 00:09:21,940
در اینجا یک نمودار کوچک مفید وجود دارد.
232
00:09:21,940 –> 00:09:24,339
برای دریافت جزئیات در مورد چه چیزی استفاده کنید
233
00:09:24,339 –> 00:09:27,100
مقادیر ما به این صورت خواهد بود که مجموع
234
00:09:27,100 –> 00:09:30,130
زوایای داخلی یک مثلث 180 است،
235
00:09:30,130 –> 00:09:34,450
مجموع یک مربع 360 540 و غیره است و
236
00:09:34,450 –> 00:09:37,839
فرمول کلی برای هر چندضلعی n
237
00:09:37,839 –> 00:09:40,500
منهای 2 است که در آن n تعداد اضلاع
238
00:09:40,500 –> 00:09:43,630
ضربدر 180 درجه است و سپس اگر ما یک
239
00:09:43,630 –> 00:09:45,459
زاویه خاص می خواهیم و این همان کاری است که ما انجام می دهیم
240
00:09:45,459 –> 00:09:48,430
در مورد ما n منهای 2 ضربدر 180
241
00:09:48,430 –> 00:09:50,260
تقسیم بر تعداد اضلاع است زیرا
242
00:09:50,260 –> 00:09:53,950
اگر در مجموع 360 درجه
243
00:09:53,950 –> 00:09:56,410
چهار ضلع داشته باشید هر زاویه باید 90
244
00:09:56,410 –> 00:09:58,270
درجه باشد و این زوایای داخلی
245
00:09:58,270 –> 00:10:00,520
در اینجا است. بنابراین بیایید شروع کنیم به نوشتن مقداری منطق
246
00:10:00,520 –> 00:10:04,480
در کلاس خود که آن را ثبت می کند تا
247
00:10:04,480 –> 00:10:07,960
بتوانیم یک خاصیت زوایای داخلی چند ضلعی poly Oh را تعریف کنیم
248
00:10:07,960 –> 00:10:13,930
که برابر با
249
00:10:13,930 –> 00:10:15,340
خوب است، برابر با تعداد
250
00:10:15,340 –> 00:10:18,990
اضلاع است که قسمت انتهایی منهای دو بود
251
00:10:18,990 –> 00:10:21,040
و ما می رویم. برای قرار دادن این در
252
00:10:21,040 –> 00:10:28,900
پرانتز ضربدر 180 درست که
253
00:10:28,900 –> 00:10:33,340
مجموع زاویه داخلی بود، بنابراین می توانید
254
00:10:33,340 –> 00:10:36,100
این را مانند مجموع زوایا و
255
00:10:36,100 –> 00:10:37,960
زوایای تیری هر چیزی که می خواهید تعریف کنید به طوری که
256
00:10:37,960 –> 00:10:40,630
اگر بخواهیم فقط
257
00:10:40,630 –> 00:10:42,880
زاویه فردی را بخواهیم، تمام زوایا بر
258
00:10:42,880 –> 00:10:46,800
بر خواهد بود. برای دیدن اگر زوایای داخلی نقطه
259
00:10:46,800 –> 00:10:52,480
تقسیم بر ضلع های خود نقطه است و اکنون
260
00:10:52,480 –> 00:10:54,070
باید دو ویژگی دیگر از کلاس خود را پیدا کنیم
261
00:10:54,070 –> 00:10:57,040
و این ویژگی ها در مقدار دهی اولیه محاسبه می
262
00:10:57,040 –> 00:11:00,250
شوند، بنابراین مهم نیست که
263
00:11:00,250 –> 00:11:02,410
چه تعداد ضلع را عبور می دهیم،
264
00:11:02,410 –> 00:11:06,400
بنابراین بیایید ببینیم که اکنون در اگر
265
00:11:06,400 –> 00:11:09,100
به همان چیزی که قبلاً چاپ میکردیم
266
00:11:09,100 –> 00:11:14,560
برگردم و نقطه مربع را چاپ کردم،
267
00:11:14,560 –> 00:11:17,250
مثلاً زوایای داخلی را چاپ کردم و
268
00:11:17,250 –> 00:11:23,230
زاویه نقطه مربع را چاپ کردم، این باید به من 360 بدهد
269
00:11:23,230 –> 00:11:27,670
و این باید به من 90 بدهد، ببینیم آیا به
270
00:11:27,670 –> 00:11:31,840
آن 360 نگاه میکند یا خیر. و 90
271
00:11:31,840 –> 00:11:35,350
باحال خوب است و حالا کاری که میتوانیم انجام دهیم این است
272
00:11:35,350 –> 00:11:38,770
که در این زاویه از اینجا عبور کنیم تا بتوانیم زاویه خود را انجام دهیم
273
00:11:38,770 –> 00:11:41,740
زیرا میتوانیم از متد self
274
00:11:41,740 –> 00:11:43,120
یا پارامتر self که
275
00:11:43,120 –> 00:11:45,700
به متد کلاس خود منتقل کردهایم برای دسترسی به
276
00:11:45,700 –> 00:11:48,160
دانگل self که مقداردهی اولیه کردیم استفاده کنیم. در
277
00:11:48,160 –> 00:11:51,550
ایجاد کلاس ما برای چرخش به راست 90
278
00:11:51,550 –> 00:11:55,780
درجه بسیار خوب است، بنابراین بیایید ببینیم که آیا اکنون
279
00:11:55,780 –> 00:11:57,850
با پاس کردن در این،
280
00:11:57,850 –> 00:11:59,770
نتیجه همان روش قرعهکشی را به دست میآوریم، بنابراین میخواهیم
281
00:11:59,770 –> 00:12:02,920
رسم مربع انجام دهیم و متوجه شوید که
282
00:12:02,920 –> 00:12:04,870
مجبور نیستم از آن عبور کنم. خود در اینجا که
283
00:12:04,870 –> 00:12:06,730
ممکن است کمی s به نظر برسد خود عجیب و غریب
284
00:12:06,730 –> 00:12:09,490
همان چیزی است که به
285
00:12:09,490 –> 00:12:12,130
نوعی شناخته شده است که وجود دارد، بنابراین هر زمان که
286
00:12:12,130 –> 00:12:13,959
خود را می بینید، به نوعی در مورد خود فکر می کنید که
287
00:12:13,959 –> 00:12:15,970
لازم نیست چیزی را در آنجا
288
00:12:15,970 –> 00:12:17,740
بگنجانید، فقط آن را نادیده می گیرید، مثل این است
289
00:12:17,740 –> 00:12:20,320
که وقتی واقعاً می خواهید تعریف کنید وجود ندارد. برای
290
00:12:20,320 –> 00:12:23,500
استفاده از یک روش، فقط از چیزی که
291
00:12:23,500 –> 00:12:24,550
بعد از خودتان است استفاده می کنید، مانند زمانی که
292
00:12:24,550 –> 00:12:27,190
چند ضلعی ها را مقداردهی اولیه می کنیم
293
00:12:27,190 –> 00:12:29,230
، چیزها را بعد از خودتان مقداردهی اولیه می کنیم و وقتی از ترسیم استفاده می کنیم،
294
00:12:29,230 –> 00:12:31,180
حتی اگر خود آنها در آن هستند،
295
00:12:31,180 –> 00:12:33,130
لازم نیست چیزی در آن ارسال کنیم
296
00:12:33,130 –> 00:12:34,779
که کمی عجیب است. اولاً اما
297
00:12:34,779 –> 00:12:36,699
باید در طول زمان معقول شود، بنابراین بیایید یک مربع
298
00:12:36,699 –> 00:12:40,329
را به تصویر بکشیم، همان مربع را به دست می آوریم، کاملاً
299
00:12:40,329 –> 00:12:42,639
آزمایش واقعی خواهد بود، اما آیا
300
00:12:42,639 –> 00:12:46,750
با ترسیم
301
00:12:46,750 –> 00:12:47,529
302
00:12:47,529 –> 00:12:51,399
پنتاگون کار می کند.
303
00:12:51,399 –> 00:12:53,050
نقطه درست ما این زاویه بیرونی را تعریف می کنیم،
304
00:12:53,050 –> 00:12:55,930
بنابراین این همان چیزی است که در حال حاضر
305
00:12:55,930 –> 00:12:59,620
با زاویه خود نقطه تعریف کرده ایم، اما ما
306
00:12:59,620 –> 00:13:01,529
واقعاً می خواهیم این زاویه داخلی باشد،
307
00:13:01,529 –> 00:13:04,540
بنابراین آن را جبران کنید، ما
308
00:13:04,540 –> 00:13:06,370
فقط باید مکمل را انتخاب کنیم، بنابراین اگر
309
00:13:06,370 –> 00:13:09,449
این فضای داخلی زاویه اینجا sh باید 108 باشد،
310
00:13:09,449 –> 00:13:13,329
باید 108 یا 180 منهای 108 را
311
00:13:13,329 –> 00:13:17,339
در خارج انجام دهیم تا بتوانیم در واقع تعریف کنیم
312
00:13:17,339 –> 00:13:19,810
که چه زمانی روش درست را انجام میدهیم، میتوانیم
313
00:13:19,810 –> 00:13:22,779
زاویه 180 منهای خود نقطه را انجام دهیم و این
314
00:13:22,779 –> 00:13:25,300
باید به ما نتیجه درستی بدهد که
315
00:13:25,300 –> 00:13:27,490
همه چیز را خوب کرد. درست است و بیایید بررسی
316
00:13:27,490 –> 00:13:30,069
کنیم که آیا با یک
317
00:13:30,069 –> 00:13:31,750
شش ضلعی کار می کند یا نه، فقط مطمئن شویم که
318
00:13:31,750 –> 00:13:33,459
واقعاً درست کار می کند تا بتوانم یک
319
00:13:33,459 –> 00:13:36,670
شش ضلعی برابر چند ضلعی انجام دهم
320
00:13:36,670 –> 00:13:41,459
و شش ضلع خواهد داشت و من آن را شش ضلعی می نامم
321
00:13:42,810 –> 00:13:47,199
که خوب است و حالا بیایید این کار را انجام دهیم. ترسیم نقطه شش ضلعی
322
00:13:47,199 –> 00:13:49,170
323
00:13:49,170 –> 00:13:51,339
به این نکته توجه کنید که آن
324
00:13:51,339 –> 00:13:53,199
زوایا را به درستی محاسبه می کند که بسیار شیرین است.
325
00:13:53,199 –> 00:13:55,420
یک چیز من فکر می کنم خوب است که انجام دهیم این
326
00:13:55,420 –> 00:13:58,420
است که در حال حاضر از صد
327
00:13:58,420 –> 00:14:00,579
عبور می کنیم همیشه اینجا می توانیم این را به عنوان
328
00:14:00,579 –> 00:14:05,170
متغیر دیگری به چند ضلعی خود منتقل کنیم و بنابراین
329
00:14:05,170 –> 00:14:07,600
ما اندازه را انجام میدهیم و میگوییم اندازه خود نقطه
330
00:14:07,600 –> 00:14:10,839
برابر است، بنابراین حالا وقتی
331
00:14:10,839 –> 00:14:13,899
اینها را تعریف میکنیم باید مانند 100 را در اینجا
332
00:14:13,899 –> 00:14:16,360
پاس کنیم اگر از 100 عبور نکنیم ببینیم چه اتفاقی میافتد
333
00:14:16,360 –> 00:14:18,600
این خطای طولانی را به من میدهد و
334
00:14:18,600 –> 00:14:20,470
در نهایت این همان بخش مهمی
335
00:14:20,470 –> 00:14:22,540
از هوایی که آنها را از دست داده است e به
336
00:14:22,540 –> 00:14:26,890
آههای آرگومان موقعیتی نیاز دارد، بنابراین پخش
337
00:14:26,890 –> 00:14:28,690
میشود، زیرا اندازه آن را پاس نکردیم و
338
00:14:28,690 –> 00:14:30,430
آن را در روش init
339
00:14:30,430 –> 00:14:32,170
قرار دادیم، بنابراین نمیداند چه کاری باید انجام دهد تا بتوانیم
340
00:14:32,170 –> 00:14:37,510
100 را در اینجا و 100 را اینجا پاس کنیم و
341
00:14:37,510 –> 00:14:38,709
این میخواهد به ما اجازه دهد. برای تعریف
342
00:14:38,709 –> 00:14:40,720
درست آنها
343
00:14:40,720 –> 00:14:41,410
، در اینجا دوباره خطا را دریافت میکنیم،
344
00:14:41,410 –> 00:14:43,420
بنابراین فرض کنید میخواستیم آن را پیدا کنیم که
345
00:14:43,420 –> 00:14:46,930
10 است و اکنون در
346
00:14:46,930 –> 00:14:48,790
روش ترسیم خود عبور کردهایم، باید به جای 100، اندازه خود نقطه را انجام دهیم،
347
00:14:48,790 –> 00:14:51,120
بنابراین بیایید ببینیم چه اتفاقی میافتد.
348
00:14:51,120 –> 00:14:54,010
به این نگاه کنید که 10 یک
349
00:14:54,010 –> 00:14:58,180
شش ضلعی کوچک است و اگر 100 را انجام دادیم باید یک
350
00:14:58,180 –> 00:15:02,649
شش ضلعی بزرگتر باشد و جالب است،
351
00:15:02,649 –> 00:15:04,930
اما شاید آزاردهنده هم باشد، می توانید
352
00:15:04,930 –> 00:15:06,970
تصور کنید که ما می توانیم به
353
00:15:06,970 –> 00:15:08,740
ایجاد تعداد پارامترهایی که می خواهیم به آن منتقل
354
00:15:08,740 –> 00:15:11,320
کنیم ادامه دهیم. چند ضلعی ها و آزاردهنده خواهد بود
355
00:15:11,320 –> 00:15:13,230
356
00:15:13,230 –> 00:15:17,079
که وقتی کلاس های خود را تعریف می کنیم، مجبور شویم هر کدام را شامل شود، بنابراین کاری که
357
00:15:17,079 –> 00:15:18,880
می توانیم انجام دهیم همان کاری است که می توانیم با توابع انجام دهیم، این
358
00:15:18,880 –> 00:15:21,250
است که بتوانیم یک آرگومان پیش فرض به آن بدهیم،
359
00:15:21,250 –> 00:15:23,440
بنابراین فرض کنید آرگومان پیش فرض ما
360
00:15:23,440 –> 00:15:26,649
100 است، بنابراین اکنون من می توانم آن را
361
00:15:26,649 –> 00:15:33,820
بدون این پارامترها تعریف کنم ترها و این کار را برای
362
00:15:33,820 –> 00:15:39,100
هر سه انجام دهید و اکنون برای من خطا نمی
363
00:15:39,100 –> 00:15:41,019
کند زیرا فقط می داند که اگر
364
00:15:41,019 –> 00:15:43,300
این اندازه را ارائه ندهم آن را به طور پیش
365
00:15:43,300 –> 00:15:45,579
فرض روی 100 قرار می دهد، بنابراین مراقب باشید که وقتی شش ضلعی را می کشیم چه اتفاقی می افتد.
366
00:15:45,579 –> 00:15:48,279
367
00:15:48,279 –> 00:15:50,320
شش ضلعی بزرگ معمولی، بنابراین اگر من آن
368
00:15:50,320 –> 00:15:53,320
10 را در اینجا بسازم، مقدار پیش فرض 100 را لغو می کند
369
00:15:53,320 –> 00:15:56,019
و به ما اجازه می دهد آن را در
370
00:15:56,019 –> 00:16:00,970
اندازه 10 ترسیم کنیم و عالی کار می کند و می توانید
371
00:16:00,970 –> 00:16:02,560
تصور کنید که
372
00:16:02,560 –> 00:16:04,329
با نوع چیزهایی که رد می کنیم از کجا شروع می کنید. در اینجا،
373
00:16:04,329 –> 00:16:05,829
بنابراین شاید ما نیز میخواهیم بتوانیم
374
00:16:0