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