در این مطلب، ویدئو Luciano Ramalho – Pythonic Objects: OOP اصطلاحی در Python – PyCon 2019 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 3:22:15
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,190 –> 00:00:08,039
اما در همین حین، من یک مکالمه اعتباری اضافی انجام خواهم داد،
2
00:00:08,039 –> 00:00:09,290
3
00:00:09,290 –> 00:00:18,869
بله خوب، بنابراین چند نفر از
4
00:00:18,869 –> 00:00:24,240
شما تجربه قابل توجهی دارید که
5
00:00:24,240 –> 00:00:25,730
در زبان دیگری که
6
00:00:25,730 –> 00:00:33,719
شی گرا است می شناسید، بنابراین من برای شما
7
00:00:33,719 –> 00:00:34,770
داستان کوچکی تعریف
8
00:00:34,770 –> 00:00:40,020
خواهم کرد، بنابراین من نمی دانم چند نفر از شما می
9
00:00:40,020 –> 00:00:41,730
شناسید اما من کتابی نوشتم به نام
10
00:00:41,730 –> 00:00:46,100
flow in Python و کتاب
11
00:00:46,100 –> 00:00:49,289
موفقیت آمیز بوده است مردم آن را دوست دارند و فروش
12
00:00:49,289 –> 00:00:51,149
خوبی داشته است به
13
00:00:51,149 –> 00:00:54,570
هشت زبان ترجمه شده است اما Flink
14
00:00:54,570 –> 00:00:56,010
Python کتابی برای افرادی نیست که در حال یادگیری هستند.
15
00:00:56,010 –> 00:01:00,660
پایتون در ساب در واقع بادی است پایتون
16
00:01:00,660 –> 00:01:02,489
از همان دورهای که من در برزیل تدریس میکردم رشد کرد و
17
00:01:02,489 –> 00:01:05,610
18
00:01:05,610 –> 00:01:08,330
برای افرادی که پایتون را میدانند نام آن پایتون بود،
19
00:01:08,330 –> 00:01:11,430
بنابراین ایده این است که شما قبلاً از
20
00:01:11,430 –> 00:01:13,320
پایتون استفاده میکردید شروع کردن پایتون بسیار آسان
21
00:01:13,320 –> 00:01:16,460
است و بنابراین این دوره در مورد
22
00:01:16,460 –> 00:01:23,210
استفاده حداکثری از پایتون و تلاش برای
23
00:01:23,210 –> 00:01:27,390
کدنویسی به زبان پایتون بود، زیرا همانطور که
24
00:01:27,390 –> 00:01:30,540
یکی گفت فراموش کردم یکی از مشهورترین افراد
25
00:01:30,540 –> 00:01:32,130
در تاریخ علوم کامپیوتر زمانی
26
00:01:32,130 –> 00:01:35,549
گفته بود که می توان Fortran را
27
00:01:35,549 –> 00:01:40,140
به هر زبان برنامه نویسی درست نوشت. و
28
00:01:40,140 –> 00:01:44,189
من دیدهام چون جاوا یکی از
29
00:01:44,189 –> 00:01:48,720
محبوبترین زبانهایی است که ما از
30
00:01:48,720 –> 00:01:51,570
پایتون استفاده
31
00:01:51,570 –> 00:01:55,710
32
00:01:55,710 –> 00:02:01,350
33
00:02:01,350 –> 00:02:03,930
میکنیم. با
34
00:02:03,930 –> 00:02:06,659
لهجه پرتغالی بسیار قوی، بنابراین
35
00:02:06,659 –> 00:02:11,319
من آن را در کد پایتون
36
00:02:11,319 –> 00:02:18,340
دیدم و به هر حال چون نوشتن
37
00:02:18,340 –> 00:02:23,200
کتاب را در سال 2013 شروع کردم و در سال 2015 به پایان رساندم و
38
00:02:23,200 –> 00:02:25,019
سپس برای ThoughtWorks کار
39
00:02:25,019 –> 00:02:28,930
کردم که در آنجا به غیر از کدنویسی در پایتون I کارهای دیگری انجام می
40
00:02:28,930 –> 00:02:31,000
دهم. من همچنین برای
41
00:02:31,000 –> 00:02:34,689
انجام کارهای غیر کدنویسی زبان دیگری را کدنویسی می کنم، اگر
42
00:02:34,689 –> 00:02:36,549
همه اینها به این معنی است که حدود
43
00:02:36,549 –> 00:02:38,739
هشت یا نه سال است که یک
44
00:02:38,739 –> 00:02:41,769
کلاس مقدماتی در مورد
45
00:02:41,769 –> 00:02:44,319
برنامه نویسی شی گرا در پایتون تدریس کرده ام، پایتون باد
46
00:02:44,319 –> 00:02:45,790
فصل هایی در مورد
47
00:02:45,790 –> 00:02:47,889
برنامه نویسی شی گرا دارد آنها فرض می کنند که شما
48
00:02:47,889 –> 00:02:49,090
از قبل اصول
49
00:02:49,090 –> 00:02:51,389
برنامه نویسی شی گرا در پایتون را
50
00:02:51,389 –> 00:02:56,500
51
00:02:56,500 –> 00:02:59,139
می دانید و این برای من نیز بسیار جالب بود، شما می دانید که بعد از این همه سال شروع به
52
00:02:59,139 –> 00:03:01,599
فکر کردن در مورد آنچه باید آموزش دهم و
53
00:03:01,599 –> 00:03:04,060
چه چیزی را به مردم نشان دهم e که
54
00:03:04,060 –> 00:03:06,459
از نظر برنامه نویسی شی گرا با پایتون شروع به کار کرده اند
55
00:03:06,459 –> 00:03:09,189
و من
56
00:03:09,189 –> 00:03:13,000
اسلایدها و تمرین های قدیمی
57
00:03:13,000 –> 00:03:17,049
دوره هایی را که قبلا می دادم 10 9 10
58
00:03:17,049 –> 00:03:21,760
سال پیش یا چیزی مشابه و بسیاری از این
59
00:03:21,760 –> 00:03:23,909
موارد اشتباه بود،
60
00:03:23,909 –> 00:03:26,739
می دانید زیرا بیش از اینها سالها
61
00:03:26,739 –> 00:03:28,359
یاد گرفتم درباره
62
00:03:28,359 –> 00:03:31,229
برنامهنویسی شی گرا بیشتر یاد گرفتم، به عنوان مثال،
63
00:03:31,229 –> 00:03:37,930
و قطارهای بزرگی نیز وجود دارد، میخواهم
64
00:03:37,930 –> 00:03:40,900
در مورد آن بیشتر صحبت کنم،
65
00:03:40,900 –> 00:03:44,769
اما یک گرایش بزرگ به دور از ارث وجود دارد،
66
00:03:44,769 –> 00:03:46,500
67
00:03:46,500 –> 00:03:49,510
میدانید که برنامهنویسی شی گرا
68
00:03:49,510 –> 00:03:51,639
همیشه شما بودید. می دانید زمانی که یک
69
00:03:51,639 –> 00:03:52,810
دوره مقدماتی در مورد
70
00:03:52,810 –> 00:03:54,939
برنامه نویسی شی گرا
71
00:03:54,939 –> 00:03:58,329
گذراندید، همیشه زمان زیادی با
72
00:03:58,329 –> 00:04:00,430
حقوق وراثت سپری می شد و تمام آن
73
00:04:00,430 –> 00:04:03,189
نمونه های دیوانه کننده را داشتید که حیواناتی را می شناسید که می شناسید، بنابراین
74
00:04:03,189 –> 00:04:05,260
بازیکنان حیوانات و در
75
00:04:05,260 –> 00:04:08,109
کلاس پستانداران یک سوپرکلاس پستانداران و
76
00:04:08,109 –> 00:04:10,659
سپس زیر کلاس سگ از یادداشت و
77
00:04:10,659 –> 00:04:17,769
گربه ها و خفاش ها هر چه درست است این
78
00:04:17,769 –> 00:04:20,519
فقط اشتباه
79
00:04:20,519 –> 00:04:24,060
است مردم این روش دیگر برای برنامه ریزی
80
00:04:24,060 –> 00:04:28,870
کلاس ها نیست، بنابراین برای یک چیز در
81
00:04:28,870 –> 00:04:33,310
واقعیت ما از inh استفاده نمی کنیم
82
00:04:33,310 –> 00:04:38,380
سلسله مراتب eritance برای انجام طبقه بندی مانند
83
00:04:38,380 –> 00:04:39,640
طبقه بندی حیوانات،
84
00:04:39,640 –> 00:04:50,110
ما از آن برای آن استفاده نمی کنیم و بنابراین من
85
00:04:50,110 –> 00:04:51,520
در مورد آن و چیز دیگری صحبت خواهم کرد
86
00:04:51,520 –> 00:04:56,440
که و همچنین به عنوان مثال
87
00:04:56,440 –> 00:05:01,120
قسمت طراحی معروف در کتاب او وجود
88
00:05:01,120 –> 00:05:03,910
دارد که به آن لقب کتاب داده است. The Gang
89
00:05:03,910 –> 00:05:05,590
of Four چون چهار نویسنده دارد،
90
00:05:05,590 –> 00:05:09,070
بنابراین در آن کتاب،
91
00:05:09,070 –> 00:05:11,290
معرفی کتاب عالی است، من فکر می کنم در
92
00:05:11,290 –> 00:05:13,660
واقع ارزش بخش های کتاب را دارد
93
00:05:13,660 –> 00:05:15,730
و بقیه آن به نظر من چندان مهم
94
00:05:15,730 –> 00:05:18,970
نیستند، اما مقدمه عالی است
95
00:05:18,970 –> 00:05:21,430
و به پایان می رسد. مقدمه
96
00:05:21,430 –> 00:05:23,950
باید بگویند که شما باید
97
00:05:23,950 –> 00:05:26,080
ترکیب را به ارث ترجیح دهید،
98
00:05:26,080 –> 00:05:28,540
در مثال های نمایشی در مورد آن صحبت می کنم، اما
99
00:05:28,540 –> 00:05:33,220
این یک ضرب المثل معروف است
100
00:05:33,220 –> 00:05:36,610
که نوشته شده است، نمی دانم در
101
00:05:36,610 –> 00:05:42,850
سال 93 یا 94 نوشته شده است و آن کتاب است.
102
00:05:42,850 –> 00:05:45,340
هر چه بیشتر مورد توجه قرار می گیرد و اکنون می بینیم که
103
00:05:45,340 –> 00:05:47,200
زبان های برنامه نویسی در حال ظهور هستند، به
104
00:05:47,200 –> 00:05:52,090
عنوان مثال در فضای علم
105
00:05:52,090 –> 00:05:55,150
داده، زبانی به نام شریعت وجود دارد که در
106
00:05:55,150 –> 00:05:57,460
واقع به همین دلیل است که مشتری با GU شروع می کند
107
00:05:57,460 –> 00:06:00,130
زیرا پروژه مشتری آغاز شد. پورتها
108
00:06:00,130 –> 00:06:04,320
از Giulia Python پشتیبانی میکنند و به صورت بومی هستند،
109
00:06:04,320 –> 00:06:06,840
بنابراین Judea یک زبان برنامهنویسی است
110
00:06:06,840 –> 00:06:12,520
که ارثی دارد، اما فقط در مورد کلاسهای انتزاعی،
111
00:06:12,520 –> 00:06:14,580
در مورد آن نیز صحبت خواهم کرد،
112
00:06:14,580 –> 00:06:17,260
اگر کلاسهای مشخص و شما نمیتوانید به
113
00:06:17,260 –> 00:06:21,220
ارث برسید، زبان دیگری وجود دارد که
114
00:06:21,220 –> 00:06:23,860
بسیار سریع در حال رشد است، مفهومی دارد. از
115
00:06:23,860 –> 00:06:27,250
انواع ممکن است آن را کلاس نگویند، اما
116
00:06:27,250 –> 00:06:29,470
دارای انواعی با متدهایی هستند که بسیار
117
00:06:29,470 –> 00:06:31,900
شبیه به یک کلاس هستند و
118
00:06:31,900 –> 00:06:33,420
مفهوم واسط را دارند اما به
119
00:06:33,420 –> 00:06:39,030
هیچ وجه ارثی ندارند، بنابراین اینها برخی
120
00:06:39,030 –> 00:06:41,250
از چیزهایی هستند که من اساساً
121
00:06:41,250 –> 00:06:44,730
مجبور به تجدید نظر در یک کلاس شدم. بسیاری از آن و من
122
00:06:44,730 –> 00:06:46,470
مثال های زیادی را فقط برای این آموزش ایجاد
123
00:06:46,470 –> 00:06:51,900
کردم و من این برخلاف هر دوره دیگری است
124
00:06:51,900 –> 00:06:53,600
که در مورد این موضوعات ارائه داده ام به
125
00:06:53,600 –> 00:06:57,210
دلیل اتفاقاتی که
126
00:06:57,210 –> 00:07:03,770
در این چند سال گذشته در آن منطقه رخ داده است،
127
00:07:07,730 –> 00:07:11,270
چه چیز دیگری می توانم بگویم
128
00:07:25,580 –> 00:07:28,580
بله
129
00:07:42,639 –> 00:07:45,699
همچنین قبل از این سخنرانی یا قبل از این
130
00:07:45,699 –> 00:07:48,039
آموزش، هر زمان که در
131
00:07:48,039 –> 00:07:51,969
مورد 20 شیء صحبت کردم، روی
132
00:07:51,969 –> 00:07:55,870
روش های خاص تأکید زیادی کردم، می خواهم
133
00:07:55,870 –> 00:07:58,270
در اینجا کمی در مورد آنها صحبت کنم، اما
134
00:07:58,270 –> 00:08:00,280
نه به اندازه ای که من صحبت می کنم. کل کتاب من
135
00:08:00,280 –> 00:08:03,129
حدود 700 صفحه از روش های خاص است، بسیار خوب
136
00:08:03,129 –> 00:08:06,400
، این هسته اصلی کتاب است، زیرا
137
00:08:06,400 –> 00:08:14,199
روش های ویژه ای که biten
138
00:08:14,199 –> 00:08:17,889
خود را به عنوان ابزاری
139
00:08:17,889 –> 00:08:20,560
برای ساختن فریمورک ها به برنامه نویس معرفی می کند، واقعا
140
00:08:20,560 –> 00:08:22,900
جالب است، اما این چیزی نیست که
141
00:08:22,900 –> 00:08:24,969
شما باید نگران آن باشید. من به
142
00:08:24,969 –> 00:08:26,889
تازگی با
143
00:08:26,889 –> 00:08:30,759
برنامه نویسی شی گرا در پایتون شروع کرده ام، می خواهم
144
00:08:30,759 –> 00:08:34,779
یک مثال از انتهای آن را نشان دهم که
145
00:08:34,779 –> 00:08:38,078
روش های ویژه زیادی دارد، اما اکثر
146
00:08:38,078 –> 00:08:40,539
آنها از چند مورد از
147
00:08:40,539 –> 00:08:44,579
ضروری ترین روش های ویژه استفاده می کنند،
148
00:08:49,030 –> 00:08:51,640
بنابراین فقط 1 روش دیگر. دقیقه و سپس
149
00:08:51,640 –> 00:09:01,930
ما 19 می کنیم و آن را شروع می کنیم، بنابراین برای
150
00:09:01,930 –> 00:09:05,710
کسانی که بعد از او آمده اند نشان دهند
151
00:09:05,710 –> 00:09:10,030
که RL جدید نشانی اینترنتی مخزن است
152
00:09:10,030 –> 00:09:13,480
که محتوای گفتگو در آن است و من تصمیم
153
00:09:13,480 –> 00:09:15,610
گرفتم که این بار فقط اسلاید انجام ندهم.
154
00:09:15,610 –> 00:09:18,400
فقط همین چیزهای افتتاحیه
155
00:09:18,400 –> 00:09:21,190
مانند کارت عنوان وجود دارد و بقیه چیزها
156
00:09:21,190 –> 00:09:25,410
فقط یک دفترچه یادداشت هستند و همچنین نمونه هایی
157
00:09:25,410 –> 00:09:29,980
که به عنوان ماژول های پایتون رمزگذاری می شوند همه
158
00:09:29,980 –> 00:09:45,340
چیز در این ریپل وجود دارد، بنابراین می توانید
159
00:09:45,340 –> 00:09:49,980
مخزن را شبیه سازی کنید یا می توانید n فقط آن را مرور کنید و
160
00:09:50,190 –> 00:09:55,020
پیش بینی کنید که به شما کمک کند،
161
00:10:01,250 –> 00:10:07,710
خوب بیایید شروع کنیم، بنابراین از
162
00:10:07,710 –> 00:10:13,020
این به بعد قرار است ضبط کنم، صبح بخیر
163
00:10:13,020 –> 00:10:14,760
مردم بسیار متشکرم برای انتخاب
164
00:10:14,760 –> 00:10:17,190
این آموزش، من بسیار خوشحالم که اینجا هستم و
165
00:10:17,190 –> 00:10:20,670
یک آموزش در PyCon ارائه می کنم، این یک
166
00:10:20,670 –> 00:10:24,720
کنفرانس است من که این را دوست دارم،
167
00:10:24,720 –> 00:10:27,780
دوست دارم خجالتی نباشی و
168
00:10:27,780 –> 00:10:30,210
هر وقت خواستی سوال
169
00:10:30,210 –> 00:10:32,970
بپرسی اگر متوجه تو نشدم دستت را بلند کن،
170
00:10:32,970 –> 00:10:36,510
میتوانی شروع به داد و فریاد کنی.
171
00:10:36,510 –> 00:10:38,970
172
00:10:38,970 –> 00:10:42,270
به طوری که سوال نیز ثبت شود
173
00:10:42,270 –> 00:10:45,240
خوب است، اما لطفا خجالت نکشید،
174
00:10:45,240 –> 00:10:51,530
پس نام من لوچیانو هاماتو است
175
00:10:51,530 –> 00:10:55,770
و برای کارهای آموزش داده شده کار می کنم و قرار است
176
00:10:55,770 –> 00:10:59,400
در مورد اشیاء پایتونیک صحبت کنیم که
177
00:10:59,400 –> 00:11:00,870
ضروریات
178
00:11:00,870 –> 00:11:02,730
برنامه نویسی شی گرا در پایتون است. قرار است
179
00:11:02,730 –> 00:11:06,030
در مورد اصطلاحات و خصوصیات
180
00:11:06,030 –> 00:11:10,350
پایتون زیاد صحبت کنم، بنابراین این
181
00:11:10,350 –> 00:11:12,480
چیزی است که همیشه هنگام
182
00:11:12,480 –> 00:11:14,640
آموزش برنامه نویسی شی گرا
183
00:11:14,640 –> 00:11:17,100
با پایتون مرا آزار می داد، به این دلیل که من عاشق pie okay
184
00:11:17,100 –> 00:11:19,710
هستم و فکر می کنم زبان بسیار عمیق
185
00:11:19,710 –> 00:11:22,740
شی گرا است. سن از برخی
186
00:11:22,740 –> 00:11:24,750
جهات زبان شی گراتر
187
00:11:24,750 –> 00:11:28,290
از جاوا است، به عنوان مثال، زیرا
188
00:11:28,290 –> 00:11:29,730
به عنوان مثال در پایتون،
189
00:11:29,730 –> 00:11:31,890
ما اشیاء اولیه نداریم،
190
00:11:31,890 –> 00:11:34,410
مقادیر اولیه مانند اعداد در
191
00:11:34,410 –> 00:11:38,190
جاوا نداریم، همه چیز در پایتون یک شی است
192
00:11:38,190 –> 00:11:40,110
به این معنا که همه چیز در پایتون است. یک
193
00:11:40,110 –> 00:11:42,830
شی در گفتگوی کوچک خوب است،
194
00:11:42,830 –> 00:11:46,500
اما یک موضوع خاص وجود دارد که
195
00:11:46,500 –> 00:11:48,210
به نوعی موضوع اساسی
196
00:11:48,210 –> 00:11:50,820
برنامه نویسی شی گرا است،
197
00:11:50,820 –> 00:11:53,220
همیشه مشکلی برای من وجود داشته است
198
00:11:53,220 –> 00:11:55,410
که در مورد پایتون صحبت کنم و
199
00:11:55,410 –> 00:12:00,000
به همین دلیل است که می خواهم
200
00:12:00,000 –> 00:12:05,010
این صفحه را به شما نشان میدهیم در اینجا از کتابی است که
201
00:12:05,010 –> 00:12:08,640
در آن زبان
202
00:12:08,640 –> 00:12:16,950
و آن کتاب وجود دارد، بنابراین زبان
203
00:12:16,950 –> 00:12:19,950
Smalltalk همراه با یک
204
00:12:19,950 –> 00:12:22,290
سیستم کامل که یک سیستم عامل و
205
00:12:22,290 –> 00:12:26,370
یک رابط کاربری گرافیکی بود و چیزی که ما
206
00:12:26,370 –> 00:12:28,920
امروز آن را IDE مینامیم رشد کرد، بنابراین این یکی از
207
00:12:28,920 –> 00:12:30,930
پنجرههایی که آن را برنامهریزی کردهاید، بنابراین
208
00:12:30,930 –> 00:12:35,610
در اینجا میبینید دستههای کلاس هستند
209
00:12:35,610 –> 00:12:40,440
و سپس این
210
00:12:40,440 –> 00:12:42,810
دسته انتخاب شده پروژه جدید است و
211
00:12:42,810 –> 00:12:44,850
سپس تاریخ مالی را میبینید
212
00:12:44,850 –> 00:12:46,680
که نام cla است. ss که به تازگی
213
00:12:46,680 –> 00:12:48,950
در اینجا ایجاد شده است که به تازگی ایجاد شده است،
214
00:12:48,950 –> 00:12:54,240
در واقع اسکرین شات قبلی در
215
00:12:54,240 –> 00:12:56,790
کتاب، فردی را که روی «پذیرفتن» کلیک میکند،
216
00:12:56,790 –> 00:13:00,420
به این تعریف نشان میدهد، بنابراین شخصی که تایپ کرده است
217
00:13:00,420 –> 00:13:03,570
، کاربر این تعریف را تایپ کرده و سپس
218
00:13:03,570 –> 00:13:07,380
وقتی «پذیرش» را انتخاب کرده، در اینجا
219
00:13:07,380 –> 00:13:12,030
بهعنوان یکی از کلاسها ظاهر میشود. سپس
220
00:13:12,030 –> 00:13:14,190
اینجا میگوید هیچ پیامی وجود ندارد که به این معنی است که هیچ
221
00:13:14,190 –> 00:13:16,830
روشی برای آن تعریف نشده است، اما
222
00:13:16,830 –> 00:13:19,260
اگر به تعریف کلاس نگاه کنید، میگوید
223
00:13:19,260 –> 00:13:24,060
تاریخچه مالی زیر کلاس
224
00:13:24,060 –> 00:13:26,640
شیء، بنابراین معنی سوپرکلاس شی یعنی این یک
225
00:13:26,640 –> 00:13:30,420
زیر کلاس از اشیاء است که درست در پایتون 3
226
00:13:30,420 –> 00:13:32,760
ما نمیدانیم. دیگر لازم نیست ببینید که اگر
227
00:13:32,760 –> 00:13:35,520
یک کلاس را اعلام کنید، در حال حاضر یک زیر کلاس
228
00:13:35,520 –> 00:13:39,960
از اشیاء است، اگر یک
229
00:13:39,960 –> 00:13:42,900
سوپرکلاس خاص را مشخص نکنید، یک
230
00:13:42,900 –> 00:13:45,750
زیر کلاس از شی خواهد بود، خوب، پس
231
00:13:45,750 –> 00:13:47,640
این همان تعاریف به عنوان نام
232
00:13:47,640 –> 00:13:49,860
کلاس جدید است. و جایی که در
233
00:13:49,860 –> 00:13:53,490
سلسله مراتب ok تعلق دارد و سپس در اینجا
234
00:13:53,490 –> 00:13:56,790
نام متغیرهای نمونه را می بینید و
235
00:13:56,790 –> 00:14:02,700
سپس رشته ای از نام ها وجود دارد که با فاصله هایی از هم جدا شده اند
236
00:14:02,700 –> 00:14:06,960
که تاریخچه مالی زیادی دارند و we’re
237
00:14:06,960 –> 00:14:09,180
and after و I در واقع
238
00:14:09,180 –> 00:14:14,060
میخواهم نسخه پایتون این کلاس را بعداً نشان
239
00:14:14,060 –> 00:14:15,860
240
00:14:15,860 –> 00:14:18,990
241
00:14:18,990 –> 00:14:21,960
242
00:14:21,960 –> 00:14:27,890
243
00:14:27,890 –> 00:14:32,730
دهم، اما در اینجا ما درآمدها و هزینههای نقدی را داریم، نام متغیرهای نمونه خوب است، بنابراین در ابتدا در Smalltalk شما نام ویژگیهای کلاس را درست به سیستم بگویید.
244
00:14:32,730 –> 00:14:37,730
245
00:14:38,960 –> 00:14:41,300
بیایید نگاهی به مرجع مهم دیگر آموزش رسمی جاوا بیندازیم،
246
00:14:41,300 –> 00:14:45,750
247
00:14:45,750 –> 00:14:47,610
248
00:14:47,610 –> 00:14:50,030
خوب آموزش جاوا دارای این تصاویر است.
249
00:14:50,030 –> 00:14:52,590
250
00:14:52,590 –> 00:14:56,270
251
00:14:56,270 –> 00:15:00,260
252
00:15:00,260 –> 00:15:05,100
253
00:15:05,100 –> 00:15:08,670
این شی
254
00:15:08,670 –> 00:15:10,770
از طریق فلزات و عدم دسترسی
255
00:15:10,770 –> 00:15:14,610
مستقیم به فیلدها در گفتگوی کوچک،
256
00:15:14,610 –> 00:15:16,500
اینطور بود که در واقع بیشتر از
257
00:15:16,500 –> 00:15:19,530
همه متغیرهای نمونه او خصوصی
258
00:15:19,530 –> 00:15:22,230
بودند، هیچ راهی برای انجام یک متغیر نمونه عمومی
259
00:15:22,230 –> 00:15:25,950
در Smalltalk وجود نداشت، بنابراین
260
00:15:25,950 –> 00:15:28,800
بسیار زیاد بود. مانند این و این
261
00:15:28,800 –> 00:15:30,720
نمونهای از چیزی است که آنها آن را کپسوله کردن درست مینامند،
262
00:15:30,720 –> 00:15:33,990
بنابراین شیء
263
00:15:33,990 –> 00:15:43,680
مقادیری را در اینجا کپسوله میکند که بخارها خوب هستند و
264
00:15:43,680 –> 00:15:45,270
در اینجا یک تعریف وجود دارد. t در مورد
265
00:15:45,270 –> 00:15:48,270
وضعیت پنهان داخلی صحبت می کند که نیاز
266
00:15:48,270 –> 00:15:49,860
به انجام تمام تعاملات از طریق
267
00:15:49,860 –> 00:15:51,510
یک روش شی است که به عنوان کپسوله کردن داده ها شناخته می شود،
268
00:15:51,510 –> 00:15:53,880
یک اصل اساسی
269
00:15:53,880 –> 00:15:56,940
برنامه نویسی شی گرا درست است، بنابراین
270
00:15:56,940 –> 00:15:58,260
در اینجا یک مثال است
271
00:15:58,260 –> 00:16:00,690
که من مثال را در تصویر دوست دارم،
272
00:16:00,690 –> 00:16:03,270
اگرچه کد آنقدرها خوب نیست. اما
273
00:16:03,270 –> 00:16:06,450
تصویر ایده این است که این یک دوچرخه را نشان می دهد،
274
00:16:06,450 –> 00:16:10,050
بنابراین شما روش هایی
275
00:16:10,050 –> 00:16:14,760
دارید که مانند افعال اعمال هستند که می توانید
276
00:16:14,760 –> 00:16:17,610
با دوچرخه انجام دهید، مانند تعویض دنده
277
00:16:17,610 –> 00:16:20,850
ترمز کابین ها و سپس
278
00:16:20,850 –> 00:16:23,610
مقادیر داخل فیلدها را دارید، بنابراین
279
00:16:23,610 –> 00:16:24,449
این می شود
280
00:16:24,449 –> 00:16:27,179
زیرا می گوید 18 مایل در ساعت این
281
00:16:27,179 –> 00:16:29,540
می تواند مال Caddy باشد زیرا می گوید 90
282
00:16:29,540 –> 00:16:33,509
چرخش در 90 RPM و این
283
00:16:33,509 –> 00:16:36,269
دنده است که در حال حاضر سال پنجم درگیر است،
284
00:16:36,269 –> 00:16:42,419
خوب حالا یک ایده مهم در اینجا این
285
00:16:42,419 –> 00:16:46,829
است که هیچ راهی برای تغییر
286
00:16:46,829 –> 00:16:50,790
مستقیم سرعت وجود ندارد. هیچ روشی به نام
287
00:16:50,790 –> 00:16:54,419
تغییر سرعت وجود ندارد زیرا سرعت
288
00:16:54,419 –> 00:16:58,679
دوچرخه یکی از زمینه های
289
00:16:58,679 –> 00:17:01,249
موجود در آن است به چیزهای دیگری بستگی دارد،
290
00:17:01,249 –> 00:17:04,199
به عنوان مثال اگر
291
00:17:04,199 –> 00:17:07,429
ترمز را فشار دهید. s این سرعت
292
00:17:07,429 –> 00:17:12,559
را تا چه حد کاهش می دهد بستگی به این دارد که چگونه
293
00:17:12,559 –> 00:17:15,419
می دانید ترمز را چقدر فشار می دهید
294
00:17:15,419 –> 00:17:17,789
و همچنین به سربالایی یا
295
00:17:17,789 –> 00:17:19,769
سرازیری می رود یا اینکه کسی همچنان رکاب می زند
296
00:17:19,769 –> 00:17:23,779
یا درست نیست، بنابراین
297
00:17:23,779 –> 00:17:26,760
ایده این است که این حالت داخلی
298
00:17:26,760 –> 00:17:30,299
شی از طریق فراخوانی های متد تغییر
299
00:17:30,299 –> 00:17:34,350
می کند که لزوماً فقط
300
00:17:34,350 –> 00:17:36,809
تنظیم کننده ها و دریافت کننده های مستقیم نیستند، همانطور که
301
00:17:36,809 –> 00:17:40,409
اغلب در آموزش های مقدماتی می بینیم شما
302
00:17:40,409 –> 00:17:42,630
نمی بینید مانند آنچه من گفتم
303
00:17:42,630 –> 00:17:45,720
در یک شبیه سازی واقع گرایانه منطقی نیست
304
00:17:45,720 –> 00:17:47,309
که بتوان سرعت را مستقیماً تغییر داد.
305
00:17:47,309 –> 00:17:49,889
درست مثل این است که شما در یک ماشین
306
00:17:49,889 –> 00:17:56,970
هستید و نگهدارنده نگهدارنده را در آنجا قرار
307
00:17:56,970 –> 00:17:59,580
داده اید، سرعت سنج را توسعه داده است، بله
308
00:17:59,580 –> 00:18:03,570
، نشانگر کوچک در سرعت سنج وجود دارد
309
00:18:03,570 –> 00:18:05,429
و این باعث می شود ماشین شما سریعتر حرکت
310
00:18:05,429 –> 00:18:08,549
کند، درست نیست، بنابراین
311
00:18:08,549 –> 00:18:10,860
سرعت را ندارد. نتیجه
312
00:18:10,860 –> 00:18:13,260
چیزهای دیگری است که به درستی اتفاق می افتد و
313
00:18:13,260 –> 00:18:16,860
اگر به کد جاوا نگاه کنید، در
314
00:18:16,860 –> 00:18:21,029
اینجا کاملاً واضح است که دوچرخه کلاس
315
00:18:21,029 –> 00:18:25,139
دارای سه قسمت است: سرعت باغ در اینجا
316
00:18:25,139 –> 00:18:27,000
و سپس موارد دیگری وجود دارد.
317
00:18:27,000 –> 00:18:29,940
روش درستی وجود دارد، بنابراین آنچه من
318
00:18:29,940 –> 00:18:32,039
در اینجا در مورد آن صحبت می کنم این است که هم جاوا و هم
319
00:18:32,039 –> 00:18:34,889
صحبت های کوچک که شی گرا بسیار مهم
320
00:18:34,889 –> 00:18:36,429
321
00:18:36,429 –> 00:18:40,799
هستند، راه های مشخص و صریحی برای
322
00:18:40,799 –> 00:18:44,700
تعریف درست فیلدهای یک کلاس
323
00:18:44,700 –> 00:18:49,679
دارند و بنابراین فکر می کنم راه که
324
00:18:49,679 –> 00:18:52,890
پایتون کمتر شبیه سایر
325
00:18:52,890 –> 00:18:54,730
زبان های برنامه نویسی شی گرا است
326
00:18:54,730 –> 00:18:57,600
که من می دانم این واقعیت است که پایتون از نظر
327
00:18:57,600 –> 00:19:00,160
تاریخی راهی برای
328
00:19:00,160 –> 00:19:02,919
انجام آن نداشت و اکنون روشی برای انجام این کار در حال رشد است
329
00:19:02,919 –> 00:19:05,919
و از طریق
330
00:19:05,919 –> 00:19:10,750
ماژول تایپ در داده ها در مورد آن صحبت می کند. کلاسها اما از
331
00:19:10,750 –> 00:19:13,270
لحاظ تاریخی هیچ راهی برای گفتن
332
00:19:13,270 –> 00:19:15,940
پایتون ok وجود نداشت این کلاس این فیلدها را
333
00:19:15,940 –> 00:19:23,890
درست دارد همچنین پایتون نیز به خوبی همه
334
00:19:23,890 –> 00:19:26,700
زبانهای شی گرا دارای
335
00:19:26,700 –> 00:19:30,700
اصطلاحات کمی متفاوت هستند، درست است، اما اگر
336
00:19:30,700 –> 00:19:33,820
در مورد جاوا میدانید مفید است بدانید
337
00:19:33,820 –> 00:19:36,549
که اصطلاح پایتون چیزی است که ما
338
00:19:36,549 –> 00:19:39,490
در آن ویژگی مینامیم. پایتون یک اصطلاح عمومی است که
339
00:19:39,490 –> 00:19:41,919
مفاهیم
340
00:19:41,919 –> 00:19:44,530
متدهای ادغام در جاوا را در بر می گیرد، البته همه چیزهایی
341
00:19:44,530 –> 00:19:48,460
که در روش های پایتون ویژگی
342
00:19:48,460 –> 00:19:52,450
های شیء را نیز درست در نظر می گیریم و
343
00:19:52,450 –> 00:19:54,700
هنگامی که ما صحبت می کنیم وقتی می خواهید در مورد
344
00:19:54,700 –> 00:19:58,360
آنچه که افراد جاوا یک فیلد می نامند صحبت کنیم، باید
345
00:19:58,360 –> 00:20:00,580
از این واجد شرایط استفاده کنیم و آن را یک
346
00:20:00,580 –> 00:20:05,590
ویژگی داده بنامیم OK و سپس متد اصلی یک
347
00:20:05,590 –> 00:20:06,910
روش خوب است،
348
00:20:06,910 –> 00:20:11,070
بنابراین مهم است که این
349
00:20:11,070 –> 00:20:14,950
اصطلاحات مختلف را که به عنوان مثال استفاده می شود درک کنیم. من میگفتم
350
00:20:14,950 –> 00:20:18,910
پایتون قبل از پایتون
351
00:20:18,910 –> 00:20:21,480
3.6 راهی برای اعلام متغیرهای نمونه
352
00:20:21,480 –> 00:20:24,760
بدون اختصاص دادن نداشت، در واقع
353
00:20:24,760 –> 00:20:26,950
انتساب همان چیزی است که
354
00:20:26,950 –> 00:20:31,559
انتساب اولیه را ایجاد میکند،
355
00:20:33,030 –> 00:20:36,309
اما این بیشتر از این است زیرا الگو از نظر
356
00:20:36,309 –> 00:20:37,960
تاریخی هیچ راهی برای اعلام
357
00:20:37,960 –> 00:20:40,120
متغیرها نداشت. از متغیرهایی
358
00:20:40,120 –> 00:20:41,230
که
359
00:20:41,230 –> 00:20:44,200
شما هر راهی از جفت داشتید، تنها
360
00:20:44,200 –> 00:20:45,880
انواع متغیرهایی که در پایتون اعلام
361
00:20:45,880 –> 00:20:53,980
می کنید، آرگومان های تابع هستند، بنابراین اولین
362
00:20:53,980 –> 00:20:55,630
تخصیص Declaration است و
363
00:20:55,630 –> 00:20:57,640
ویژگی های تعریف شده در بدنه
364
00:20:57,640 –> 00:21:00,130
کلاس، ویژگی های کلاس هستند، من در مورد آن صحبت خواهم کرد.
365
00:21:00,130 –> 00:21:04,120
پس من نمی دانم چند نفر از
366
00:21:04,120 –> 00:21:08,309
شما یک جنگل را مطالعه کرده اید یا
367
00:21:08,309 –> 00:21:14,559
از افراد زیادی استفاده کرده اید، بنابراین من استفاده می
368
00:21:14,559 –> 00:21:17,650
کردم اما از پایتون در سال 98 و
369
00:21:17,650 –> 00:21:25,150
در مورد آهن 2005 2006 استفاده کردم. در همان زمان من
370
00:21:25,150 –> 00:21:28,809
شروع به مطالعه جنگو کردم و به این نگاه کردم
371
00:21:28,809 –> 00:21:34,049
و گفتم اینجا چه خبر است، می
372
00:21:34,049 –> 00:21:39,790
دانید زیرا آنچه در اینجا می بینید، فقط
373
00:21:39,790 –> 00:21:44,770
گفتم که ویژگی های تعریف شده در
374
00:21:44,770 –> 00:21:47,290
بدنه کلاس، ویژگی های کلاس هستند، بنابراین این
375
00:21:47,290 –> 00:21:50,650
ویژگی ها در اینجا در بدنه هستند.
376
00:21:50,650 –> 00:21:54,220
کلاس و نه در داخل یک تابع یا
377
00:21:54,220 –> 00:21:57,150
متدها هستند، آنها ویژگی های کلاس هستند،
378
00:21:57,150 –> 00:22:01,630
اما به وضوح چیزی
379
00:22:01,630 –> 00:22:03,549
را تعریف می کنند که به نمونه ها مربوط می شود،
380
00:22:03,549 –> 00:22:06,730
بنابراین یک نوازنده یک نام و
381
00:22:06,730 –> 00:22:10,870
نام خانوادگی و یک ساز دارد
382
00:22:10,870 –> 00:22:14,080
که هر نوازنده نام متفاوتی دارد.
383
00:22:14,080 –> 00:22:17,410
یک خصیصه نمونه است
384
00:22:17,410 –> 00:22:20,380
اما در کلاس تعریف شده است که چگونه
385
00:22:20,380 –> 00:22:23,770
خوب کار می کند، این یک مبحث بسیار پیشرفته است
386
00:22:23,770 –> 00:22:27,040
که توصیفگر نامیده می شود، بنابراین این
387
00:22:27,040 –> 00:22:29,980
اشیاء که در اینجا نمونه سازی شده اند
388
00:22:29,980 –> 00:22:35,020
توصیفگر هستند و من می خواهم بگویم که می خواهم
389
00:22:35,020 –> 00:22:36,940
در مورد آن صحبت کنم فقط به این دلیل که نمی دانم
390
00:22:36,940 –> 00:22:39,520
نمیخواهم به این موضوع عمیقتر بروم، اما
391
00:22:39,520 –> 00:22:42,850
میخواهم مطمئن شوم که شما به آن اعتقاد
392
00:22:42,850 –> 00:22:44,830
دارید و میفهمید که هر چیزی
393
00:22:44,830 –> 00:22:46,750
که در یک بدنه کلاس تعریف میشود، کلاس ما به هر حال به آن
394
00:22:46,750 –> 00:22:51,920
ویژگی میدهد. یک
395
00:22:51,920 –> 00:22:55,400
توصیفگر یک ویژگی کلاس است که
396
00:22:55,400 –> 00:22:57,940
برای مدیریت ویژگیها در مواردی طراحی شده است.
397
00:22:57,940 –> 00:23:01,270
398
00:23:01,900 –> 00:23:06,080
399
00:23:06,080 –> 00:23:09,560
400
00:23:09,560 –> 00:23:11,600
401
00:23:11,600 –> 00:23:14,270
ویژگی داده درست است
402
00:23:14,270 –> 00:23:16,090
که تمام کاری که انجام می دهد
403
00:23:16,090 –> 00:23:20,210
بنابراین یک gator یک متد است و اکنون در
404
00:23:20,210 –> 00:23:22,640
متدها چون در کلاس تعریف شده
405
00:23:22,640 –> 00:23:24,860
اند اساساً
406
00:23:24,860 –> 00:23:29,050
ویژگی های کلاس هستند اما متدها معمولاً
407
00:23:29,050 –> 00:23:31,670
ویژگی های نمونه هایی را مدیریت می
408
00:23:31,670 –> 00:23:35,210
کنند که منطقی است توصیفگر
409
00:23:35,210 –> 00:23:38,270
دسته دیگری از چیزهایی است که وجود دارد. نه متدهایی
410
00:23:38,270 –> 00:23:40,580
که همان ویژگی
411
00:23:40,580 –> 00:23:42,590
چیزی را دارند که به کلاس متصل شده است،
412
00:23:42,590 –> 00:23:46,640
اما برای مدیریت نمونهها طراحی شده است،
413
00:23:46,640 –> 00:23:54,560
اما وقتی
414
00:23:54,560 –> 00:23:57,610
این را در پایتون یا به طور کلی دیدم شگفتزده شدم،
415
00:23:57,610 –> 00:24:00,260
زیرا قبلاً چندین سال از این زبان استفاده میکردم.
416
00:24:00,260 –> 00:24:02,060
هفت
417
00:24:02,060 –> 00:24:04,400
سالی که این را دیدم و قبلاً هرگز
418
00:24:04,400 –> 00:24:08,810
توصیفگر ندیده بودم و چون
419
00:24:08,810 –> 00:24:12,910
واقعیت در کتابخانه استاندارد پایتون
420
00:24:12,910 –> 00:24:17,000
است هیچ توصیفگر داده گرا
421
00:24:17,000 –> 00:24:20,420
مانند t وجود ندارد. تمام مواردی که در
422
00:24:20,420 –> 00:24:24,740
آنجا وجود دارد توسط چارچوب هایی مانند
423
00:24:24,740 –> 00:24:28,580
کیمیاگری روانی جنگو و مواردی از این قبیل ارائه شده
424
00:24:28,580 –> 00:24:35,360
است، بنابراین این یک ایده خارجی است
425
00:24:35,360 –> 00:24:36,830
البته زیرساخت
426
00:24:36,830 –> 00:24:39,250
در زبان مردم وجود دارد که از آن استفاده کنند و
427
00:24:39,250 –> 00:24:42,550
نویسندگان چارچوب از آن استفاده کرده اند،
428
00:24:42,550 –> 00:24:45,800
اما یک مفهوم پیشرفته این ایده
429
00:24:45,800 –> 00:24:48,230
از توضیحات است، بنابراین بیایید
430
00:24:48,230 –> 00:24:50,150
به اصول اولیه بازگردیم و اکنون من
431
00:24:50,150 –> 00:24:54,860
می خواهم کد را در اینجا شروع کنم، بنابراین اولین
432
00:24:54,860 –> 00:24:59,650
کاری که همیشه هنگام تدریس با یک
433
00:24:59,650 –> 00:25:02,730
نوت بوک تکرار کننده
434
00:25:02,730 –> 00:25:05,829
[موسیقی]
435
00:25:06,999 –> 00:25:09,829
انجام می دهم، بنابراین نمی دانم اگر کسی
436
00:25:09,829 –> 00:25:11,570
در مورد نوتبوکهای جابجا شده میداند، ایده
437
00:25:11,570 –> 00:25:14,709
اینجاست، بنابراین من در واقع این را
438
00:25:14,709 –> 00:25:17,690
از ترمینال
439
00:25:17,690 –> 00:25:22,339
اجرا میکنم، این گزارش این سرور است درست، من آن را با تایپ
440
00:25:22,339 –> 00:25:24,919
دفترچه یادداشت فضایی مشتری اجرا میکنم
441
00:25:24,919 –> 00:25:26,809
، اما فکر نمیکنم مهم باشد. برای اینکه
442
00:25:26,809 –> 00:25:31,070
فعلاً این را اجرا می کند و موضوع
443
00:25:31,070 –> 00:25:33,649
هر کدام از این سلول هاست وقتی که
444
00:25:33,649 –> 00:25:37,070
شماره ای مانند این و این یکی ندارد
445
00:25:37,070 –> 00:25:38,959
به این معنی است که آنها هنوز اجرا نشده اند
446
00:25:38,959 –> 00:25:41,629
و این یکی فقط برای
447
00:25:41,629 –> 00:25:44,649
اجرای آن اجرا شده است Shift را زدم. ش ift shift
448
00:25:44,649 –> 00:25:50,659
خوب است، بنابراین من این سلول را اجرا می کنم
449
00:25:50,659 –> 00:25:54,609
و اکنون
450
00:25:54,609 –> 00:25:57,859
مختصات کلاس را تعریف کردم، خوب کاری که قبلا انجام
451
00:25:57,859 –> 00:26:00,349
داده بودم چاپ نسخه پایتون بود
452
00:26:00,349 –> 00:26:03,159
تا مطمئن شوم همه
453
00:26:03,159 –> 00:26:05,570
متوجه می شوند که ما
454
00:26:05,570 –> 00:26:07,549
از Python 3.7 استفاده می کنیم زیرا برخی از
455
00:26:07,549 –> 00:26:09,459
ویژگی هایی که می خواهم 3.7 در حال تعلیق را نشان
456
00:26:09,459 –> 00:26:13,459
دهم خوب است، بنابراین یک کلاس تعریف کرده ام که
457
00:26:13,459 –> 00:26:15,739
این کلاس چه دارد، فقط
458
00:26:15,739 –> 00:26:18,019
یک رشته doc دارد و خط دوم
459
00:26:18,019 –> 00:26:20,629
کلاس ما اگر می خواهید یک
460
00:26:20,629 –> 00:26:22,839
کلاس خالی اعلام کنید باید چیزی را در
461
00:26:22,839 –> 00:26:26,539
آنجا قرار دهید زیرا دستور زبان پایتون
462
00:26:26,539 –> 00:26:29,209
نیاز دارد، بنابراین می توانید کلمه کلیدی pass را قرار دهید
463
00:26:29,209 –> 00:26:34,039
یا من ترجیح می دهم یک رشته doc قرار دهم و
464
00:26:34,039 –> 00:26:35,690
به هدف پر کردن آن فضا عمل می کند
465
00:26:35,690 –> 00:26:38,320
و بهتر از کلمه کلیدی رمز عبور است
466
00:26:38,320 –> 00:26:41,269
زیرا چیزی درست می گوید
467
00:26:41,269 –> 00:26:46,519
تا بتوانم ایجاد کنم. یک مختصات و من
468
00:26:46,519 –> 00:26:49,159
نمیتوانم طول و عرض جغرافیایی
469
00:26:49,159 –> 00:26:53,659
را با آن امضا کنم و میتوانم آنگاه این خط آخر
470
00:26:53,659 –> 00:26:59,119
باعث میشود مشتری مقدار را خوب نشان دهد، بنابراین این
471
00:26:59,119 –> 00:27:04,129
همان چیزی است که ما دیدیم، بنابراین یک شی خوب
472
00:27:04,129 –> 00:27:07,669
است و اینگونه نمایش داده میشود، من اضافه میکنم.
473
00:27:07,669 –> 00:27:10,710
یکی دیگر یک
474
00:27:10,710 –> 00:27:15,639
خط دیگر در اینجا یا یک سلول دیگر فقط
475
00:27:15,639 –> 00:27:18,639
برای اینکه به شما نشان دهم که من واقعاً می توانم
476
00:27:18,639 –> 00:27:25,120
به عرض جغرافیایی عیش و نوش نگاه
477
00:27:25,120 –> 00:27:28,570
کنم، بنابراین من به ویژگی ها دسترسی پیدا می کنم، بنابراین
478
00:27:28,570 –> 00:27:32,370
این اولین چیزی است که بسیار تعجب آور است،
479
00:27:33,450 –> 00:27:38,019
نه تنها راهی برای اعلام اینکه شما را نادیده می گیرد وجود ندارد.
480
00:27:38,019 –> 00:27:41,169
هیچ راهی برای اعلام ویژگیهای کلاس یا
481
00:27:41,169 –> 00:27:44,490
نمونه یا ویژگیهای داده وجود ندارد،
482
00:27:44,490 –> 00:27:47,379
اما شما نیازی به این کار ندارید زیرا میتوانید
483
00:27:47,379 –> 00:27:50,220
یک کلاس ایجاد کنید و فقط
484
00:27:50,220 –> 00:27:55,570
ویژگیهای marilee را به نمونهها
485
00:27:55,570 –> 00:28:00,210
486
00:28:01,470 –> 00:28:05,019
اختصاص دهید. ایده این است که شما می دانید
487
00:28:05,019 –> 00:28:07,690
هنگ کردن ویژگی های جدید در حالی که کلاس
488
00:28:07,690 –> 00:28:09,909
ها در سراسر سیستم رد
489
00:28:09,909 –> 00:28:13,960
490
00:28:13,960 –> 00:28:19,419
491
00:28:19,419 –> 00:28:24,129
492
00:28:24,129 –> 00:28:26,950
و بدل می شوند. دوست دارم
493
00:28:26,950 –> 00:28:31,090
روشی را به نام under wrapper پیاده سازی کنم،
494
00:28:31,090 –> 00:28:33,970
بنابراین این
495
00:28:33,970 –> 00:28:37,570
یکی از ویژگی های
496
00:28:37,570 –> 00:28:42,809
اصلی کلاس پایتونیک است، بنابراین ایده
497
00:28:42,809 –> 00:28:45,879
از زمان صحبت های کوچک افرادی
498
00:28:45,879 –> 00:28:47,769
که روابط شی گرا ایجاد کرده اند چیست؟
499
00:28:47,769 –> 00:28:50,019
زبان و زبان های اوگرامینگ
500
00:28:50,019 –> 00:28:52,450
متوجه شده اند که برای اشیا مهم
501
00:28:52,450 –> 00:28:54,580
است که راهی برای نشان دادن خود به عنوان
502
00:28:54,580 –> 00:28:58,960
رشته درست داشته باشند، بنابراین اگر من یک if داشته باشم اگر
503
00:28:58,960 –> 00:29:03,789
بگویم این شیء را
504
00:29:03,789 –> 00:29:06,789
چاپ کنید، تابع چاپ چیزی را
505
00:29:06,789 –> 00:29:08,679
روی شیء فراخوانی می کند که به آن به طوری که
506
00:29:08,679 –> 00:29:11,080
شی مسئول نمایش
507
00:29:11,080 –> 00:29:15,480
خود است خوب این یک روش بسیار
508
00:29:15,480 –> 00:29:17,769
شی گرا برای تفکر است.
509
00:29:17,769 –> 00:29:22,570
510
00:29:22,570 –> 00:29:24,430
511
00:29:24,430 –> 00:29:27,070
512
00:29:27,070 –> 00:29:30,010
513
00:29:30,010 –> 00:29:31,840
ویژگی های نام من یا هر چیز دیگری که
514
00:29:31,840 –> 00:29:36,370
باید وظیفه من به عنوان یک شی باشد
515
00:29:36,370 –> 00:29:39,460
و همچنین در زبان های دیگر مانند جاوا
516
00:29:39,460 –> 00:29:41,800
شما یک روش دو رشته ای دارید تقریباً
517
00:29:41,800 –> 00:29:43,750
هر یا هر زبان شی گرا
518
00:29:43,750 –> 00:29:47,230
دارای روشی است که طراحی شده است
519
00:29:47,230 –> 00:29:49,240
که باید آن را پیاده سازی کنید تا
520
00:29:49,240 –> 00:29:50,920
اشیاء شما می توانند خود را به صورت رشته نشان دهند،
521
00:29:50,920 –> 00:29:54,880
اما پایتون دو روش نسبت
522
00:29:54,880 –> 00:29:58,500
به آن دارد و وقتی این dunder wrapper را خوب تلفظ می کنیم،
523
00:29:58,500 –> 00:30:00,580
524
00:30:00,580 –> 00:30:02,170
پس
525
00:30:02,170 –> 00:30:05,650
در هر دو خط زیر خط دوگانه وجود دارد. sides سپس
526
00:30:05,650 –> 00:30:11,140
wrapper یکی از روشهایی است که شما
527
00:30:11,140 –> 00:30:16,750
استفاده میکنید و ایده این است که پس از آن
528
00:30:16,750 –> 00:30:22,810
wrapper نمایشی فنی از اشیاء را نشان میدهد،
529
00:30:22,810 –> 00:30:25,060
اجازه دهید
530
00:30:25,060 –> 00:30:28,720
آن را خوب بنامیم، بنابراین راهی برای نشان دادن
531
00:30:28,720 –> 00:30:30,610
شیء مفید برای اشکالزدایی
532
00:30:30,610 –> 00:30:37,360
یا ورود به سیستم یا برای آموزش و این
533
00:30:37,360 –> 00:30:40,180
در قراردادها با روشی برای نمایش
534
00:30:40,180 –> 00:30:42,610
یک رشته یک رشته کاربر پسند از
535
00:30:42,610 –> 00:30:45,010
اشیاء است که ما به
536
00:30:45,010 –> 00:30:50,920
زودی به خوبی انجام خواهیم داد.
537
00:30:50,920 –> 00:30:53,680
538
00:30:53,680 –> 00:30:59,190
تکرار کنید و حالا
539
00:30:59,190 –> 00:31:04,480
تفاوت را ببینید، بنابراین چون اکنون
540
00:31:04,480 –> 00:31:06,880
wrapper را انجام دادهام، شی من دیگر
541
00:31:06,880 –> 00:31:09,180
اینطور نمایش داده نمیشود،
542
00:31:09,180 –> 00:31:11,560
این همان wrapper است که
543
00:31:11,560 –> 00:31:13,990
شیء من کلاس من از آن به ارث برده
544
00:31:13,990 –> 00:31:16,960
است، کلاس شیء اشیایی
545
00:31:16,960 –> 00:31:19,240
مانند این نام کلاس را نشان میدهد. و
546
00:31:19,240 –> 00:31:23,260
موقعیت در حافظه فقط به عنوان راهی برای
547
00:31:23,260 –> 00:31:25,600
شناسایی منحصر به فرد آن نمونه به طوری
548
00:31:25,600 –> 00:31:27,700
که شما بدانید که آیا دو نمونه
549
00:31:27,700 –> 00:31:31,060
مشابه هستند یا متفاوت هستند، اگر
550
00:31:31,060 –> 00:31:32,950
روی wrapper پیاده سازی کنید، می
551
00:31:32,950 –> 00:31:36,460
توانید اشیاء ما را ap کنید. گلابی به روشی دیگر
552
00:31:36,460 –> 00:31:38,860
و این در واقع یک راه خوب برای
553
00:31:38,860 –> 00:31:45,490
انجام کاری است که نمایش
554
00:31:45,490 –> 00:31:48,100
شی به عنوان کد منبع است
555
00:31:48,100 –> 00:31:50,470
که از آن برای بازسازی و
556
00:31:50,470 –> 00:31:53,590
کپی کردن اشیاء استفاده می کنید که منطقی است
557
00:31:53,590 –> 00:31:56,740
ببینید این مانند فراخوانی کلاس است.
558
00:31:56,740 –> 00:31:58,629
و ارسال دو آرگومان برای درست ساختن
559
00:31:58,629 –> 00:32:05,860
اشیاء، بنابراین برخی از
560
00:32:05,860 –> 00:32:08,559
بهترین روشها در مورد dunder wrapper را انجام دهید،
561
00:32:08,559 –> 00:32:10,720
بنابراین wrapper برای مستندات برنامهنویسی اکتشافی خوب است.
562
00:32:10,720 –> 00:32:12,850
563
00:32:12,850 –> 00:32:14,110
564
00:32:14,110 –> 00:32:17,919
565
00:32:17,919 –> 00:32:20,230
566
00:32:20,230 –> 00:32:22,299
برگرداندن یک رشته با
567
00:32:22,299 –> 00:32:24,070
نحو مورد نیاز برای ایجاد یک نمونه جدید
568
00:32:24,070 –> 00:32:26,679
مانند همان انتظاری که من
569
00:32:26,679 –> 00:32:29,769
گفتم این رشته را اینجا بنویسید اگر
570
00:32:29,769 –> 00:32:32,409
آن را در ترمینال کپی و جایگذاری کنم و
571
00:32:32,409 –> 00:32:34,470
پوسته پایتون قرار است
572
00:32:34,470 –> 00:32:39,549
مختصات دیگری مانند آن روش فنی دیگر
573
00:32:39,549 –> 00:32:43,179
برای گفتن ایجاد کند. این است که تابع wrapper
574
00:32:43,179 –> 00:32:45,220
که تابع داخلی
575
00:32:45,220 –> 00:32:47,350
پایتون است، لفاف دندانی
576
00:32:47,350 –> 00:32:51,970
اشیا را به درستی فراخوانی می کند، بنابراین زمانی که شما هنگام فراخوانی
577
00:32:51,970 –> 00:32:55,269
wrapper از X yo
578
00:32:55,269 –> 00:32:56,559
اگر رشته ای
579
00:32:56,559 –> 00:32:58,149
دارید باید یک شی دریافت کنید که
580
00:32:58,149 –> 00:33:01,720
برابر با عدد X اصلی باشد.
581
00:33:01,720 –> 00:33:03,879
582
00:33:03,879 –> 00:33:06,340
583
00:33:06,340 –> 00:33:09,039
584
00:33:09,039 –> 00:33:13,389
در زیر لفاف، اما اجازه دهید من
585
00:33:13,389 –> 00:33:22,629
این مورد را در اینجا به شما نشان دهم، بنابراین اگر این کار را انجام دهم چه اتفاقی میافتد،
586
00:33:22,629 –> 00:33:25,289
587
00:33:31,630 –> 00:33:36,049
متأسفانه باید آن را صدا کنم، آن
588
00:33:36,049 –> 00:33:41,450
رشته را درست دریافت میکنم و اگر این کار را با همان رشته انجام دهم چه اتفاقی میافتد،
589
00:33:41,450 –> 00:33:52,700
که
590
00:33:52,700 –> 00:33:56,360
البته این بهتر است که خواناتر باشد. اگرچه
591
00:33:56,360 –> 00:34:01,340
این امر باعث نگرانی افرادی می شود
592
00:34:01,340 –> 00:34:03,620
که از زبان های دیگر می آیند زیرا
593
00:34:03,620 –> 00:34:06,220
شی گرا به نظر نمی رسد.
594
00:34:06,220 –> 00:34:08,719
595
00:34:08,719 –> 00:34:10,550
596
00:34:10,550 –> 00:34:14,989
597
00:34:14,989 –> 00:34:17,899
به
598
00:34:17,899 –> 00:34:20,540
این صورت است و شما بارها و بارها این را در پایتون خواهید دید،
599
00:34:20,540 –> 00:34:22,969
شما تابع Len را دارید، ما یکسری توابع داخلی داریم
600
00:34:22,969 –> 00:34:25,668
601
00:34:25,668 –> 00:34:29,719
که نام آنها مانند متدهای خاص است و
602
00:34:29,719 –> 00:34:32,270
شما از آنها استفاده می کنید، هرگز نباید این کار را به
603
00:34:32,270 –> 00:34:35,179
درستی انجام دهید.
604
00:34:35,179 –> 00:34:36,679
برای شما طراحی نشده است که آنها را
605
00:34:36,679 –> 00:34:39,260
نامگذاری کنید پایتون آنها را در مواقع ضروری برای شما فراخوانی می کند،
606
00:34:39,260 –> 00:34:42,560
پس چه معنایی دارد که چرا اینگونه است
607
00:34:42,560 –> 00:34:47,030
زیرا موضوع برای
608
00:34:47,030 –> 00:34:49,699
ساختن اشیایی است که بخشی از
609
00:34:49,699 –> 00:34:51,290
مفسر پایتون هستند و
610
00:34:51,290 –> 00:34:54,409
در C پیاده سازی می شوند یا برای چیزهایی
611
00:34:54,409 –> 00:34:56,239
که بخشی از مفسر نیستند، اما
612
00:34:56,239 –> 00:34:59,590
در C نیز پیادهسازی میشوند
613
00:34:59,590 –> 00:35:03,680
، بهعنوان مثال Moonpie Object NVRA هر چیز
614
00:35:03,680 –> 00:35:05,470
دیگری در علم داده، بیشتر آن
615
00:35:05,470 –> 00:35:07,369
اشیایی را که هنگام انجام
616
00:35:07,369 –> 00:35:09,140
علم داده در پایتون
617
00:35:09,140 –> 00:35:11,390
استفاده میکنید، در C پیادهسازی میشوند. آنها
618
00:35:11,390 –> 00:35:13,940
در زبان های دیگر پیاده سازی می شوند اما
619
00:35:13,940 –> 00:35:15,980
بیشتر آنها
620
00:35:15,980 –> 00:35:20,150
در c پیاده سازی شده اند.
621
00:35:20,150 –> 00:35:24,140
622
00:35:24,140 –> 00:35:27,290
623
00:35:27,290 –> 00:35:29,810
624
00:35:29,810 –> 00:35:32,270
625
00:35:32,270 –> 00:35:35,660
همه ماشین آلات Inc را درگیر
626
00:35:35,660 –> 00:35:38,060
فراخوانی روشهای ما
627
00:35:38,060 –> 00:35:40,160
نمیدانید که به ماشینهای گران قیمت مربوط میشود،
628
00:35:40,160 –> 00:35:41,670
زیرا به روش
629
00:35:41,670 –> 00:35:47,309
یا روش پویا جستجو کردن مربوط میشود. s
630
00:35:47,309 –> 00:35:50,059
در سلسله مراتب وراثت و غیره و غیره
631
00:35:50,059 –> 00:35:55,890
و به همین ترتیب موضوع این است که به همین دلیل است که
632
00:35:55,890 –> 00:35:58,650
شما این نحو را دارید زیرا این نحو
633
00:35:58,650 –> 00:36:01,500
برای اشیاء butene و اشیاء
634
00:36:01,500 –> 00:36:06,390
پیادهسازی شده در c سریعتر است اما وقتی اما اما
635
00:36:06,390 –> 00:36:09,690
یک بازگشت دارد که زمانی است که تابع wrapper را اعمال میکنید.
636
00:36:09,690 –> 00:36:12,480
یک شی که شما
637
00:36:12,480 –> 00:36:14,369
ایجاد کرده اید یا شخصی در پایتون ایجاد کرده است،
638
00:36:14,369 –> 00:36:17,130
سپس سیستم دوباره فراخوانی
639
00:36:17,130 –> 00:36:21,210
می کند تا این کار را درست انجام دهد، بنابراین منطقی است که
640
00:36:21,210 –> 00:36:22,799
می خواستم توضیح دهم زیرا گاهی اوقات
641
00:36:22,799 –> 00:36:24,960
مردم پایتون را به دلیل این نحو شی گرا بودن متهم می کنند،
642
00:36:24,960 –> 00:36:29,089
643
00:36:30,950 –> 00:36:34,079
اما این فقط مثل اینکه این یک
644
00:36:34,079 –> 00:36:37,470
راه حل عملی است که بتوانید با توکارها خیلی سریع عمل کنید، بسیار
645
00:36:37,470 –> 00:36:41,599
خوب،
646
00:36:41,599 –> 00:36:45,029
قبلاً گفته بودم، بنابراین یک راه حل دیگر وجود دارد که
647
00:36:45,029 –> 00:36:46,589
من گفتم که نمایش
648
00:36:46,589 –> 00:36:48,210
دیگری برای کاربران وجود دارد و این
649
00:36:48,210 –> 00:36:51,839
کار با هم زدن dunder انجام می شود و اینجا یک کار
650
00:36:51,839 –> 00:36:57,420
خوب است. هم بزنید من آن را اجرا می کنم یا
651
00:36:57,420 –> 00:37:00,240
بنابراین فقط بازی کلاسیک را تعریف می کنم و ما می
652
00:37:00,240 –> 00:37:01,619
خواهیم و سپس به زودی کد را توضیح خواهم داد
653
00:37:01,619 –> 00:37:07,710
اما ببینید فکر می کنم خوب است بنابراین اکنون
654
00:37:07,710 –> 00:37:09,029
وقتی مختصات را چاپ می
655
00:37:09,029 –> 00:37:12,299
کنم به نظر کاربر می رسد دوست دارم
656
00:37:12,299 –> 00:37:24,019
مختصات را درست ببینم، بنابراین، اوه،
657
00:37:31,739 –> 00:37:54,640
چیزی در اینجا عالی نیست، بنابراین
658
00:37:54,640 –> 00:37:57,039
چیز دیگری که وقتی
659
00:37:57,039 –> 00:38:01,200
مردم با پایتون شروع به کار می کنند کمی تعجب آور است، این است که
660
00:38:01,200 –> 00:38:12,339
تعریف فلزی مانند این وقتی که یک
661
00:38:12,339 –> 00:38:14,079
روش نمونه باشد، روشی است که
662
00:38:14,079 –> 00:38:15,670
در بیشتر موارد با نمونه سروکار دارد. فلزاتی که
663
00:38:15,670 –> 00:38:17,739
شما می خواهید ایجاد کنید و انجام می دهند به
664
00:38:17,739 –> 00:38:20,999
عنوان مثال آنها باید آرگومان های خود را دریافت کنند
665
00:38:20,999 –> 00:38:25,019
که بخشی از فراخوانی
666
00:38:25,019 –> 00:38:36,789
درست نیست، بنابراین ایده این است که این
667
00:38:36,789 –> 00:38:38,079
در واقع به
668
00:38:38,079 –> 00:38:40,539
مکانیسم توصیفگر نیز مربوط است، اما به هر حال
669
00:38:40,539 –> 00:38:47,460
این باعث می شود بنابراین وقتی پایتون این را می بیند،
670
00:38:47,579 –> 00:38:52,470
این نمونه را به عنوان استدلال خود می گذراند
671
00:38:52,470 –> 00:38:56,739
و بنابراین ما این چیز دیگر را داریم
672
00:38:56,739 –> 00:39:00,099
اکنون من یک میانبر کوچک
673
00:39:00,099 –> 00:39:04,390
در اینجا دارم که نمی دانم از آن خجالت می کشم
674
00:39:04,390 –> 00:39:06,190
یا افتخار می کنم، اما می خواهم به شما نشان می دهم
675
00:39:06,190 –> 00:39:08,829
زیرا بسیار جالب است که چگونه
676
00:39:08,829 –> 00:39:11,079
این کار را انجام می دهد، بنابراین برای
677
00:39:11,079 –> 00:39:13,720
اینکه انتخاب کنم آیا قرار است M یا
678
00:39:13,720 –> 00:39:19,390
W بنویسم یا N داخلی یا s یا W یا E و
679
00:39:19,390 –> 00:39:22,420
مختصاتی که از این عبارت دیوانه وار
680
00:39:22,420 –> 00:39:26,529
در اینجا استفاده می کنم، در واقع این کار را نمی کند. شبیه
681
00:39:26,529 –> 00:39:29,859
پایتون اما پایتون است پس اجازه دهید به
682
00:39:29,859 –> 00:39:33,609
شما بگویم اینجا چه خبر است این عبارت
683
00:39:33,609 –> 00:39:37,480
در اینجا یک بولی را برمیگرداند که تمام
684
00:39:37,480 –> 00:39:38,650
عملگرهای مقایسه را
685
00:39:38,650 –> 00:39:41,740
در بولی بازگشتی بنویسید و یک بولی در
686
00:39:41,740 –> 00:39:47,079
پایتون در واقع یک زیر کلاس از int است که
687
00:39:47,079 –> 00:39:51,819
مقدار واقعی آن 1 است و مقدار 0 یا
688
00:39:51,819 –> 00:39:56,470
مقدار نادرست 0 است، بنابراین چون
689
00:39:56,470 –> 00:39:59,710
بولی یک نوع int یک نوع فرعی از
690
00:39:59,710 –> 00:40:04,690
int است، میتوانید از آنها در حساب استفاده کنید که
691
00:40:04,690 –> 00:40:06,220
گاهی جالب است، میدانید که
692
00:40:06,220 –> 00:40:08,950
میتوانید معادلهای داشته باشید که در آن یک
693
00:40:08,950 –> 00:40:11,380
عبارت خاص وجود دارد که اگر شرط خاصی اعمال شود باید 0 باشد.
694
00:40:11,380 –> 00:40:14,170
بنابراین شما می توانید
695
00:40:14,170 –> 00:40:16,839
آن را به همین صورت استفاده کنید و در این شرایط من
696
00:40:16,839 –> 00:40:19,799
از آن به عنوان شاخصی برای این رشته استفاده می کنم، بنابراین
697
00:40:19,799 –> 00:40:25,210
اگر این نادرست است، من نمایش می دهم
698
00:40:25,210 –> 00:40:27,309
بنابراین نتیجه این
699
00:40:27,309 –> 00:40:31,480
0 خواهد بود، پس من و من در حال خواندن
700
00:40:31,480 –> 00:40:33,519
نمایه 0 این رشته هستم که
701
00:40:33,519 –> 00:40:37,990
حرف n درست است، در غیر این صورت اگر
702
00:40:37,990 –> 00:40:43,739
درست باشد، s ok را انتخاب می کنم و
703
00:40:43,739 –> 00:40:47,829
در اینجا همه چیزهایی که
704
00:40:47,829 –> 00:40:51,809
بچه های باحال از رشته های f استفاده می کنند بسیار
705
00:40:51,809 –> 00:40:54,400
جالب است. خیلی توضیح می دهم
706
00:40:54,400 –> 00:40:56,470
فقط می خواهم بگویم که زیباست y
707
00:40:56,470 –> 00:40:58,269
قدرتمند است زیرا به شما امکان می دهد
708
00:40:58,269 –> 00:41:00,789
در واقع عبارت را قرار دهید ببینید من یک فلز دارم
709
00:41:00,789 –> 00:41:02,410
من یک تابع را در اینجا
710
00:41:02,410 –> 00:41:05,559
فراخوانی می کنم من ABS عرض جغرافیایی را فراخوانی می کنم و
711
00:41:05,559 –> 00:41:08,140
سپس پیش فرض را دارم بنابراین این قسمت در اینجا
712
00:41:08,140 –> 00:41:10,539
یک عبارت است و بعد از
713
00:41:10,539 –> 00:41:14,170
ستون قالب بندی همه است. این در داخل این
714
00:41:14,170 –> 00:41:19,960
پرانتزها در اینجا درست است و این فقط
715
00:41:19,960 –> 00:41:23,130
متغیری است که این یکی این متغیر در اینجا خوب است،
716
00:41:23,130 –> 00:41:28,210
بنابراین به نظر می رسد که این کلاس ما کار می کند با این
717
00:41:28,210 –> 00:41:30,670
تفاوت که ما به
718
00:41:30,670 –> 00:41:33,220
نوعی وارد کل موضوع ویژگی ها شدیم
719
00:41:33,220 –> 00:41:34,960
که همان چیزی است که من صحبت می کردم. در مورد
720
00:41:34,960 –> 00:41:37,359
حق چون وقتی کلاس را ایجاد کردم
721
00:41:37,359 –> 00:41:39,700
تا هر بار که این کار را انجام می
722
00:41:39,700 –> 00:41:42,309
دادم نشان دهم، یک نمونه ایجاد کردم و سپس
723
00:41:42,309 –> 00:41:45,220
ویژگی هایی را اختصاص دادم اگر این کار را انجام
724
00:41:45,220 –> 00:41:49,590
ندهم یک استثنا دریافت می کنم که
725
00:41:49,590 –> 00:41:51,960
می گوید شی هیچ شکاف مشخصه ای ندارد
726
00:41:51,960 –> 00:41:55,580
خوب دلیل اینکه همه را نوشتم
727
00:41:55,580 –> 00:41:58,400
رسیدگی به این استثنا در اینجا به این دلیل است که
728
00:41:58,400 –> 00:42:06,380
در غیر این صورت ما این را اینجا میبینیم
729
00:42:08,120 –> 00:42:12,810
و همچنین زمانی که من اگر بگویم نوتبوک را چکه کنید
730
00:42:12,810 –> 00:42:14,520
همه چیز را اجرا کنید تا ببینید آیا
731
00:42:14,520 –> 00:42:16,860
همه چیز درست است، اینجا متوقف میشود و
732
00:42:16,860 –> 00:42:19,530
اجرا نمیشود باقی مانده
733
00:42:19,530 –> 00:42:25,470
سلولها، به همین دلیل است که من این کار را به این صورت
734
00:42:25,470 –> 00:42:27,720
در اینجا انجام میدهم، جایی که استثنا را میگیرم و
735
00:42:27,720 –> 00:42:31,860
به هر حال پیام را چاپ میکنم، بنابراین
736
00:42:31,860 –> 00:42:36,330
برای رفع این مشکل چه کاری میتوانم انجام دهم، بنابراین راهحل سریع و
737
00:42:36,330 –> 00:42:45,030
کثیف برای این مشکل ایجاد دو
738
00:42:45,030 –> 00:42:48,080
ویژگی در اینجا است،
739
00:42:55,330 –> 00:42:58,390
بنابراین اگر دوباره آن را اجرا کنم بنابراین من
740
00:42:58,390 –> 00:43:00,370
فقط صفات را در بدنه
741
00:43:00,370 –> 00:43:04,950
کلاس اضافه کردم تا آنها ویژگی های کلاس باشند،
742
00:43:04,950 –> 00:43:10,770
اما اکنون وقتی این را اجرا می کنم کار می کند و
743
00:43:10,770 –> 00:43:13,420
این یک چیز عجیب در مورد
744
00:43:13,420 –> 00:43:20,440
پایتون است که به
745
00:43:20,440 –> 00:43:23,620
طور ضمنی در اینجا برای این چاپ اتفاق می افتد تا
746
00:43:23,620 –> 00:43:28,210
این dunder را اجرا کند. stir فراخوانی میشود
747
00:43:28,210 –> 00:43:33,160
و سپس دکستر به self dot لاتین
748
00:43:33,160 –> 00:43:42,930
self dot طولانی درست دسترسی پیدا میکند، بنابراین به
749
00:43:42,930 –> 00:43:46,600
ویژگیها در نمونه نگاه میکند، اما
750
00:43:46,600 –> 00:43:48,520
نمونه ویژگیها را ندارد،
751
00:43:48,520 –> 00:43:51,520
بنابراین پایتون به کلاس نگاه میکند و
752
00:43:51,520 –> 00:43:54,760
آن مقادیر را دریافت میکند، بنابراین به این ترتیب، راهی برای این کار وجود دارد.
753
00:43:54,760 –> 00:44:01,590
از داشتن مقادیر پیشفرض برای
754
00:44:01,590 –> 00:44:05,140
ویژگیها، اما فکر نمیکنم
755
00:44:05,140 –> 00:44:06,550
این خیلی تمیز باشد و در واقع
756
00:44:06,550 –> 00:44:08,680
دیگر آن را توصیه نمیکنم، میخواهم
757
00:44:08,680 –> 00:44:12,600
بیشتر در مورد آن صحبت کنم، خوب
758
00:44:13,500 –> 00:44:15,940
اینجا مثال دیگری از استفاده از
759
00:44:15,940 –> 00:44:18,820
ویژگی کلاس است. es به عنوان پیش فرض است، به عنوان مثال
760
00:44:18,820 –> 00:44:21,400
من کلاسی به نام پیتزا دارم، آن
761
00:44:21,400 –> 00:44:25,770
هیچ روشی ندارد، فقط
762
00:44:25,770 –> 00:44:28,750
کلاس ویژگی های داده کلاس را مشخص می کند،
763
00:44:28,750 –> 00:44:32,590
بنابراین می توانم یک نمونه پیتزا ایجاد کنم و
764
00:44:32,590 –> 00:44:34,630
می توانم برش ها را بپرسم و آن را دریافت می
765
00:44:34,630 –> 00:44:39,520
کنم و می توانم طعم آن را بخواهید و آن
766
00:44:39,520 –> 00:44:45,880
پنیر است و او در دستور روز انجام شده تردید دارد،
767
00:44:45,880 –> 00:44:49,090
ویژگی خاصی است که اکثر
768
00:44:49,090 –> 00:44:54,450
اشیاء پایتون دارند، برخی آن را ندارند،
769
00:44:55,830 –> 00:44:58,240
اما اکثر اشیاء الگو دارای dyrdek انجام شده
770
00:44:58,240 –> 00:45:00,070
هستند و یک اعتیادآور دیگر اساساً یک
771
00:45:00,070 –> 00:45:04,330
فرهنگ لغت است که به شما می گوید چه چیزهایی هستند.
772
00:45:04,330 –> 00:45:07,510
ویژگی های آن نمونه خاص
773
00:45:07,510 –> 00:45:09,880
خوب است و همانطور که می بینید حتی اگر
774
00:45:09,880 –> 00:45:12,370
من در مورد این لیز و
775
00:45:12,370 –> 00:45:14,680
طعم و مزه نمونه خوک می پرسیدم
776
00:45:14,680 –> 00:45:16,690
، هیچ ویژگی ندارد زیرا اکنون
777
00:45:16,690 –> 00:45:19,800
همه چیز را از کلاس دریافت می کند اگر من
778
00:45:19,800 –> 00:45:29,370
تخصیص بدهم و به دیک ها نگاه کنم. من می بینم
779
00:45:29,370 –> 00:45:34,840
که مقدار به عنوان یک ویژگی نمونه ظاهر می شود،
780
00:45:34,840 –> 00:45:37,930
بنابراین در اینجا یک عدم تقارن وجود دارد،
781
00:45:37,930 –> 00:45:42,580
یعنی زمانی که تعداد زیادی Rivet را می خوانید که
782
00:45:42,580 –> 00:45:46,030
در نمونه وجود ندارد
783
00:45:46,030 –> 00:45:49,000
، به کلاس نگاه می کند، اما اگر علامت
784
00:45:49,000 –> 00:45:51,130
بزنید، اینطور نیست. به کلاسی
785
00:45:51,130 –> 00:45:54,520
که به این نمونه اختصاص داده نگاه کنید، به این معنی
786
00:45:54,520 –> 00:45:56,970
که اگر پیتزای دیگری در اینجا ایجاد کنم، میدانید که
787
00:45:56,970 –> 00:46:10,380
اگر پیتزای دیگری ایجاد کنم،
788
00:46:11,970 –> 00:46:18,790
و در مورد طعم آن پنیر خواهد بود،
789
00:46:18,790 –> 00:46:21,370
زیرا این پیشفرض
790
00:46:21,370 –> 00:46:24,220
در کلاس است، درست است که من
791
00:46:24,220 –> 00:46:26,200
اختصاص داده شده به نمونه
792
00:46:26,200 –> 00:46:32,980
کلاس را به هیچ وجه تغییر نداده است، بنابراین من می توانم بررسی کنم و
793
00:46:32,980 –> 00:46:37,450
ببینم پیتزای کلاس،
794
00:46:37,450 –> 00:46:39,550
پیروز کلاس، کلاس را متهم نکرده
795
00:46:39,550 –> 00:46:41,470
است، در پراکسی نقشه برداری به دو صورت مجزا پیچیده شده
796
00:46:41,470 –> 00:46:44,380
است.
797
00:46:44,380 –> 00:46:47,980
مانند یک فرهنگ لغت فقط خواندنی است، اما همانطور
798
00:46:47,980 –> 00:46:50,860
که می بینید در بریتانیا آنها را به این موضوع نسبت
799
00:46:50,860 –> 00:46:53,080
می دهند که من به صراحت
800
00:46:53,080 –> 00:46:54,910
در کلاس مانند برش های قطری عطر
801
00:46:54,910 –> 00:46:58,830
و طعم اعلام شده است – و سپس چیزهای دیگری دارد،
802
00:46:58,830 –> 00:47:01,480
از جمله اینجاست که رشته تیره
803
00:47:01,480 –> 00:47:03,820
اگر رشته سگ وجود داشته باشد
804
00:47:03,820 –> 00:47:05,560
اما من در این مورد اکسیژن ایجاد نکرده
805
00:47:05,560 –> 00:47:14,530
باشم خوب است، بنابراین اکنون برای پایان دادن به این جلسه
806
00:47:14,530 –> 00:47:17,450
در اینجا می خواهم پیتزای بهتری را نشان دهم،
807
00:47:17,450 –> 00:47:20,770
بنابراین این چیزی است که من
808
00:47:20,770 –> 00:47:27,500
پیتزای حرفه ای لذیذ را خوب می دانم و چیزی که
809
00:47:27,500 –> 00:47:33,260
من می دانم انجام دادم اینجا جدا میشم با توجه به اینکه من
810
00:47:33,260 –> 00:47:37,220
آن دو آن دو ویژگی را ایجاد
811
00:47:37,220 –> 00:47:41,180
کردم، آنها را ویژگی های کلاس
812
00:47:41,180 –> 00:47:44,119
می دانم زیرا هر پیتزایی که من درست
813
00:47:44,119 –> 00:47:46,400
می کنم 40 سانتی متر قطر خواهد داشت
814
00:47:46,400 –> 00:47:53,060
و هشت تکه خوب است، آنها به
815
00:47:53,060 –> 00:47:55,220
نوعی مانند یک گزینه پیکربندی
816
00:47:55,220 –> 00:47:57,680
کلاس هستند و کلاس یک کارخانه است. از
817
00:47:57,680 –> 00:47:59,359
اشیاء درست است، بنابراین من می توانم
818
00:47:59,359 –> 00:48:03,170
کلاس را طوری پیکربندی کنم که شروع به ساختن نمونه هایی
819
00:48:03,170 –> 00:48:06,530
با آن ویژگی ها کند، بنابراین اینها
820
00:48:06,530 –> 00:48:09,619
ویژگی های کلاس هستند و ویژگی های نمونه
821
00:48:09,619 –> 00:48:13,579
روش صحیح انجام آنها
822
00:48:13,579 –> 00:48:18,260
امروز این است که همه آنها را در داخل dunder init اختصاص دهیم،
823
00:48:18,260 –> 00:48:21,200
بنابراین برخی از افراد محدودیت های آنها
824
00:48:21,200 –> 00:48:23,800
را فراخوانی می کنند. آنها آن را سازنده می نامند
825
00:48:23,800 –> 00:48:28,010
زیرا همان کاری را که ساختار در جاوا انجام می دهد انجام می دهد،
826
00:48:28,010 –> 00:48:30,140
اما در واقع
827
00:48:30,140 –> 00:48:34,819
سازنده نیست زیرا شی را
828
00:48:34,819 –> 00:48:36,619
به عنوان اولین آرگومان C دریافت می کند، بنابراین
829
00:48:36,619 –> 00:48:38,900
شی قبلاً ساخته شده است آنچه
830
00:48:38,900 –> 00:48:40,849
آنها در آنجا انجام داده اند انجام می دهد.
831
00:48:40,849 –> 00:48:42,650
به همین دلیل است که به
832
00:48:42,650 –> 00:48:45,589
آن dunder init می گویند، بنابراین نمونه را دریافت می
833
00:48:45,589 –> 00:48:49,579
کند و سپس
834
00:48:49,579 –> 00:48:52,000
هر چیزی را که نیاز دارید در اینجا مقداردهی اولیه کنید و
835
00:48:52,000 –> 00:48:55,119
این بهترین اثر است روش
836
00:48:55,119 –> 00:48:59,540
سنتی اعلام
837
00:48:59,540 –> 00:49:02,089
ویژگیهای نمونه در پایتون، تخصیص آنها
838
00:49:02,089 –> 00:49:04,490
در dunder init است و این بهترین
839
00:49:04,490 –> 00:49:07,250
روش است که همیشه باید هر
840
00:49:07,250 –> 00:49:09,349
چیزی را که قرار است در همه
841
00:49:09,349 –> 00:49:12,680
نمونهها در واحدهای اهداکننده وجود داشته باشد اختصاص دهید
842
00:49:12,680 –> 00:49:15,109
و لطفاً این کار را با روشهای مختلف و غیره انجام ندهید.
843
00:49:15,109 –> 00:49:18,619
یا بعداً بدانید که اگر میخواهید
844
00:49:18,619 –> 00:49:21,079
بعداً یک ویژگی ایجاد کنید، بهترین کار این است
845
00:49:21,079 –> 00:49:22,730
که آن را ایجاد کنید تا اینکه در آن وجود دارد،
846
00:49:22,730 –> 00:49:26,480
یک انتساب به آن خوب است یا مقداری خالی،
847
00:49:26,480 –> 00:49:28,730
من در واقع میتوانم هر چیزی را ذخیره کنم و
848
00:49:28,730 –> 00:49:30,960
بعداً وقتی دادههایی در اختیار داشتید به مهمترین چیزها تبدیل کنید.
849
00:49:30,960 –> 00:49:33,180
نکته این است که این
850
00:49:33,180 –> 00:49:35,099
ویژگی قبلاً اعلام شده است تا
851
00:49:35,099 –> 00:49:37,740
افراد در کلاس شما بدانند که چه چیزی
852
00:49:37,740 –> 00:49:41,099
را انتظار دارند، بنابراین در اینجا
853
00:49:41,099 –> 00:49:42,710
ما با نقص در پایتون سروکار داریم
854
00:49:42,710 –> 00:49:46,080
کمبود آن را دریافت کنید این است که هیچ
855
00:49:46,080 –> 00:49:49,530
راه صریحی برای گفتن اینکه Python
856
00:49:49,530 –> 00:49:54,420
نمونه چیست وجود ندارد. ویژگیهای نمونه
857
00:49:54,420 –> 00:49:57,450
بنابراین بهترین کاری که میتوانیم انجام دهیم
858
00:49:57,450 –> 00:49:59,750
این است که قراردادها را بپذیریم و این بهترین قراردادی است که ما
859
00:49:59,750 –> 00:50:02,400
همه آنها را در
860
00:50:02,400 –> 00:50:08,550
واحد اختصاص دادهایم، بنابراین عملکرد خوب در اینجا نشان داده شده است
861
00:50:08,550 –> 00:50:13,080
. e اینکه من از ویژگیهای کلاس
862
00:50:13,080 –> 00:50:14,940
برای ویژگیهایی استفاده کردم که بین همه نمونهها به اشتراک گذاشته میشوند
863
00:50:14,940 –> 00:50:19,410
و ویژگیهایی که
864
00:50:19,410 –> 00:50:21,270
انتظار میرود بین نمونهها متفاوت باشد،
865
00:50:21,270 –> 00:50:22,859
ویژگیهای نمونه هستند و
866
00:50:22,859 –> 00:50:24,540
ویژگیهای نمونه همه نسبت به واحدهای خود وارد شدهاند
867
00:50:24,540 –> 00:50:28,619
و اگر مقدار پیشفرض برای مثال،
868
00:50:28,619 –> 00:50:31,260
ویژگیها پیشفرض آرگومان هستند در
869
00:50:31,260 –> 00:50:33,300
dunder init right بنابراین من می توانم یک
870
00:50:33,300 –> 00:50:35,940
پیتزا بدون مشخص کردن طعم ها ایجاد
871
00:50:35,940 –> 00:50:38,160
کنم زیرا پیش فرض دارد که پس
872
00:50:38,160 –> 00:50:41,130
از آن آرگومان های پیش فرض وجود دارد، بنابراین
873
00:50:41,130 –> 00:50:44,089
این بهترین عمل است و در واقع
874
00:50:44,089 –> 00:50:47,190
علاوه بر خوانایی که در یک سیستم بسیار
875
00:50:47,190 –> 00:50:49,290
مهم است
876
00:50:49,290 –> 00:50:53,910
زیرا منبع سیستمی است. کد بسیار
877
00:50:53,910 –> 00:50:56,460
بیشتر از آنچه نوشته شده خوانده می شود، بنابراین
878
00:50:56,460 –> 00:50:58,970
خواندن کد منبع مهم است،
879
00:50:58,970 –> 00:51:02,550
اما اکنون برای افرادی که
880
00:51:02,550 –> 00:51:04,440
انگیزه بیشتری از عملکرد
881
00:51:04,440 –> 00:51:09,660
عملکرد دارند، دلیل فنی
882
00:51:09,660 –> 00:51:10,440
برای انجام این کار
883
00:51:10,440 –> 00:51:13,410
وجود دارد و به نوعی این کار وجود دارد. آنقدرها
884
00:51:13,410 –> 00:51:17,190
هم جدید نیست، در واقع در اطراف
885
00:51:17,190 –> 00:51:22,740
پایتون 3.4 منتشر شده است، بنابراین برای 112 برای 12،
886
00:51:22,740 –> 00:51:25,980
سند بهینه سازی را مستند می کند
887
00:51:25,980 –> 00:51:28,849
که d برای این وضعیت در اینجا تعیین شده است
888
00:51:28,849 –> 00:51:33,599
، فرض کنید شما پیتزای آمازون را می شناسید،
889
00:51:33,599 –> 00:51:37,650
بنابراین من یک میلیون پیتزا در
890
00:51:37,650 –> 00:51:40,620
صف دارم و
891
00:51:40,620 –> 00:51:43,860
این بدان معنی است که من یک میلیون
892
00:51:43,860 –> 00:51:46,900
فرهنگ لغت با ویژگی های شما خواهم داشت
893
00:51:46,900 –> 00:51:49,060
که می دانید هر پیتزا فرهنگ لغت خود را دارد
894
00:51:49,060 –> 00:51:52,230
با ویژگی های درست Deli.
895
00:51:52,230 –> 00:51:57,870
کاری که این PAP انجام میدهد این است که آنها این بهینهسازی را ایجاد کردند که
896
00:51:57,870 –> 00:52:05,230
در آن عنوان متوجه میشود وقتی
897
00:52:05,230 –> 00:52:11,950
شما یک نمونه ایجاد میکنید که کلیدهای
898
00:52:11,950 –> 00:52:14,590
این نمونهها همان
899
00:52:14,590 –> 00:52:16,000
بچههای نمونههای دیگر هستند
900
00:52:16,000 –> 00:52:19,000
و آنها کلیدها را به اشتراک میگذارند و پایتون کلیدها را به اشتراک میگذارد
901
00:52:19,000 –> 00:52:23,860
که در اصل یک هش میانگین است
902
00:52:23,860 –> 00:52:27,280
و Hessian و مقدار کلید
903
00:52:27,280 –> 00:52:31,090
که ممکن است یک رشته طولانی یا یک
904
00:52:31,090 –> 00:52:37,030
شی دلخواه باشد، بنابراین این اشتراک گذاری کلید می تواند
905
00:52:37,030 –> 00:52:40,890
منجر به صرفه جویی قابل توجهی در حافظه شود،
906
00:52:40,890 –> 00:52:43,150
اما این فقط در صورتی اتفاق می افتد که
907
00:52:43,150 –> 00:52:45,850
دقیقاً از این روش اولیه سازی
908
00:52:45,850 –> 00:52:48,880
همه نمونه های خود با همه
909
00:52:48,880 –> 00:52:51,130
نمونه هایی که بازسازی شده اند پیروی کنید. در موارد ارزان واقعی
910
00:52:51,130 –> 00:52:53,370
911
00:52:54,420 –> 00:52:58,600
هر زمان که شما پس از واقعیت تصمیم گرفتید
912
00:52:58,600 –> 00:53:01,630
ویژگی دیگری اضافه کنید، سپس این
913
00:53:01,630 –> 00:53:05,380
دکمه را مجبور می کند تا آن فرهنگ لغت را حذف کند و در
914
00:53:05,380 –> 00:53:07,240
pl دیگر کپی کنید. ACE که
915
00:53:07,240 –> 00:53:09,970
قرار است تکی باشد و
916
00:53:09,970 –> 00:53:15,580
کلیدها را با دیگران به اشتراک نگذارد درست است، بنابراین خیلی خوب است، بنابراین
917
00:53:15,580 –> 00:53:19,240
میخواهم به شما پیشنهاد کنم که
918
00:53:19,240 –> 00:53:23,080
کمی کدنویسی کنید و ایده این است
919
00:53:23,080 –> 00:53:27,580
که در واقع در گوگل وجود دارد، متاسفم
920
00:53:27,580 –> 00:53:29,080
منظورم را فراموش
921
00:53:29,080 –> 00:53:31,390
کردم. من باید چیزی را به
922
00:53:31,390 –> 00:53:33,520
من بدهم، اجازه دهید آن را اینجا بیاورم،
923
00:53:33,520 –> 00:53:41,620
اوه اشتباه است، اشتباه است
924
00:53:41,620 –> 00:53:44,830
، لینک را ساده کردم اما فراموش کردم
925
00:53:44,830 –> 00:53:47,200
کجا قرار است آن را اضافه کنم، بنابراین
926
00:53:47,200 –> 00:53:49,569
این لینک است و
927
00:53:49,569 –> 00:53:55,779
من می خواهم نوت بوک را درست کنید متأسفم بعداً
928
00:53:55,779 –> 00:54:00,159
تصمیم گرفتم ساده کنم اوه در واقع اینجا چه کار
929
00:54:00,159 –> 00:54:00,880
930
00:54:00,880 –> 00:54:04,630
کردم صبر کنید فکر می کنم این است که می دانم چه کار کردم
931
00:54:04,630 –> 00:54:08,799
برچسب را تغییر دادم اما
932
00:54:08,799 –> 00:54:18,130
پیوند واقعی را به درستی تغییر ندادم بنابراین اکنون
933
00:54:18,130 –> 00:54:20,889
کار می کند و می خواهم متعهد شوم و فشار
934
00:54:20,889 –> 00:54:24,869
دهید تا این نسخه ثابت
935
00:54:51,559 –> 00:54:53,900
را داشته باشید، بنابراین من پیشنهاد می کنم که آن را به
936
00:54:53,900 –> 00:54:57,739
صورت جفت انجام دهید و آنچه می خواهم پیشنهاد کنم، بنابراین
937
00:54:57,739 –> 00:55:01,369
تمرین در این سند در اینجا توضیح داده شده است،
938
00:55:01,369 –> 00:55:08,209
بنابراین سه مرحله وجود دارد، اما
939
00:55:08,209 –> 00:55:11,930
اجازه دهید آن را مرحله سوم Bowness بنامیم.
940
00:55:11,930 –> 00:55:16,939
این کار را فقط در صورتی انجام دهید که وقت دارید و
941
00:55:16,939 –> 00:55:18,319
کاری که من می خواهم انجام دهم این است
942
00:55:18,319 –> 00:55:22,759
من پستهای خود را میدهم و اگر میخواهید
943
00:55:22,759 –> 00:55:25,609
تمرین را انجام دهید و وقتی از شما میخواهم این کار را انجام
944
00:55:25,609 –> 00:55:30,680
دهید اگر مشکلی دارید اگر به کمک نیاز دارید،
945
00:55:30,680 –> 00:55:35,269
میخواهید بخوانید آن
946
00:55:35,269 –> 00:55:38,180
را در اینجا و زمانی که
947
00:55:38,180 –> 00:55:41,449
مرحله دو را تمام کردید بسیار خوب،
948
00:55:41,449 –> 00:55:43,969
زیرا اگر مرحله دوم را تمام کردید، مرحله 2 را به پایان
949
00:55:43,969 –> 00:55:47,449
رساندید، مرحله سبز را بچسبانید، بنابراین وقتی تعداد
950
00:55:47,449 –> 00:55:49,069
زیادی از افراد با مرحله سبز رنگ وجود
951
00:55:49,069 –> 00:55:50,180
دارند، باید ادامه
952
00:55:50,180 –> 00:55:53,779
دهیم، این ایده است، پس لطفاً تست کنید.
953
00:55:53,779 –> 00:56:01,999
آنها را در اطراف خود قرار دهید، بنابراین یکی از هر رنگ
954
00:56:01,999 –> 00:56:14,989
و آنچه را که من می خواهم برداریم، بنابراین دستورالعمل های اساسی
955
00:56:14,989 –> 00:56:16,640
که قرار است نشان دهم آنچه در
956
00:56:16,640 –> 00:56:26,259
اینجا اتفاق می افتد این است که ما متأسفیم، اوه،
957
00:56:26,259 –> 00:56:28,280
958
00:56:28,280 –> 00:56:33,920
اوه، اوه
959
00:56:33,920 –> 00:56:38,080
، درست است، باید اصلاح
960
00:56:38,080 –> 00:56:46,180
شود. فقط یکی اینجا
961
00:56:53,500 –> 00:56:57,480
بله، من به شما نشان خواهم داد که چگونه به آنجا بروید،
962
00:56:57,480 –> 00:57:03,970
بنابراین اگر به مخزن بروید، piyo
963
00:57:03,970 –> 00:57:10,590
piyo آنجا باشید، سپس لینک و سپس
964
00:57:11,099 –> 00:57:19,630
لامپ ها و سپس یکی و سپس این
965
00:57:19,630 –> 00:57:29,770
درست است، برای مثال اگر از این دستور استفاده کنم.
966
00:57:29,770 –> 00:57:35,650
در اینجا پس این یکی دیگر
967
00:57:35,650 –> 00:57:39,070
از ویژگی های الگوی است که به خوبی
968
00:57:39,070 –> 00:57:42,340
شناخته شده نیست که آزمایشی است که من قصد دارم آن را انجام دهم
969
00:57:42,340 –> 00:57:44,380
به شما نشان می دهد که چگونه کار می کند، بنابراین اگر من
970
00:57:44,380 –> 00:57:51,220
به آزمایشگاه بروم، این همان چیزی است که من دارم
971
00:57:51,220 –> 00:57:56,950
و این دستورات را تایپ کردم و چه
972
00:57:56,950 –> 00:58:02,260
اتفاقی افتاده است این مشکلی ندارد، بنابراین
973
00:58:02,260 –> 00:58:07,530
اینجا چه خبر است، من ماژول آزمایش doc را
974
00:58:07,530 –> 00:58:12,580
که با پایتون همراه است اجرا می کنم. این همان کاری است
975
00:58:12,580 –> 00:58:17,680
که تست – em doc روی فایل readme dot
976
00:58:17,680 –> 00:58:24,160
RSG که یک فایل متنی است انجام میدهد و اگر – f
977
00:58:24,160 –> 00:58:27,550
در پایان همینطور بود،
978
00:58:27,550 –> 00:58:29,859
در اولین شکست متوقف میشود زیرا در غیر این صورت
979
00:58:29,859 –> 00:58:32,200
چیزهای زیادی را نشان میدهد که
980
00:58:32,200 –> 00:58:35,140
اشتباه هستند، تمرینات
981
00:58:35,140 –> 00:58:37,960
مربوط به تمرینات دسترسی در مورد رفع
982
00:58:37,960 –> 00:58:41,950
آن چیزها چیست، در هر صورت اگر این کار را انجام دهید –
983
00:58:41,950 –> 00:58:45,599
اگر می خواهید گام به گام این کار را انجام دهید،
984
00:58:45,599 –> 00:58:48,670
بنابراین در ابتدا متوقف می شود و این چه چیزی
985
00:58:48,670 –> 00:58:51,359
است، مثال شکست خورده مختصات خلیج گینه
986
00:58:51,359 –> 00:58:53,380
شیء هیچ ویژگی
987
00:58:53,380 –> 00:58:54,839
قفل شده ای
988
00:58:54,839 –> 00:59:03,339
ندارد، بنابراین مشکل این است که از
989
00:59:03,339 –> 00:59:05,530
شما می خواهد یک تصویر ایجاد کنید که
990
00:59:05,530 –> 00:59:08,070
طول و عرض جغرافیایی را
991
00:59:08,070 –> 00:59:15,340
کاملاً قبول می کند و کلاسی که شما
992
00:59:15,340 –> 00:59:18,600
در آنجا دارید چنین چیزی را ندارد،
993
00:59:27,410 –> 00:59:30,500
بنابراین من تقلب می کنم و فقط این را می گویم.
994
00:59:30,500 –> 00:59:33,019
آن چیزی نیست که تمرین برای انجام آن در نظر گرفته شده است
995
00:59:33,019 –> 00:59:34,910
، بلکه فقط برای آن است به شما پزشکان
996
00:59:34,910 –> 00:59:39,289
در حال اجرا نشان می دهم اگر لات را ایجاد کنم
997
00:59:39,289 –> 00:59:43,339
ادای احترامی مثل من آنها را در آنجا
998
00:59:43,339 –> 00:59:52,160
داشتم و دوباره آن را اجرا می کنم اوه اکنون
999
00:59:52,160 –> 00:59:53,869
از کمبود ریه و غیره شکایت می کند،
1000
00:59:53,869 –> 00:59:57,890
بنابراین اگر
1001
00:59:57,890 –> 01:00:00,619
شما آن را به این شکل اجرا کنید در واقع آزمایشات دکتر را انجام می دهد. ما – سرآشپز آنها
1002
01:00:00,619 –> 01:00:02,059
شما را در مورد کارهایی که
1003
01:00:02,059 –> 01:00:05,630
باید انجام دهید راهنمایی خواهند کرد، اما اگر با انجام
1004
01:00:05,630 –> 01:00:10,490
اولین مرحله شروع کنید، یعنی ایجاد آن در
1005
01:00:10,490 –> 01:00:14,349
تصویری که قبلا نشان داده بودم، می توانید
1006
01:00:14,349 –> 01:00:23,779
بگذرید، بنابراین این مثالی است که در
1007
01:00:23,779 –> 01:00:26,839
واقع در حال اجرا است. بنابراین آنچه که Doc Test انجام میدهد این
1008
01:00:26,839 –> 01:00:29,990
است که به متنی نگاه میکند که دارای اعلانهایی است
1009
01:00:29,990 –> 01:00:31,809
که به نظر میرسد دستور Python
1010
01:00:31,809 –> 01:00:35,180
کد را اجرا میکند و ایمنی بررسی میکند
1011
01:00:35,180 –> 01:00:37,029
که آیا خروجی همان
1012
01:00:37,029 –> 01:00:40,519
چیزی است که در اینجا ظاهر میشود یا خیر، این همان کاری است که doc test انجام
1013
01:00:40,519 –> 01:00:43,099
میدهد ایده آزمایش doc برای اطمینان از
1014
01:00:43,099 –> 01:00:45,019
اینکه مثالهای موجود در مستندات دقیق هستند،
1015
01:00:45,019 –> 01:00:49,700
اما آنها همچنین دوست دارند از آنها
1016
01:00:49,700 –> 01:00:54,319
به عنوان داربست برای تمرینهایی
1017
01:00:54,319 –> 01:00:57,130
استفاده کنند که ما اکنون از آن استفاده میکنیم،
1018
01:01:13,270 –> 01:01:16,330
بنابراین مرحله اول در واقع مانند
1019
01:01:16,330 –> 01:01:18,550
کدی است که من با تصویر به شما نشان دادم
1020
01:01:18,550 –> 01:01:23,619
مرحله دوم جدید است.
1021
01:01:23,619 –> 01:01:25,720
که شما می خواهید ایجاد کنید یک
1022
01:01:25,720 –> 01:01:33,040
ویژگی کلاس مثال نشان می دهد که شما می توانید
1023
01:01:33,040 –> 01:01:35,710
از طریق
1024
01:01:35,710 –> 01:01:40,480
مختصات کلاس یا به یک نمونه به ویژگی کلاس دسترسی پیدا کنید و
1025
01:01:40,480 –> 01:01:46,590
مرحله 3 بسیار پیاده سازی شده است و
1026
01:01:48,090 –> 01:01:52,500
در اینجا متد johash نامیده می شود
1027
01:02:05,740 –> 01:02:07,240
و این چیزی است که من متوجه شدم چه اتفاقی می
1028
01:02:07,240 –> 01:02:09,940
افتد من قرار بود این
1029
01:02:09,940 –> 01:02:12,970
اعلان ها را برای شما بخوانم. چون ما
1030
01:02:12,970 –> 01:02:18,310
یک استراحت داریم، بنابراین ساعت 10:15 استراحت خواهیم داشت
1031
01:02:18,310 –> 01:02:19,900
1032
01:02:19,900 –> 01:02:24,310
و می گوید که میان وعده ها سریع می روند، بنابراین لطفاً
1033
01:02:24,310 –> 01:02:26,080
گروه خود را در زمان مناسب اجازه دهید بیرون بیایند،
1034
01:02:26,080 –> 01:02:32,349
بنابراین اگر می خواهید به
1035
01:02:32,349 –> 01:02:35,589
زودی بیرون بروید، بدانید که ادامه دهید و سپس
1036
01:02:35,589 –> 01:02:38,740
ما برگشتیم، میتوانیم برگردیم،
1037
01:02:38,740 –> 01:02:42,520
نمیدانم مدت استراحت چقدر است،
1038
01:02:42,520 –> 01:02:45,849
مدت زمان استراحت، اجازه دهید تلاش کنم و
1039
01:02:45,849 –> 01:02:48,270
1040
01:03:00,220 –> 01:03:03,339
خوب بفهمم، بیایید یک استراحت 15 دقیقهای انجام دهیم،
1041
01:03:03,339 –> 01:03:08,200
بنابراین ایده این است که ما برمیگردیم،
1042
01:03:08,200 –> 01:03:10,000
میتوانید بیرون بروید هر زمان که دوست داشتید و ما
1043
01:03:10,000 –> 01:03:13,150
میتوانیم، ساعت 10:30 برمیگردیم، خوب
1044
01:03:13,150 –> 01:03:15,550
یا میتوانید زودتر برگردید و
1045
01:03:15,550 –> 01:03:19,839
تمرین را در ساعت 12:20 هر ناهار تمام
1046
01:03:19,839 –> 01:03:24,010
کنید و سپس میگوید که
1047
01:03:24,010 –> 01:03:25,900
ما به اندازه توان خود را گذاشتهایم،
1048
01:03:25,900 –> 01:03:29,920
لطفا به اشتراک گذاشتن عثمانی و وجود دارد یک
1049
01:03:29,920 –> 01:03:31,990
پیوند نظرسنجی به آموزش من نمیدانم
1050
01:03:31,990 –> 01:03:35,170
آیا شما آن را دارید یا
1051
01:03:35,170 –> 01:03:36,970
نه، آیا یک تکه کاغذ دریافت کردهاید
1052
01:03:36,970 –> 01:03:39,160
که این پیوند را داشته باشد، در غیر این صورت من
1053
01:03:39,160 –> 01:03:41,829
آن را در قسمت I’m gonna put it
1054
01:03:41,829 –> 01:03:45,520
ارائه در اینجا یک پیوند میمون نظرسنجی
1055
01:03:45,520 –> 01:03:54,460
با تعدادی حروف است، من
1056
01:03:54,460 –> 01:03:58,180
آن را در آخرین ارائه
1057
01:03:58,180 –> 01:04:00,210
1058
01:05:29,280 –> 01:05:35,580
قرار می دهم بله بسیار خوب، بنابراین پیوند را در
1059
01:05:35,580 –> 01:05:40,310
آخرین صفحه ای که قرار است ببینیم قرار
1060
01:14:29,249 –> 01:14:32,550
می دهم، بنابراین من می خواهم من میروم بیرون
1061
01:14:32,550 –> 01:14:34,969
و بعد از 15 دقیقه برمیگردم، خوب است، و
1062
01:14:34,969 –> 01:14:41,909
بعد بیایید حرکت کنیم قبل از اینکه همه چیز تمام شود
1063
01:14:41,909 –> 01:14:43,940
1064
01:29:45,230 –> 01:29:55,219
، بنابراین شاید متوجه شدهاید
1065
01:29:55,219 –> 01:29:59,390
که یک اسپویلر وجود دارد، زیرا
1066
01:29:59,390 –> 01:30:01,460
راهحل درست در صفحهای بود که
1067
01:30:01,460 –> 01:30:08,090
ما درست نگاه میکردیم. و
1068
01:30:08,090 –> 01:30:10,210
geocache چیز بسیار جالبی است
1069
01:30:10,210 –> 01:30:15,500
زیرا یک هش الفبایی و اغلب معجزهآسا را محاسبه میکند که
1070
01:30:15,500 –> 01:30:22,880
یژگیهای بسیار جا
1071
01:30:22,880 –> 01:30:32,180
بی دارد، اوه که در readm
1072
01:30:32,180 –> 01:30:38,330
است، در واقع ویژگی این است که می
1073
01:30:38,330 –> 01:30:41,150
بینید من در اینجا مخ
1074
01:30:41,150 –> 01:30:45,710
صات فرودگاه کلیولند را دا
1075
01:30:45,710 –> 01:30:48,710
م. غرب و این مختصات است این
1076
01:30:48,710 –> 01:30:51,830
شهر همانطور که به نظر می رسد من در ویکی پدیا فکر می کنم
1077
01:30:51,830 –> 01:30:54,560
و می بینید که سه حرف اول
1078
01:30:54,560 –> 01:30:57,530
یکسان هستند، بنابراین این چیزی است که در
1079
01:30:57,530 –> 01:31:01,070
مورد ژئوهش جالب است این است که
1080
01:31:01,070 –> 01:31:04,520
مقایسه آن بسیار سریع است و تشخیص
1081
01:31:04,520 –> 01:31:06,620
اینکه آیا دو چیز بسته به تعداد آنها به هم نزدیک هستند بسیار آسان است.
1082
01:31:06,620 –> 01:31:11,270
حروفی که مطابقت دارند و
1083
01:31:11,270 –> 01:31:13,010
اگر تعداد حروف تطبیق بیشتری داشته باشیم،
1084
01:31:13,010 –> 01:31:14,810
به این معنی است که واقعاً نزدیک است اگر شما مانند
1085
01:31:14,810 –> 01:31:17,960
10 ریاضی 10 حرف مطابقت داشته باشید که
1086
01:31:17,960 –> 01:31:22,820
احتمالاً در اتاق بعدی است و البته
1087
01:31:22,820 –> 01:31:25,450
استثناهایی وجود دارد زیرا شامل
1088
01:31:25,450 –> 01:31:28,580
برش کلمه کلمه به مربع است و
1089
01:31:28,580 –> 01:31:30,710
اگر شما هستید در یک مرز، باید
1090
01:31:30,710 –> 01:31:33,800
چیزهای دیگر را بررسی کنید، اما حداکثر
1091
01:31:33,800 –> 01:31:35,360
هشت بررسی مختلف انجام می دهید و می توانید
1092
01:31:35,360 –> 01:31:37,400
تعیین کنید که آیا چیزی بسیار
1093
01:31:37,400 –> 01:31:38,080
نزدیک است یا خیر،
1094
01:31:38,080 –> 01:31:44,600
به هر حال مدرسه geohashes بسیار خوب است، بنابراین من می
1095
01:31:44,600 –> 01:31:46,700
خواهم آنچه را که می خواهم انجام دهم، موضوع بعدی
1096
01:31:46,700 –> 01:31:50,140
است. در واقع چیزی است که
1097
01:31:50,140 –> 01:31:52,910
اینها اولین نمونه هایی هستند که ما به
1098
01:31:52,910 –> 01:31:55,679
تازگی دیدیم در این آموزش جدید هستند
1099
01:31:55,679 –> 01:31:59,360
، مثال های اینجا از کتاب من است و
1100
01:31:59,360 –> 01:32:05,730
من به نوعی می خواهم که می خواهم چیزهای جالب تری وجود داشته باشد.
1101
01:32:05,730 –> 01:32:08,670
به
1102
01:32:08,670 –> 01:32:11,159
جای این مثالها، آنچه را که در مورد آن صحبت خواهم کرد
1103
01:32:11,159 –> 01:32:12,989
، ببینم، بنابراین من فقط میخواهم
1104
01:32:12,989 –> 01:32:15,270
این صفحه را سریع بگذرانم و سپس در صفحه بعدی خوب شدیم،
1105
01:32:15,270 –> 01:32:18,300
اما این صفحه چیزی است که
1106
01:32:18,300 –> 01:32:21,150
اگر توضیح فوقالعاده سریع من
1107
01:32:21,150 –> 01:32:24,570
در اینجا ارائه شود، میتوانید بعداً آن را مطالعه کنید. شما با
1108
01:32:24,570 –> 01:32:26,580
سؤالات خود یا می توانید بعداً از من نیز بپرسید،
1109
01:32:26,580 –> 01:32:29,670
اما اینها تمام چیزی است که می دانید اتوبوس جن زده
1110
01:32:29,670 –> 01:32:33,540
و آنها اتوبوس نسخه 2 و
1111
01:32:33,540 –> 01:32:36,900
اتوبوس گرگ و میش را شکار کردند، آنها برای شما بد هستند
1112
01:32:36,900 –> 01:32:43,530
، خوب اتوبوس خوب اتوبوس است، بنابراین
1113
01:32:43,530 –> 01:32:45,690
این اساساً سه مثال متقابل است
1114
01:32:45,690 –> 01:32:49,409
که در مورد مشکلاتی صحبت کنید که ممکن است زمانی اتفاق بیفتند
1115
01:32:49,409 –> 01:32:53,190
که شما مانند آرگومان
1116
01:32:53,190 –> 01:32:57,000
کامل، ویژگی کلاس کامل را داشته باشید که قابل تغییر است
1117
01:32:57,000 –> 01:33:00,170
و از آن به عنوان پیش فرض برای
1118
01:33:00,170 –> 01:33:02,820
نمونه ها استفاده می کنید، بنابراین آنچه که با گذرگاه Haunted اتفاق می افتد این
1119
01:33:02,820 –> 01:33:05,909
است که اساساً
1120
01:33:05,909 –> 01:33:07,949
این گذرگاه را یک نمونه ایجاد کرده اید و قرار داده اید. دو
1121
01:33:07,949 –> 01:33:09,989
نفر در آن هستند و سپس
1122
01:33:09,989 –> 01:33:13,760
وقتی شما نیرو را ایجاد کردید، وقتی اتوبوس را ایجاد کردید
1123
01:33:13,760 –> 01:33:17,790
تا اتوبوس موج را به عنوان مثال
1124
01:33:17,790 –> 01:33:21,210
بسازید، روح همان افراد را دارید، بنابراین
1125
01:33:21,210 –> 01:33:23,730
آنها در هر دو اتوبوس هستند، این واقعا
1126
01:33:23,730 –> 01:33:28,380
ترسناک است و مثال دیگر شما هستید.
1127
01:33:28,380 –> 01:33:30,840
دیگر ویژگی کلاس ندارید اما
1128
01:33:30,840 –> 01:33:32,820
یک پیشفرض قابل تغییر در
1129
01:33:32,820 –> 01:33:36,420
سازنده دارید و اساساً
1130
01:33:36,420 –> 01:33:40,980
همین مشکل را دارد زیرا همانطور
1131
01:33:40,980 –> 01:33:45,560
که قبلاً گفتم روشها ویژگیهای کلاس
1132
01:33:45,560 –> 01:33:49,949
درست هستند و چهار مقدار در
1133
01:33:49,949 –> 01:33:52,770
اعلانهای متد ویژگیهای
1134
01:33:52,770 –> 01:33:58,350
متدها هستند. این لیست خالی یک
1135
01:33:58,350 –> 01:34:01,500
ویژگی dunder init است و زیر در
1136
01:34:01,500 –> 01:34:03,030
آن یک متد از کلاس است، بنابراین به طور غیرمستقیم
1137
01:34:03,030 –> 01:34:05,340
این یک ویژگی کلاس است،
1138
01:34:05,340 –> 01:34:08,310
بنابراین شما دقیقاً همان مشکل را دارید
1139
01:34:08,310 –> 01:34:12,870
این مثال آخر ظریف تر است، متاسفم
1140
01:34:12,870 –> 01:34:13,990
1141
01:34:13,990 –> 01:34:21,640
mm در واقع این مشکل برطرف شده است. این چیزی نیست
1142
01:34:21,640 –> 01:34:32,680
که من می خواستم او باشد بله متاسفم
1143
01:34:32,680 –> 01:34:35,170
که کمی زودتر آن را امتحان کردم و می گوید
1144
01:34:35,170 –> 01:34:37,390
اشتباه است، خوب پس این درست است و ما
1145
01:34:37,390 –> 01:34:40,270
به زودی آن را ذخیره خواهیم کرد این همان چیزی است که
1146
01:34:40,270 –> 01:34:42,850
در نظر گرفته شده بود خوب باشد، پس این ایده
1147
01:34:42,850 –> 01:34:45,580
برای این مثال خیلی خوب به نظر می رسد،
1148
01:34:45,580 –> 01:34:49,600
زیرا شما گوشی را
1149
01:34:49,600 –> 01:34:51,670
در کلاس ندارید و
1150
01:34:51,670 –> 01:34:55,420
باید این اصطلاح را برای هر آرگومان قابل تغییری
1151
01:34:55,420 –> 01:34:57,910
که هیچ کدام را به عنوان پیش فرض قرار نمی دهید دنبال کنید
1152
01:34:57,910 –> 01:34:59,680
و سپس بررسی می کنید و
1153
01:34:59,680 –> 01:35:03,160
صریحاً یک نام لطفاً در این مورد لیست کنید
1154
01:35:03,160 –> 01:35:07,270
خوب است، بنابراین به نظر می رسد خوب است، اما یک مشکل ظریف در آن وجود دارد،
1155
01:35:07,270 –> 01:35:09,460
بنابراین ما یک
1156
01:35:09,460 –> 01:35:12,370
تیم هاکی در اینجا داریم با شش زن خیلی
1157
01:35:12,370 –> 01:35:12,880
خوب است
1158
01:35:12,880 –> 01:35:19,750
و سپس من در حال بارگیری اتوبوس، اتوبوس خلبانی
1159
01:35:19,750 –> 01:35:25,090
با مسافران شش بازیکن هستم، بنابراین
1160
01:35:25,090 –> 01:35:27,640
چه اتفاقی افتاد. مسافر مشخص نیست
1161
01:35:27,640 –> 01:35:30,610
در این مورد تیم هاکی است، بنابراین
1162
01:35:30,610 –> 01:35:34,090
من این وظیفه را اینجا دارم و اکنون
1163
01:35:34,090 –> 01:35:36,370
کیف پولی که اتوبوس پنج است
1164
01:35:36,370 –> 01:35:40,120
سو و پت را رها می کند و می توانید ببینید
1165
01:35:40,120 –> 01:35:43,750
که آنها دیگر در اتوبوس
1166
01:35:43,750 –> 01:35:45,160
نیستند بله اما هستند. دیگر در تیم هاکی نیز
1167
01:35:45,160 –> 01:35:46,440
حضور
1168
01:35:46,440 –> 01:35:55,180
ندارند، بنابراین آنها به یک نقطه خالی افتادند و می
1169
01:35:55,180 –> 01:35:57,820
دانید که بسیاری از برنامه نویسان مبارز
1170
01:35:57,820 –> 01:35:59,340
به این کد نگاه می کنند و می گویند این مشکلی
1171
01:35:59,340 –> 01:36:02,680
ندارد اما این مشکل ظریف وجود دارد و
1172
01:36:02,680 –> 01:36:05,380
راه حل مشکل این است که این
1173
01:36:05,380 –> 01:36:07,410
انتساب در اینجا خطرناک است.
1174
01:36:07,410 –> 01:36:10,750
چون شما از این به عنوان یک لیست استفاده
1175
01:36:10,750 –> 01:36:12,040
می کنید، می توانید ببینید که یک لیست است، زیرا من
1176
01:36:12,040 –> 01:36:14,190
متدهای append و remove و
1177
01:36:14,190 –> 01:36:17,380
همچنین در حالت پیش فرض و ایجاد یک
1178
01:36:17,380 –> 01:36:18,189
لیست خالی
1179
01:36:18,189 –> 01:36:21,249
را می خوانم، اما اگر من فقط آرگومان ها را تعیین
1180
01:36:21,249 –> 01:36:24,339
کنم، می توانم آن را توجیه کنم. مثال من مایکل هستم در
1181
01:36:24,339 –> 01:36:26,739
واقع فهرستی را به اشتراک میگذارم که بهترین بود
1182
01:36:26,739 –> 01:36:29,679
و همانطور که من افراد را در این مسیر
1183
01:36:29,679 –> 01:36:31,780
آوردم، در واقع آنها را از لیستی
1184
01:36:31,780 –> 01:36:34,209
که دریافت کردم حذف میکنم و احتمالاً این چیزی نیست
1185
01:36:34,209 –> 01:36:38,349
که کاربر نهایی میخواهد، بنابراین دو راه
1186
01:36:38,349 –> 01:36:42,219
برای رفع این مشکل وجود دارد، استفاده از این
1187
01:36:42,219 –> 01:36:44,079
علامت گذاری که یک کپی از لیست ایجاد می کند،
1188
01:36:44,079 –> 01:36:49,539
اما اگر آن را دریافت کنید، اگر
1189
01:36:49,539 –> 01:36:53,739
آرگومان های اشتباه تایپی دریافت کنید، آنها وارد آن نشده اند
1190
01:36:53,739 –> 01:36:55,689
، کار می کند، اما ما یک کپی از تاپل ایجاد می کنیم،
1191
01:36:55,689 –> 01:36:58,119
اما کلاس بعدا خراب می شود،
1192
01:36:58,119 –> 01:37:00,069
زیرا شما سعی میکنم
1193
01:37:00,069 –> 01:37:01,539
یک نقاشی انجام دهم و قسمت بالایی را زمانی که
1194
01:37:01,539 –> 01:37:04,209
کار نمیکند انجام دهم، بنابراین بهترین راه این است که این کار را انجام دهم،
1195
01:37:04,209 –> 01:37:09,489
بنابراین کاری که من اینجا انجام میدهم این است که در واقع
1196
01:37:09,489 –> 01:37:13,539
از فهرست مسافران به عنوان
1197
01:37:13,539 –> 01:37:15,129
شانه به عنوان استدلال
1198
01:37:15,129 –> 01:37:18,129
سازنده استفاده میکنم. یک لیست جدید، بنابراین این یک کپی ایجاد می کند،
1199
01:37:18,129 –> 01:37:20,139
اما نسبت به نمادهای دیگر انعطاف پذیرتر است،
1200
01:37:20,139 –> 01:37:22,689
زیرا اگر من یک Terp oh
1201
01:37:22,689 –> 01:37:25,569
I دریافت کنم، اگر یک حالت به عنوان یک آرگومان دریافت کنم
1202
01:37:25,569 –> 01:37:28,059
و یک لیست از آن بسازم، اگر هر بازه ای به عنوان آرگومان دریافت کنم و یک آرگومان ایجاد کنم، این کار را انجام خواهم داد.
1203
01:37:28,059 –> 01:37:30,429
لیستی
1204
01:37:30,429 –> 01:37:33,760
از آن درست است، بنابراین انعطاف پذیر و
1205
01:37:33,760 –> 01:37:37,059
در عین حال ایمن است و این هم همین است
1206
01:37:37,059 –> 01:37:39,639
بهترین راه حل است، بنابراین اکنون اگر تست را اجرا کنیم،
1207
01:37:39,639 –> 01:37:41,469
می بینید که تیم هاکی باید
1208
01:37:41,469 –> 01:37:44,229
همه چیز را کامل کند، بنابراین این بهترین
1209
01:37:44,229 –> 01:37:47,349
تمرین برای گرفتن هر آرگومان
1210
01:37:47,349 –> 01:37:49,329
هایی است که می گیرید که قابل تغییر هستند
1211
01:37:49,329 –> 01:37:52,239
و از آن کپی می کنید، البته استثناهایی وجود دارد.
1212
01:37:52,239 –> 01:37:56,729
درست است شاید 10 میلیون
1213
01:37:56,729 –> 01:37:59,319
مورد در این لیست باشد و شما نمی خواهید
1214
01:37:59,319 –> 01:38:02,530
10 میلیون مورد را کپی کنید، اما پس از آن
1215
01:38:02,530 –> 01:38:04,809
دو سند دارید که می دانید توجه کنید من
1216
01:38:04,809 –> 01:38:06,999
هر چیزی را که به من منتقل می کنید تغییر می دهم، می
1217
01:38:06,999 –> 01:38:09,369
دانید، اما به طور پیش فرض فکر می کنم این
1218
01:38:09,369 –> 01:38:12,549
بسیار است تمرین خوب به و
1219
01:38:12,549 –> 01:38:17,949
همچنین بله پس و این هم راه
1220
01:38:17,949 –> 01:38:23,010
حل آیه بله بسیار خوب است
1221
01:38:24,400 –> 01:38:27,310
و همچنین یک مثال است اگر من آن را
1222
01:38:27,310 –> 01:38:30,520
دوست داشته باشم همانطور که گفتم همانطور که استدلال را
1223
01:38:30,520 –> 01:38:34,300
به لیستی تبدیل می کنم من انعطاف پذیری را ارائه می دهم
1224
01:38:34,300 –> 01:38:38,260
کاربر می تواند هر شی فاصله ای را پاس
1225
01:38:38,260 –> 01:38:39,850
کند و من از آن لیستی می سازم
1226
01:38:39,850 –> 01:38:44,940
و این نمونه ای از دیوار پوستر است
1227
01:38:44,940 –> 01:38:50,860
که یکی از بهترین روش ها در
1228
01:38:50,860 –> 01:38:53,110
اینترنت
1229
01:38:53,110 –> 01:38:54,460
1230
01:38:54,460 –> 01:38:57,520
است. اگر مردم این کار را در
1231
01:38:57,520 –> 01:38:59,679
فیسبو انجام دهند خوب و در توییتر ما
1232
01:38:59,679 –> 01:39:10,980
به هر حال اجاره کردن آن عالی است، پس بیایید اکنون
1233
01:39:10,980 –> 01:39:18,250
صحبت کنم، بنابراین من شروع کردم به صحبت در مورد اینکه حیاتی
1234
01:39:18,250 –> 01:39:23,140
چگونه یک راه آسان برای اعلام
1235
01:39:23,140 –> 01:39:25,440
ویژگی های ما ندارد و این به ویژه
1236
01:39:25,440 –> 01:39:29,380
با کلاس هایی مانند این که
1237
01:39:29,380 –> 01:39:34,870
من به صفحه برگشتم دردناک است. یکی در اینجا، بنابراین این
1238
01:39:34,870 –> 01:39:37,750
کلاس اساساً شما یک جفت مختصات را می شناسید،
1239
01:39:37,750 –> 01:39:42,130
1240
01:39:42,130 –> 01:39:43,750
عملکردهای زیادی وجود ندارد،
1241
01:39:43,750 –> 01:39:45,520
جالب ترین عملکرد در اینجا
1242
01:39:45,520 –> 01:39:48,330
روش هش Jui است، اجازه دهید بعداً اضافه کنم،
1243
01:39:48,330 –> 01:39:51,420
اما اساساً دقیقاً مانند یک ساختار یا
1244
01:39:51,420 –> 01:39:54,310
یک رکورد در یک پایگاه داده است. این دو
1245
01:39:54,310 –> 01:39:58,750
عضو دارد و درست است، بنابراین این واقعیت
1246
01:39:58,750 –> 01:40:00,880
که پایتون راه آسانی برای
1247
01:40:00,880 –> 01:40:03,280
اعلام ویژگیهای نمونه نداشت،
1248
01:40:03,280 –> 01:40:05,290
اجتناب از این نوع
1249
01:40:05,290 –> 01:40:07,750
1250
01:40:07,750 –> 01:40:10,929
دیگ بخار نوشتن این dunder init با تکرار
1251
01:40:10,929 –> 01:40:12,730
زیاد نامها را دشوار کرد. استدلال های ورود به سیستم برای
1252
01:40:12,730 –> 01:40:15,640
یادگیری و سپس لفاف که
1253
01:40:15,640 –> 01:40:17,290
مانند یک چیز استاندارد است که شبیه
1254
01:40:17,290 –> 01:40:18,969
این است و بنابراین در اینجا تعداد زیادی دیگ بخار
1255
01:40:18,969 –> 01:40:22,510
درگیر است، بنابراین در طول سال ها و این
1256
01:40:22,510 –> 01:40:25,900
موضوع بعدی ما است جامعه پایتون
1257
01:40:25,900 –> 01:40:28,060
روشهایی را برای برخورد با این
1258
01:40:28,060 –> 01:40:30,190
دسته از کلاسها که کلاسهای داده نامیده میشوند تکامل
1259
01:40:30,190 –> 01:40:32,860
داده است و در اینجا من از یک فاصله
1260
01:40:32,860 –> 01:40:35,590
ok استفاده میکنم فرض میکنم که از اصطلاح موتور
1261
01:40:35,590 –> 01:40:38,770
مانند یک اصطلاح کلی استفاده
1262
01:40:38,770 –> 01:40:41,080
میکنم.
1263
01:40:41,080 –> 01:40:43,630
یک struct کلاسی است که شبیه یک
1264
01:40:43,630 –> 01:40:45,250
رکورد متا پایه است،
1265
01:40:45,250 –> 01:40:47,440
الگوریتمهای زیادی ندارد،
1266
01:40:47,440 –> 01:40:50,380
روشهای عجیب و غریب زیادی ندارد، فقط سوختها را ذخیره میکند و
1267
01:40:50,380 –> 01:40:52,750
سوختها را نمایش میدهد و به شما امکان میدهد به سوختها دسترسی پیدا
1268
01:40:52,750 –> 01:40:56,290
کنید، بنابراین زبانهای دیگر رشد کردهاند.
1269
01:40:56,290 –> 01:40:58,360
این نوع از ویژگی های
1270
01:40:58,360 –> 01:41:00,640
روبی همیشه یک راه بسیار ساده برای
1271
01:41:00,640 –> 01:41:05,020
انجام این کار داشته است و اولین راه حل برای
1272
01:41:05,020 –> 01:41:07,690
این مشکل که ظاهر شد نام آن بود که
1273
01:41:07,690 –> 01:41:09,700
اپل ممکن است با نسخه های
1274
01:41:09,700 –> 01:41:11,470
1275
01:41:11,470 –> 01:41:12,250
قدیمی آشنا شود.
1276
01:41:12,250 –> 01:41:15,490
به هر حال Sony meet Apple در واقع
1277
01:41:15,490 –> 01:41:21,370
تابعی است که شما آن را ارسال دو
1278
01:41:21,370 –> 01:41:23,890
آرگومان می نامید، اولی
1279
01:41:23,890 –> 01:41:25,960
نام کلاسی است که باید
1280
01:41:25,960 –> 01:41:30,490
با یک کارخانه کلاس ها ملاقات کنم، و اتفاقاً
1281
01:41:30,490 –> 01:41:32,590
این یکی از راه هایی است که در آن پایتون
1282
01:41:32,590 –> 01:41:35,350
شی بیشتر است. جهت گیری در J ava چون
1283
01:41:35,350 –> 01:41:41,170
در جاوا کلاس ها برای
1284
01:41:41,170 –> 01:41:44,770
کلاس ها یا اشیاء درجه یک نیستند، وقتی منظورم این است که
1285
01:41:44,770 –> 01:41:48,550
در جاوا است، نمی توانید کد جاوا را بنویسید
1286
01:41:48,550 –> 01:41:51,760
فقط کد جاوا خالص برای ایجاد کلاس در
1287
01:41:51,760 –> 01:41:54,250
زمان اجرا اگر نیاز به ایجاد کلاس در
1288
01:41:54,250 –> 01:42:00,250
زمان اجرا دارید باید بایت بنویسید. کدهایی
1289
01:42:00,250 –> 01:42:02,080
برای تولید کد بایتی در زمان اجرا نیاز دارید،
1290
01:42:02,080 –> 01:42:05,680
اما در پایتون این کلاس ها شی هستند
1291
01:42:05,680 –> 01:42:07,960
و به همین ترتیب می توان آنها را در
1292
01:42:07,960 –> 01:42:10,660
زمان اجرا ایجاد کرد و این تابعی است که
1293
01:42:10,660 –> 01:42:13,630
وقتی من این را فراخوانی می کنم
1294
01:42:13,630 –> 01:42:16,660
ایجاد می کند، کلاسی با این نام و با
1295
01:42:16,660 –> 01:42:21,750
این ویژگی ها ایجاد می کند. و حالا من از آن
1296
01:42:21,750 –> 01:42:26,800
به این صورت استفاده می کنم و می بینید که به
1297
01:42:26,800 –> 01:42:30,010
طور پیش فرض بسیار زیبا از wrapper
1298
01:42:30,010 –> 01:42:37,410
است که نام آرگومان ها را هجی می کند و
1299
01:42:37,410 –> 01:42:43,030
هر کلاسی است که با نام آن بنفش ایجاد می شود
1300
01:42:43,030 –> 01:42:48,010
در واقع یک زیرگروه از بنفش است
1301
01:42:48,010 –> 01:42:49,540
بنابراین می توانم از این استفاده کنم. علامت گذاری
1302
01:42:49,540 –> 01:42:57,820
در اینجا برای باز کردن مقادیر، ببینید این
1303
01:42:57,820 –> 01:42:59,860
شی یک نمونه از myclass است
1304
01:42:59,860 –> 01:43:02,740
و همچنین مانند یک معبد رفتار می کند.
1305
01:43:02,740 –> 01:43:05,620
1306
01:43:05,620 –> 01:43:07,470
1307
01:43:07,470 –> 01:43:12,010
1308
01:43:12,010 –> 01:43:13,570
روش l queue روشی است که
1309
01:43:13,570 –> 01:43:16,780
عملگر Equality را به درستی پیاده سازی می کند
1310
01:43:16,780 –> 01:43:19,210
و آنها صفی ندارند
1311
01:43:19,210 –> 01:43:22,270
که با نام آن در Apple Factory ایجاد شود، در
1312
01:43:22,270 –> 01:43:24,370
واقع می داند که چگونه
1313
01:43:24,370 –> 01:43:33,940
نمونه های من را با هر سرنگونی G مقایسه کند، بنابراین نام یک
1314
01:43:33,940 –> 01:43:37,690
اشتباه تایپی بسیار جالب است، من از آن استفاده می کنم. خیلی زیاد است اما
1315
01:43:37,690 –> 01:43:39,610
محدودیتهایی وجود
1316
01:43:39,610 –> 01:43:41,770
دارد محدودیتها همیشه بد نیستند، گاهی اوقات
1317
01:43:41,770 –> 01:43:43,570
خوب است که محدودیتهایی داشته باشید، زیرا شما
1318
01:43:43,570 –> 01:43:44,980
صریح میگویید من به چیز عجیبتری نیاز ندارم،
1319
01:43:44,980 –> 01:43:47,380
پس آن را در اینجا نام میبرم، میخواهم
1320
01:43:47,380 –> 01:43:49,480
از یک نام در سه نام استفاده کنم و
1321
01:43:49,480 –> 01:43:53,110
سیب ها همچنین می گویند که از حافظه کمتری استفاده می کنند
1322
01:43:53,110 –> 01:43:57,250
تا کلاس ها به دلیل اینکه
1323
01:43:57,250 –> 01:43:59,230
تاریخ شام ندارند،
1324
01:43:59,230 –> 01:44:01,720
مکانیسم دیگری به نام زیر شکاف ها دارند
1325
01:44:01,720 –> 01:44:05,170
که انعطاف کمتری دارد اما
1326
01:44:05,170 –> 01:44:09,430
حافظه را ذخیره می کند، مشکل این است که موارد
1327
01:44:09,430 –> 01:44:10,120
غیر قابل تغییر
1328
01:44:10,120 –> 01:44:11,530
هستند، ممکن است مشکل باشد یا خیر یک
1329
01:44:11,530 –> 01:44:14,260
محدودیت است که بسته به شرایط شما ممکن است یک ویژگی باشد
1330
01:44:14,260 –> 01:44:16,660
و هیچ راه ساده
1331
01:44:16,660 –> 01:44:19,030
ای برای پیاده سازی متدهای سفارشی وجود ندارد، به
1332
01:44:19,030 –> 01:44:22,060
عنوان مثال اگر بخواهم dunder stir سفارشی خود را قرار
1333
01:44:22,060 –> 01:44:27,340
دهم یا متد Geo hash را که
1334
01:44:27,340 –> 01:44:29,860
قبلا ایجاد کرده بودیم. هیچ راه ساده ای
1335
01:44:29,860 –> 01:44:32,170
برای انجام این کار وجود ندارد، زیرا من نمی توانم آن را ویرایش کنم، من
1336
01:44:32,170 –> 01:44:34,450
بدنه کلاس را در هیچ کجای
1337
01:44:34,450 –> 01:44:39,340
کد منبع خود نمی بینم، بنابراین شما می توانید
1338
01:44:39,340 –> 01:44:41,460
آن را از طریق میمون وصله کردن انجام دهید، اما
1339
01:44:41,460 –> 01:44:47,590
به هر حال اینطور نیست، بنابراین
1340
01:44:47,590 –> 01:44:50,110
اتفاق جالبی رخ می دهد. بنابراین پایتون
1341
01:44:50,110 –> 01:44:55,960
اکنون این حرکت را به سمت یک سیستم
1342
01:44:55,960 –> 01:44:58,750
تایپ انجام می دهد که به شما امکان می دهد
1343
01:44:58,750 –> 01:45:00,100
انواع متغیرها
1344
01:45:00,100 –> 01:45:03,550
و آرگومان های تابع
1345
01:45:03,550 –> 01:45:08,760
و انواع بازگشت تابع و غیره را اعلام کنید و در پایتون 3.5
1346
01:45:08,760 –> 01:45:11,290
این چیزی را به نام نام در
1347
01:45:11,290 –> 01:45:11,860
اپل
1348
01:45:11,860 –> 01:45:15,010
تایپ نام در اپل اختراع کردند که بسیار
1349
01:45:15,010 –> 01:45:18,790
شبیه به نام نام سنتی
1350
01:45:18,790 –> 01:45:20,860
یک اشتباه تایپی پذیرفته می شود زمانی
1351
01:45:20,860 –> 01:45:24,250
که نام و apple را با نام تایپ تعیین می کنید و
1352
01:45:24,250 –> 01:45:30,130
کلاس o را
1353
01:45:30,130 –> 01:45:34,720
می زنید، در این صورت کلاسی است که می توانید انواع را مشخص کنید و
1354
01:45:34,720 –> 01:45:36,630
در واقع دو نحو است، اما این
1355
01:45:36,630 –> 01:45:39,460
نحو جالب تر است. که در Python 3.6 ظاهر شد،
1356
01:45:39,460 –> 01:45:43,870
بنابراین در Python 3.5، نام Piping
1357
01:45:43,870 –> 01:45:45,880
a typo دارای نحوی بود که
1358
01:45:45,880 –> 01:45:49,030
مشابه نام و تایپی قدیمی است و در
1359
01:45:49,030 –> 01:45:50,320
Python 3.6
1360
01:45:50,320 –> 01:45:53,650
برای اعلان های متغیر، دستور اضافه کردند
1361
01:45:53,650 –> 01:45:56,590
و این اجازه را می داد. این
1362
01:45:56,590 –> 01:46:05,440
نوع علامت گذاری خوب است، بنابراین اساساً این
1363
01:46:05,440 –> 01:46:08,320
همه کارها را انجام می دهد، به جز این
1364
01:46:08,320 –> 01:46:10,720
که وجود ندارد، این یک
1365
01:46:10,720 –> 01:46:11,470
1366
01:46:11,470 –> 01:46:14,970
لفاف زیبا دارد، برابری دارد، ویژگی های زیادی دارد
1367
01:46:14,970 –> 01:46:21,370
و من می توانم روش هایی را نیز اضافه کنم، اما یک ترفند وجود دارد،
1368
01:46:21,370 –> 01:46:24,850
زیرا یادت باشد وقتی گفتم
1369
01:46:24,850 –> 01:46:29,710
در تمام تاریخچه پایتون
1370
01:46:29,710 –> 01:46:32,650
و پایتون 3.6، هر چیزی که
1371
01:46:32,650 –> 01:46:36,520
در سطح کلاس اعلام شده باشد، یک ویژگی کلاس بوده است
1372
01:46:36,520 –> 01:46:40,590
، اما
1373
01:46:40,590 –> 01:46:47,710
هر زمان که یک نوع حاشیه نویسی در نزدیکی
1374
01:46:47,710 –> 01:46:51,040
یک نام متغیر در سطح کلاس داشته باشید، این
1375
01:46:51,040 –> 01:46:55,060
ویژگی توسط پایتون به عنوان یک تعبیر می شود.
1376
01:46:55,060 –> 01:47:00,190
ویژگی instance بنابراین اکنون آن چیزی
1377
01:47:00,190 –> 01:47:02,140
که سالها در پایتون گم شده بود
1378
01:47:02,140 –> 01:47:06,310
را داریم اما متأسفانه به
1379
01:47:06,310 –> 01:47:08,110
نظر من به عنوان یک معلم
1380
01:47:08,110 –> 01:47:11,670
این در سناریو کمی گیج کننده است
1381
01:47:11,670 –> 01:47:14,130
زیرا شما همیشه فکر می کردید درست است مانند
1382
01:47:14,130 –> 01:47:17,969
دانستن هر چیزی تصمیم می گرفت که بدنه کلاس
1383
01:47:17,969 –> 01:47:20,370
یک صفت کلاس دیگر
1384
01:47:20,370 –> 01:47:23,400
درست نیست و در واقع توجه نکنید
1385
01:47:23,400 –> 01:47:25,469
وضعیت اینجا این یک ویژگی کلاس است که
1386
01:47:25,469 –> 01:47:30,390
می دانید چرا چون هیچ اعلان نوع وجود ندارد،
1387
01:47:30,390 –> 01:47:33,449
بنابراین واقعاً ظریف است،
1388
01:47:33,449 –> 01:47:38,160
درست است که من دوست ندارم
1389
01:47:38,160 –> 01:47:43,020
من خیلی ویژگی ها را دوست دارم اما دوست ندارم آن را
1390
01:47:43,020 –> 01:47:45,840
توضیح دهم که احتمالاً به
1391
01:47:45,840 –> 01:47:52,350
این معنی است که مشکلی در آن وجود دارد، بله
1392
01:47:52,350 –> 01:47:59,600
خوب، بنابراین روز گذشته شروع به
1393
01:47:59,600 –> 01:48:02,610
فرو رفتن عمیق در
1394
01:48:02,610 –> 01:48:04,650
زیرساخت تایپ کردن کردم زیرا این
1395
01:48:04,650 –> 01:48:06,780
چیزی بود که بعد از نوشتن
1396
01:48:06,780 –> 01:48:08,940
کتابم ظاهر شد و دارم روی چاپ دوم کار می کنم
1397
01:48:08,940 –> 01:48:11,580
و کل موضوع او بسیار
1398
01:48:11,580 –> 01:48:15,810
پیچیده است و احتمالاً
1399
01:48:15,810 –> 01:48:17,910
سه فصل در ویرایش جدید برای
1400
01:48:17,910 –> 01:48:20,610
توضیح لازم است و و این خیلی
1401
01:48:20,610 –> 01:48:25,230
مفصل نیست فقط یک مرور کلی ارائه کنید.
1402
01:48:25,230 –> 01:48:27,360
یک چیز در مورد آن درست است که من
1403
01:48:27,360 –> 01:48:30,120
روزهای دیگر توییت کردم. خوبی
1404
01:48:30,120 –> 01:48:31,830
در مورد تایپ در پایتون این است که
1405
01:48:31,830 –> 01:48:34,500
اختیاری است در واقع بهترین چیز در
1406
01:48:34,500 –> 01:48:36,929
مورد تایپ الگو، تحلیل است و
1407
01:48:36,929 –> 01:48:39,750
این فقط یک شوخی نیست، به این معنی است که
1408
01:48:39,750 –> 01:48:42,480
شما می توانید آن را در زمانی اضافه کنید. شما خیلی کم هستید
1409
01:48:42,480 –> 01:48:44,489
مانند آن، اما زمانی که احساس نمیکنید
1410
01:48:44,489 –> 01:48:46,860
فقط از یک نام قدیمی استفاده کنید یا
1411
01:48:46,860 –> 01:48:48,870
انواع آن را در جایی که میدانید شرح ندهید
1412
01:48:48,870 –> 01:48:53,160
، بنابراین میتوانید
1413
01:48:53,160 –> 01:48:56,489
با استفاده از آن قدم به قدم آن را شروع کنید. به نوعی
1414
01:48:56,489 –> 01:48:58,949
مانند تایپ اسکریپت و همچنین
1415
01:48:58,949 –> 01:49:00,870
زبان مستقیم گوگل، اینها نمونههایی
1416
01:49:00,870 –> 01:49:02,179
از زبانهایی هستند که این
1417
01:49:02,179 –> 01:49:09,440
ویژگی تایپ اختیاری را دارند، خوب
1418
01:49:10,370 –> 01:49:14,340
به هر حال چه اتفاقی میافتد، اوه،
1419
01:49:14,340 –> 01:49:18,360
باید این را اجرا کنم، زیرا نیاز دارم
1420
01:49:18,360 –> 01:49:21,550
و این را اجرا کردم و میخواهم
1421
01:49:21,550 –> 01:49:26,590
کار کند و سپس خوب اوه، این یک
1422
01:49:26,590 –> 01:49:28,300
چیز جالب است، اکنون میخواهم
1423
01:49:28,300 –> 01:49:31,570
یک تکلیف را انجام دهم و
1424
01:49:31,570 –> 01:49:35,980
ببینم چه اتفاقی میافتد، با یک خطا مواجه میشوم، زیرا
1425
01:49:35,980 –> 01:49:40,329
اشتباه تایپی است به خاطر بسپار و تاپها تغییرناپذیر هستند، بنابراین
1426
01:49:40,329 –> 01:49:43,420
وقتی این مختصات را ایجاد
1427
01:49:43,420 –> 01:49:48,150
کردم، نمیتوانم به ویژگیهای fluids اختصاص دهم.
1428
01:49:48,150 –> 01:49:55,020
دیگر و من نمی توانم به اندازه کافی جالب را به آن اختصاص
1429
01:49:55,020 –> 01:49:59,530
دهم می توانم سیستم مرجع را بخوانم
1430
01:49:59,530 –> 01:50:04,329
که متغیر کلاس است
1431
01:50:04,329 –> 01:50:07,659
که در آنجا صفت کلاس وجود دارد، اما نمی توانم
1432
01:50:07,659 –> 01:50:10,380
به آن اختصاص دهم،
1433
01:50:10,380 –> 01:50:19,179
بنابراین این گزینه دیگری است
1434
01:50:19,179 –> 01:50:21,730
که اکنون داریم برای ایجاد این
1435
01:50:21,730 –> 01:50:25,000
نوع از کلاس های داده و اکنون بیایید در
1436
01:50:25,000 –> 01:50:28,270
مورد کلاس داده ای که به درستی نام گذاری شده است صحبت کنیم، بنابراین
1437
01:50:28,270 –> 01:50:32,770
کلاس داده یک چیز کاملاً جدید است و
1438
01:50:32,770 –> 01:50:39,880
آن را به عنوان یک دکوراتور نشان می دهد و
1439
01:50:39,880 –> 01:50:43,510
نمونه دیگری از چگونگی
1440
01:50:43,510 –> 01:50:47,770
وراثت از مد می شود. به این دلیل که آنها تصمیم
1441
01:50:47,770 –> 01:50:50,849
گرفتند این را به عنوان یک تزئین کننده اجرا کنند و نه
1442
01:50:50,849 –> 01:50:54,250
مانند این مورد در اینجا از طریق
1443
01:50:54,250 –> 01:51:06,250
وراثت، به هر حال ببینید، بنابراین
1444
01:51:06,250 –> 01:51:08,380
دکوراتور کلاس چیست، دکوراتور کلاس در
1445
01:51:08,380 –> 01:51:12,820
واقع تابعی است که وقتی
1446
01:51:12,820 –> 01:51:15,670
مفسر پایتون این
1447
01:51:15,670 –> 01:51:18,520
کلاس را برای اولین بار زمانی که تعریف می کند، می خواند. این
1448
01:51:18,520 –> 01:51:22,780
کلاس اتفاقی است که وقتی
1449
01:51:22,780 –> 01:51:27,280
یک دستور کلاس را اجرا میکنید همه چیز
1450
01:51:27,280 –> 01:51:30,489
در بدنه کلاس تعریف میشود
1451
01:51:30,489 –> 01:51:33,670
و کل این دسته از چیزها به یک کلاس تبدیل میشود.
1452
01:51:33,670 –> 01:51:35,050
1453
01:51:35,050 –> 01:51:40,150
درست این شی که یک مطبوعاتی است و
1454
01:51:40,150 –> 01:51:44,530
کل این شی به کلاس داده ارسال میشود.
1455
01:51:44,530 –> 01:51:50,920
به دکوراتور کلاس دادهای که
1456
01:51:50,920 –> 01:51:54,760
میتواند کارهایی را با آن انجام دهد و کاری که
1457
01:51:54,760 –> 01:51:58,330
دکوراتور کلاس داده بیشتر انجام میدهد این است که
1458
01:51:58,330 –> 01:52:01,930
روشهایی را برای شما ایجاد میکند تا صفحات
1459
01:52:01,930 –> 01:52:04,510
دیگ کاملاً درست
1460
01:52:04,510 –> 01:52:10,990
مانند لانه بستهبندی به دنیا بیایند و سایرین
1461
01:52:10,990 –> 01:52:13,180
اکنون نوع دیگری از نحو در اینجا وجود دارد.
1462
01:52:13,180 –> 01:52:20,830
میتونستم اینطوری بنویسم
1463
01:52:20,830 –> 01:52:22,930
مثل مثال
1464
01:52:22,930 –> 01:52:27,190
اسم topo پس این یه خصیصه کلاسه ولی
1465
01:52:27,190 –> 01:52:29,740
اگه میخوای نوع یک کلاس رو مشخص کنی
1466
01:52:29,740 –> 01:52:32,410
و در این مورد
1467
01:52:32,410 –> 01:52:35,020
مهمتر است زیرا قابل تغییر است
1468
01:52:35,020 –> 01:52:38,170
می توان آن را به درستی به روز کرد پس در حالت دیگر
1469
01:52:38,170 –> 01:52:40,150
طبیعی است
1470
01:52:40,150 –> 01:52:42,040
پشتیبانی نمی شود نمی دانم چرا اما خیلی
1471
01:52:42,040 –> 01:52:44,170
مهم نیست زیرا در یک نام
1472
01:52:44,170 –> 01:52:48,520
سه گانه این را نمی توان تغییر داد بنابراین توسط
1473
01:52:48,520 –> 01:52:49,870
با خواندن کد منبع، میدانید که
1474
01:52:49,870 –> 01:52:51,760
چه نوع این درست است، زیرا در
1475
01:52:51,760 –> 01:52:55,380
اینجا یک رشته است و هرگز تغییر نمیکند،
1476
01:52:55,380 –> 01:53:00,220
اما در این مورد به دلیل اینکه
1477
01:53:00,220 –> 01:53:06,700
کلاسهای داده کامل قابل تغییر هستند، اگر بخواهم
1478
01:53:06,700 –> 01:53:11,260
نوع آن را مشخص کنم، باید از
1479
01:53:11,260 –> 01:53:15,340
این نماد در اینجا استفاده کنید. و بنابراین شما میدانید
1480
01:53:15,340 –> 01:53:18,910
import from from class wire و سپس
1481
01:53:18,910 –> 01:53:21,160
از یک سیم کلاس استفاده میکنید و سپس در داخل
1482
01:53:21,160 –> 01:53:24,340
پرانتز میبینید که نوع آن چیست،
1483
01:53:24,340 –> 01:53:29,140
بنابراین این روش است، بنابراین دوباره میدانید
1484
01:53:29,140 –> 01:53:31,660
که درست در نحو
1485
01:53:31,660 –> 01:53:38,140
مشکل است زیرا این یک ویژگی کلاس است.
1486
01:53:38,140 –> 01:53:41,340
این یک ویژگی نمونه است،
1487
01:53:44,040 –> 01:53:54,120
اما این یک ویژگی کلاس است که
1488
01:53:54,120 –> 01:54:06,850
اکنون کمی پیچیده شده است، آیا این
1489
01:54:06,850 –> 01:54:09,520
بدان معنی است که با آن نوع اعلانها
1490
01:54:09,520 –> 01:54:11,260
حتی در مورد نام مشکل دارد،
1491
01:54:11,260 –> 01:54:14,890
آیا این بدان معناست که پایتون
1492
01:54:14,890 –> 01:54:19,150
نوع ch را انجام میدهد. برای شما اینطور نیست و
1493
01:54:19,150 –> 01:54:23,170
این یک جورهایی عجیب است، اما هدف
1494
01:54:23,170 –> 01:54:27,340
اصلی این حاشیه نویسی ها پشتیبانی از
1495
01:54:27,340 –> 01:54:32,470
شناسه هایی مانند PyCharm و دیگران و
1496
01:54:32,470 –> 01:54:35,500
پشتیبانی از ابزارهایی است که می توانید آنها را به هم مرتبط کنید که
1497
01:54:35,500 –> 01:54:37,180
می توانید از آنها در خط فرمان مانند
1498
01:54:37,180 –> 01:54:43,450
پای من استفاده کنید، بنابراین من می توانم در واقع
1499
01:54:43,450 –> 01:54:50,350
مثالی را در اینجا نشان دهم که من دارم که
1500
01:54:50,350 –> 01:54:52,300
به منظور نشان دادن این مثال است و من