در این مطلب، ویدئو Python به عنوان C++’s Limiting Case با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 1:01:42
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:09,240 –> 00:00:12,180
خیلی ممنون می خواهم
2
00:00:12,180 –> 00:00:14,340
ابتدا از برگزارکنندگان کنفرانس
3
00:00:14,340 –> 00:00:17,010
برای دعوتشان برای سخنرانی
4
00:00:17,010 –> 00:00:18,540
تشکر کنم. می خواهم از آنها برای داشتن
5
00:00:18,540 –> 00:00:20,760
انیمیشن فوق العاده با شمارش معکوس تشکر
6
00:00:20,760 –> 00:00:23,460
7
00:00:23,460 –> 00:00:28,649
8
00:00:28,649 –> 00:00:32,369
کنم. فقط 60 ثانیه یا 90 ثانیه، اما
9
00:00:32,369 –> 00:00:34,110
وقتی به تعداد من اسلاید دارید،
10
00:00:34,110 –> 00:00:36,989
مهم هستند، پس بیایید وارد آن شویم که یک
11
00:00:36,989 –> 00:00:39,559
مورد محدود کننده از عنوان سخنرانی من،
12
00:00:39,559 –> 00:00:42,899
یک مورد محدود کننده این است که
13
00:00:42,899 –> 00:00:46,140
وقتی یک سری گزینه را دریافت می کنید و همه آنها را انتخاب می کنید، اتفاق می افتد.
14
00:00:46,140 –> 00:00:48,059
راه تا حد آنها یک
15
00:00:48,059 –> 00:00:50,250
مثال چند ضلعی از درون سه است
16
00:00:50,250 –> 00:00:52,019
مثلث چهار است مربع پنج پنج ضلعی است
17
00:00:52,019 –> 00:00:55,739
زیرا n به بی نهایت می رود و آن
18
00:00:55,739 –> 00:00:57,570
ضلع ها کوچکتر و کوچکتر می شوند
19
00:00:57,570 –> 00:01:00,629
و تعداد آنها به یک دایره تبدیل می شود
20
00:01:00,629 –> 00:01:03,059
بنابراین یک دایره می گویند حالت محدود
21
00:01:03,059 –> 00:01:05,940
مجموعه چند ضلعی های منظم باشد،
22
00:01:05,940 –> 00:01:08,010
اگر ایده را به حد نهایی خود برسانید، چه اتفاقی می افتد،
23
00:01:08,010 –> 00:01:11,640
من می خواهم
24
00:01:11,640 –> 00:01:15,299
پایتون را به عنوان یک مورد محدود کننده از
25
00:01:15,299 –> 00:01:19,020
C++ توصیف کنم، اگر همه ایده های خوب را در
26
00:01:19,020 –> 00:01:22,049
C++ و ساده دریافت کنید. اگر آنها را با افراطی کردنشان پاک
27
00:01:22,049 –> 00:01:24,540
کنم، استدلال خواهم کرد
28
00:01:24,540 –> 00:01:27,270
که به طور طبیعی در نتیجه پایتون را دریافت می کنید،
29
00:01:27,270 –> 00:01:30,149
درست همانطور که دایره به طور کاملاً طبیعی
30
00:01:30,149 –> 00:01:32,670
از انتهای مجموعه چند ضلعی
31
00:01:32,670 –> 00:01:35,820
هایی که من به پایتون علاقه مند شدم، خارج می شود، زیرا در
32
00:01:35,820 –> 00:01:37,890
دهه 1990 در حال انجام یک آزمایش بودم. دوره من
33
00:01:37,890 –> 00:01:40,920
از واگذاری می گویم من
34
00:01:40,920 –> 00:01:44,689
از چیزهایی که IARC استفاده می کرد خسته می شدم، به عنوان مثال،
35
00:01:44,689 –> 00:01:49,710
هر کسی نشانه های IR را به خاطر می آورد،
36
00:01:49,710 –> 00:01:54,780
هرکسی پرش های صف IR را به خاطر می آورد، هرکسی به یاد دارد
37
00:01:54,780 –> 00:01:57,990
راهنماهایی را بخوانید که چگونه نشانه های IR را
38
00:01:57,990 –> 00:02:00,539
مانند کارت گرافیک خود پایین تر از
39
00:02:00,539 –> 00:02:02,430
دیسک خود کنید تا بازی های شما گرافیکها
40
00:02:02,430 –> 00:02:05,840
سریعتر اجرا میشد
41
00:02:06,360 –> 00:02:09,690
من از Malick Inge و آزاد کردن چیزها خسته شدم
42
00:02:09,690 –> 00:02:12,180
تقریباً در همان زمانی که دیگر
43
00:02:12,180 –> 00:02:14,640
وارد نشدم و پرشها را
44
00:02:14,640 –> 00:02:18,420
برای تنظیم دستی استفاده از IARC روی ماشینهایم متوقف کردم،
45
00:02:18,420 –> 00:02:20,880
هر دو تقریباً در
46
00:02:20,880 –> 00:02:24,330
سال 1997
47
00:02:24,330 –> 00:02:26,130
اتفاق افتاد. چیزها و شما می خواهید
48
00:02:26,130 –> 00:02:29,250
همه دستگیره ها را کنترل کنید و سپس برخی از افراد
49
00:02:29,250 –> 00:02:31,530
برای همیشه مجذوب دستگیره
50
00:02:31,530 –> 00:02:35,250
51
00:02:35,250 –> 00:02:37,500
52
00:02:37,500 –> 00:02:39,720
ها می شوند. یک ماشین برخی از
53
00:02:39,720 –> 00:02:43,220
مسئولیت های تخصیص نشانه های IR را بر عهده می گیرد
54
00:02:43,220 –> 00:02:46,459
و من همچنین در اواخر دهه 90 به زبانی علاقه مند بودم که
55
00:02:46,459 –> 00:02:49,830
به اطراف نگاه کنم
56
00:02:49,830 –> 00:02:52,800
که به من اجازه می داد به جای نگرانی در مورد مکان کامپیوتر، روند
57
00:02:52,800 –> 00:02:54,870
مدل سازی یک دامنه و حل
58
00:02:54,870 –> 00:02:56,940
مشکلات آن را ادامه دهم.
59
00:02:56,940 –> 00:02:58,980
اطلاعات خود را در RAM مخفی کرده
60
00:02:58,980 –> 00:03:04,200
بودم چگونه میتوانیم C++ را سادهسازی کنیم، اما
61
00:03:04,200 –> 00:03:07,160
بدون تکرار گناهان
62
00:03:07,160 –> 00:03:09,690
زبانهای اسکریپتنویسی قدیمی، نمیدانم آیا شما
63
00:03:09,690 –> 00:03:11,820
یکی از آنها زبان برنامهنویسی را میشناسید،
64
00:03:11,820 –> 00:03:13,500
من فقط در اینجا برای
65
00:03:13,500 –> 00:03:15,360
اهداف این گفتگو به عنوان زبانی که
66
00:03:15,360 –> 00:03:17,130
ورودی منابع را که به آن منبع میدهید
67
00:03:17,130 –> 00:03:19,170
میگیرد و ممکن است به صورت داخلی یک
68
00:03:19,170 –> 00:03:21,840
مرحله کامپایل انجام دهد، اما ادامه میدهد و
69
00:03:21,840 –> 00:03:25,530
بدون آن اجرا میکند، به این معنی که همانطور که
70
00:03:25,530 –> 00:03:28,230
برنامه در حال اجرا است، کامپایلر همچنان
71
00:03:28,230 –> 00:03:31,800
وجود دارد، زیرا شما کامپایلر را اجرا میکنید
72
00:03:31,800 –> 00:03:33,630
، منبع بارگذاری میشود. با استفاده از آن
73
00:03:33,630 –> 00:03:35,790
و سپس شروع به اجرای آن، همچنان
74
00:03:35,790 –> 00:03:38,550
در پسزمینه وجود دارد که معروفترین
75
00:03:38,550 –> 00:03:40,500
زبانهای برنامهنویسی است، جایی که اکثر آنها
76
00:03:40,500 –> 00:03:42,870
از توانایی eval برای ساخت
77
00:03:42,870 –> 00:03:44,910
رشتهای پشتیبانی میکنند. چون
78
00:03:44,910 –> 00:03:46,680
وجود نداشت، شاید شما آن را مونتاژ کردید،
79
00:03:46,680 –> 00:03:48,660
زمانی که کد منبع برنامه
80
00:03:48,660 –> 00:03:52,220
و درخواست کردید که آن را به تازگی
81
00:03:52,220 –> 00:03:56,430
ارزیابی کند، لکستون توکنیزه و کامپایل شده
82
00:03:56,430 –> 00:03:58,590
و به عنوان نمونه ای از زبان پایتون اجرا شود، وجود
83
00:03:58,590 –> 00:04:01,260
نداشت. نیازی به
84
00:04:01,260 –> 00:04:03,150
بسیاری از زبانهای اسکریپت نویسی نیست،
85
00:04:03,150 –> 00:04:04,980
همچنین پیش نمیرود و به شما امکان میدهد وارد
86
00:04:04,980 –> 00:04:06,120
توکنایزر سطح پایین شوید،
87
00:04:06,120 –> 00:04:08,850
88
00:04:08,850 –> 00:04:10,950
اگر مجبور نباشید
89
00:04:10,950 –> 00:04:13,769
متن را به نمادها تقسیم کنید و همچنین به شما این امکان را میدهد
90
00:04:13,769 –> 00:04:15,410
که برجستهسازی نحو واقعاً آسانتر باشد. وارد AS شوید
91
00:04:15,410 –> 00:04:17,750
که
92
00:04:17,750 –> 00:04:20,149
نوشتن تعداد زیادی از
93
00:04:20,149 –> 00:04:23,210
قطعات یک اکوسیستم زبان را بسیار آسان می کند که
94
00:04:23,210 –> 00:04:25,160
اغلب مجبورید بدون آنها کار کنید
95
00:04:25,160 –> 00:04:28,550
در پایتون داخلی هستند
96
00:04:28,550 –> 00:04:31,190
، کمی بعد در مورد آن صحبت خواهیم کرد.
97
00:04:31,190 –> 00:04:33,130
میخواهیم چیزی را از پایه
98
00:04:33,130 –> 00:04:37,220
بسازیم با نحو آن چه کنیم، ما
99
00:04:37,220 –> 00:04:38,840
نمیخواهیم اشتباهات برخی
100
00:04:38,840 –> 00:04:40,940
از زبانهای برنامهنویسی دیگر را مرتکب شویم، یادم میآید که
101
00:04:40,940 –> 00:04:46,430
هرگز نتوانستم از Perl استفاده کنم، میدانید
102
00:04:46,430 –> 00:04:52,910
چرا این علامت دلار است که
103
00:04:52,910 –> 00:04:54,980
بلافاصله میدانستم که پرل نمی دانست چگونه
104
00:04:54,980 –> 00:04:57,110
زبان های کامپیوتری کار می کنند به این دلیل که
105
00:04:57,110 –> 00:04:59,330
وقتی می گویید می
106
00:04:59,330 –> 00:05:02,660
دانید نام علامت دلار را می شناسید علامت دلار می گذارید، بنابراین یک
107
00:05:02,660 –> 00:05:04,760
کاربر علامت Hello dollar و bash دلیل
108
00:05:04,760 –> 00:05:06,350
وجود علامت دلار برای علامت گذاری کاربر علامت دلار
109
00:05:06,350 –> 00:05:09,080
به نوعی خاص است زیرا bash
110
00:05:09,080 –> 00:05:11,090
نیز از شما پشتیبانی می کند. تایپ کردن
111
00:05:11,090 –> 00:05:15,230
کلمات تحت اللفظی اکو و سلام، اما زمانی که
112
00:05:15,230 –> 00:05:17,330
انقلاب بزرگ کوپرنیک را انجام دادید و
113
00:05:17,330 –> 00:05:19,070
وارد برنامهنویسی کامپیوتری واقعی میشوید، جایی که
114
00:05:19,070 –> 00:05:21,400
رشتهها در داخل نقل قولهای کوچک زندگی میکنند و
115
00:05:21,400 –> 00:05:23,810
خود را در سراسر فایل شما نشان نمیدهند
116
00:05:23,810 –> 00:05:27,440
، امتیاز یک
117
00:05:27,440 –> 00:05:29,090
زبان برنامهنویسی واقعی بودن علامت دلار است.
118
00:05:29,090 –> 00:05:31,940
این نویز است زشت
119
00:05:31,940 –> 00:05:33,230
است، اگر کلمات دیگری وجود نداشته باشد
120
00:05:33,230 –> 00:05:35,690
که نام متغیرها
121
00:05:35,690 –> 00:05:37,790
با آن اشتباه گرفته شود، لازم نیست وجود داشته باشد، بنابراین
122
00:05:37,790 –> 00:05:39,650
اگر بخواهیم یک زبان برنامه نویسی جدی طراحی کنیم، هرگز نتوانستم با Perl شروع کنم.
123
00:05:39,650 –> 00:05:40,940
124
00:05:40,940 –> 00:05:43,670
برنامه نویسی ما نمی توانیم
125
00:05:43,670 –> 00:05:45,590
نشانه های کوچک دلاری داشته باشیم چه کنیم.
126
00:05:45,590 –> 00:05:49,409
نحو
127
00:05:49,409 –> 00:05:52,659
بیایید از seas استفاده کنیم منظورم این است که خیلی خوب کار می کند.
128
00:05:52,659 –> 00:05:56,949
129
00:05:56,949 –> 00:06:00,939
همه زبانها
130
00:06:00,939 –> 00:06:04,030
را انتخاب کردهاند، اما اکنون مردم به آن عادت کردهاند، اما
131
00:06:04,030 –> 00:06:06,039
اجازه ندهیم آن را به عنوان یک تعبیر تبدیل کنیم،
132
00:06:06,039 –> 00:06:08,620
اجازه ندهیم مردم بسیاری از این
133
00:06:08,620 –> 00:06:11,430
افراد دانشمند و دانشآموز
134
00:06:11,430 –> 00:06:13,900
باشند، همیشه دانشآموزان
135
00:06:13,900 –> 00:06:15,789
برنامهنویس بدتر نیستند، بلکه
136
00:06:15,789 –> 00:06:17,500
دانشمندان و دانشآموزان مدرسهای با استفاده از یک
137
00:06:17,500 –> 00:06:20,080
کلیت هستند. زبان هدف اجازه ندهیم
138
00:06:20,080 –> 00:06:21,639
حالت جهش یافته در وسط یک
139
00:06:21,639 –> 00:06:24,400
عبارت
140
00:06:24,400 –> 00:06:26,979
وجود داشته باشد، اگر
141
00:06:26,979 –> 00:06:28,509
میخواهید مجموعه ارزشهایی را که در
142
00:06:28,509 –> 00:06:30,550
حال حاضر با آنها کار میکنید تغییر دهید، انتساب را به یک بیانیه ارتقا دهیم که شایسته
143
00:06:30,550 –> 00:06:32,379
است در سطح بالایی قرار بگیرد. می تواند
144
00:06:32,379 –> 00:06:34,300
ستون سمت چپ یک تابع را بخواند
145
00:06:34,300 –> 00:06:37,120
و ببیند که چه زمانی مقدار
146
00:06:37,120 –> 00:06:39,610
هر یک از متغیرهای خود را تنظیم می کند چه چیزی
147
00:06:39,610 –> 00:06:42,639
باید برای معادل سازی استفاده شود اگر قبلاً
148
00:06:42,639 –> 00:06:44,919
از علامت مساوی برای چیزی استفاده کرده ایم که
149
00:06:44,919 –> 00:06:48,580
به معنای برابر نیست، همان چیزی را انجام می دهد که می بینید. آیا
150
00:06:48,580 –> 00:06:51,340
همه به آن به اضافه منهای ضرب عادت کردهاند،
151
00:06:51,340 –> 00:06:54,099
همه
152
00:06:54,099 –> 00:06:56,620
عملگرهای بیتی و حسابی را میدزدد زیرا
153
00:06:56,620 –> 00:06:58,569
آنها خوب کار میکنند و همه از
154
00:06:58,569 –> 00:07:00,849
آنها راضی هستند، ما کمی از آنها
155
00:07:00,849 –> 00:07:03,190
لذت خواهیم برد. البته وقتی
156
00:07:03,190 –> 00:07:04,870
به علامت درصد
157
00:07:04,870 –> 00:07:06,819
فکر می کنید به درون یابی رشته ای فکر می کنید به چه چیزی فکر می کنید، البته
158
00:07:06,819 –> 00:07:08,800
این اتفاق می افتد که
159
00:07:08,800 –> 00:07:12,819
عملگر مدول یک جای خالی داشت که روی رشته ها تعریف نشده بود،
160
00:07:12,819 –> 00:07:16,479
بنابراین ما ادامه می دهیم و
161
00:07:16,479 –> 00:07:18,909
درون یابی بین رشته ای را ایجاد می کنیم. در هر
162
00:07:18,909 –> 00:07:21,099
عبارتی که می خواهید از آن استفاده کنید با
163
00:07:21,099 –> 00:07:23,349
استفاده از علامت درصد، حتی
164
00:07:23,349 –> 00:07:26,740
به خاطر سپردن آن آسان خواهد بود، ما
165
00:07:26,740 –> 00:07:28,800
عبارات عددی اعدادی در پایه های مختلف
166
00:07:28,800 –> 00:07:32,020
دقیقاً مانند C کار می کنند زیرا همه
167
00:07:32,020 –> 00:07:35,229
رشته های C را می فهمند، ما از بک اسلش استفاده خواهیم کرد
168
00:07:35,229 –> 00:07:38,259
درست مانند C که
169
00:07:38,259 –> 00:07:40,779
شروع می کنید. برای دیدن جریان کنترل الگو،
170
00:07:40,779 –> 00:07:44,529
اگر در حین استراحت از if-else استفاده کنیم
171
00:07:44,529 –> 00:07:47,319
و از معانی نسبتاً واضحی
172
00:07:47,319 –> 00:07:49,419
که همه با آنها استفاده میکنند ادامه دهیم، استفاده از
173
00:07:49,419 –> 00:07:51,340
زبان را آسان میکند،
174
00:07:51,340 –> 00:07:56,920
بلافاصله انتخاب میکنیم تا
175
00:07:56,920 –> 00:08:00,130
الگوی تکرارکننده یا مبتنی بر دامنه باشیم
176
00:08:00,130 –> 00:08:02,170
که فقط اخیراً به C++ وارد
177
00:08:02,170 –> 00:08:04,330
شده است، اما پایتون از
178
00:08:04,330 –> 00:08:07,060
ابتدا این نحو را داشت که
179
00:08:07,060 –> 00:08:09,610
به جای حلقه while برای پنهان کردن
180
00:08:09,610 –> 00:08:12,810
ریاضیات، تکرار لیست پیوندی یا
181
00:08:12,810 –> 00:08:15,670
افزایشها استفاده میکنید. استفاده میشود که
182
00:08:15,670 –> 00:08:17,410
تمام موارد موجود در یک ساختار داده را به شما تحویل میدهد
183
00:08:17,410 –> 00:08:19,840
که نیازی به دانستن جزئیات آن ندارید، اگر
184
00:08:19,840 –> 00:08:23,980
حلقه for در نوع خود باشد و صحبت کردن با
185
00:08:23,980 –> 00:08:25,420
ساختار داده، متوجه میشود
186
00:08:25,420 –> 00:08:26,280
که چه کاری باید انجام
187
00:08:26,280 –> 00:08:29,680
دهیم، از استثناهای C++ و
188
00:08:29,680 –> 00:08:31,180
رسیدگی به استثناها جلوگیری میکنیم. که آنها را
189
00:08:31,180 –> 00:08:33,460
بسیار ارزانتر میکند، بنابراین میتوان از آنها به عنوان
190
00:08:33,460 –> 00:08:38,940
بخشهای عادی پردازش
191
00:08:38,940 –> 00:08:41,620
192
00:08:41,620 –> 00:08:43,270
193
00:08:43,270 –> 00:08:45,100
194
00:08:45,100 –> 00:08:47,680
195
00:08:47,680 –> 00:08:51,220
استفاده کرد. یک دونقطه آه و
196
00:08:51,220 –> 00:08:53,350
مشکل اصلی را با C از کامای انتهایی حل می
197
00:08:53,350 –> 00:08:57,550
کنیم. داستان با پاسکال شروع می شود
198
00:08:57,550 –> 00:09:00,790
، زبان وحشتناکی که از
199
00:09:00,790 –> 00:09:02,980
نقطه ویرگول نه به عنوان پایان دهنده دستور،
200
00:09:02,980 –> 00:09:06,310
بلکه به عنوان جداکننده عبارت استفاده می کرد که به
201
00:09:06,310 –> 00:09:08,500
این معنی بود که باید یک نقطه ویرگول در
202
00:09:08,500 –> 00:09:11,860
پایان قرار دهید. از هر
203
00:09:11,860 –> 00:09:14,020
دستوری به جز آخرین عبارت، قرار دادن نقطه ویرگول در آخرین دستور یک خطای نحوی بود،
204
00:09:14,020 –> 00:09:15,850
زیرا هیچ
205
00:09:15,850 –> 00:09:17,400
عبارت دیگری برای جدا کردن از
206
00:09:17,400 –> 00:09:19,120
آن وجود نداشت، این تفاوت بین
207
00:09:19,120 –> 00:09:21,340
جداکننده و پایان دهنده است. و به این معنی بود
208
00:09:21,340 –> 00:09:22,990
که هر وقت سعی میکردید
209
00:09:22,990 –> 00:09:26,440
خطوطی را در اطراف برنامه پاسکال خود برش دهید و جایگذاری کنید
210
00:09:26,440 –> 00:09:29,830
به یک خطای نحوی تبدیل میشد تا
211
00:09:29,830 –> 00:09:31,840
اینکه وارد شوید و نقطه ویرگول را
212
00:09:31,840 –> 00:09:33,250
از آخرین خط برداشته و روی خطی که
213
00:09:33,250 –> 00:09:34,830
منتقل
214
00:09:34,830 –> 00:09:38,530
کردهاید قرار دهید. در مورد عبارات بهتر بود
215
00:09:38,530 –> 00:09:40,690
و آنها نقطه ویرگول را یک پایان دهنده ساختند
216
00:09:40,690 –> 00:09:42,760
که تقارن زیبایی را ایجاد کرد که
217
00:09:42,760 –> 00:09:44,080
در آن هر عبارت منفرد
218
00:09:44,080 –> 00:09:45,940
یک نقطه ویرگول دارد، بنابراین شما می توانید آنها را به اطراف حرکت دهید
219
00:09:45,940 –> 00:09:51,460
اوه می خندد، سپس
220
00:09:51,460 –> 00:09:54,880
آنها توپی را که با کاما ساخته بودند در مقادیر اولیه ایستا کاما
221
00:09:54,880 –> 00:09:58,240
انداختند، یک جداکننده صرف که
222
00:09:58,240 –> 00:10:00,160
تا زمانی که همه چیز مناسب باشد خوب به نظر می رسد. در
223
00:10:00,160 –> 00:10:02,030
یک خط کاملاً عادی به نظر می رسد،
224
00:10:02,030 –> 00:10:04,940
اما به محض اینکه مقداردهی اولیه شما به
225
00:10:04,940 –> 00:10:07,040
اندازه کافی بلند شد که آن را به
226
00:10:07,040 –> 00:10:09,560
حالت عمودی تغییر دهید، اکنون با همان
227
00:10:09,560 –> 00:10:12,650
مشکل عدم تقارن مواجه خواهید شد.
228
00:10:12,650 –> 00:10:15,680
229
00:10:15,680 –> 00:10:19,370
230
00:10:19,370 –> 00:10:21,710
اگر
231
00:10:21,710 –> 00:10:23,510
میخواهید آن را برای تقارن
232
00:10:23,510 –> 00:10:25,160
در نظر بگیرید، اکنون پایتون آن را
233
00:10:25,160 –> 00:10:27,470
در هر زمینه کاملاً اختیاری کرده است، میتوانید آن را به
234
00:10:27,470 –> 00:10:29,720
صورت افقی یا نسخه دیگر کنار بگذارید. یا
235
00:10:29,720 –> 00:10:31,490
میتوانید آن را بهصورت افقی یا عمودی
236
00:10:31,490 –> 00:10:33,950
کاملاً به عهده خودتان قرار دهید، میتواند
237
00:10:33,950 –> 00:10:35,870
باعث شود برنامهای
238
00:10:35,870 –> 00:10:38,030
بتواند متنی را که میدانید تولید کند، اگر در
239
00:10:38,030 –> 00:10:40,610
حال تولید کد هستید، در واقع
240
00:10:40,610 –> 00:10:42,350
تولید آن خط بالا را آسانتر
241
00:10:42,350 –> 00:10:45,350
میکند. یک کاما بعد از هر
242
00:10:45,350 –> 00:10:49,850
کاری که بعداً انجام داد وارد c99 در C++ 11 شد.
243
00:10:49,850 –> 00:10:54,620
کاما اختیاری به اندازه کافی جالب است
244
00:10:54,620 –> 00:10:57,380
بروید بسیار خطرناک است اگر هر یک از شما استفاده کرده اید
245
00:10:57,380 –> 00:11:03,350
بروید یک نفر تا به حال از
246
00:11:03,350 –> 00:11:06,590
شما در مورد چیزی که تایپ کرده اید شکایت کرده است go
247
00:11:06,590 –> 00:11:09,530
در واقع باعث نمی شود این
248
00:11:09,530 –> 00:11:11,480
اختیاری است اگر همه چیز در یک خط
249
00:11:11,480 –> 00:11:13,370
قرار گیرد،
250
00:11:13,370 –> 00:11:15,380
اگر همه چیز را به حالت عمودی تغییر دهید، داشتن کامای انتهایی غیرقانونی است،
251
00:11:15,380 –> 00:11:18,560
پس از همه چیز اجباری می شود، حدس می زنم راب
252
00:11:18,560 –> 00:11:21,500
پایک گفت اگر ایده خوبی است،
253
00:11:21,500 –> 00:11:26,450
همیشه باید این کار را انجام دهید، کار دیگری که
254
00:11:26,450 –> 00:11:27,980
باید به آن اضافه کنیم.
255
00:11:27,980 –> 00:11:30,260
زبان اسکریپتی که ما طراحی می کنیم، فضاهای نام است،
256
00:11:30,260 –> 00:11:33,010
آنها حیاتی هستند، آنها
257
00:11:33,010 –> 00:11:36,820
از کابوس قدیمی برخورد نمادها در زمان پیوند جلوگیری می کنند
258
00:11:36,820 –> 00:11:39,800
که اگر
259
00:11:39,800 –> 00:11:41,120
تمام کتابخانه ها را در جستجو نمی نویسید.
260
00:11:41,120 –> 00:11:42,380
حل کردن on ممکن است بسیار دشوار باشد،
261
00:11:42,380 –> 00:11:44,240
اما ما آن را
262
00:11:44,240 –> 00:11:45,860
باریکتر انجام خواهیم داد، به سادگی اجازه نمیدهیم
263
00:11:45,860 –> 00:11:48,380
فضای نام خود را خودسرانه نامگذاری کنید
264
00:11:48,380 –> 00:11:50,180
،
265
00:11:50,180 –> 00:11:52,850
اگر یک فایل pupu dot pi بنویسید، نام فایل را خواهند داشت.
266
00:11:52,850 –> 00:11:56,630
یک ماژول پایتون و
267
00:11:56,630 –> 00:12:00,260
نام آن ماژول است، ما
268
00:12:00,260 –> 00:12:03,230
حتی سادهتر میشویم،
269
00:12:03,230 –> 00:12:06,200
اگر من
270
00:12:06,200 –> 00:12:08,930
دایرکتوری داشته باشم بسته من، یک فایل ماژول من که
271
00:12:08,930 –> 00:12:11,090
داخل آن یک کلاس باشد، فقط یک عملگر فضای نام داشته باشیم.
272
00:12:11,090 –> 00:12:12,300
سپس یک ویژگی
273
00:12:12,300 –> 00:12:15,960
دارد: نقطه بسته من، نقطه ماژول من، نقطه C
274
00:12:15,960 –> 00:12:20,790
یک عملگر جهانی را می خواند که روی همه فضاهای نام کار می کند،
275
00:12:20,790 –> 00:12:23,070
زیرا در نهایت این کار
276
00:12:23,070 –> 00:12:24,720
اساساً فقط مشغله ای است که باید به
277
00:12:24,720 –> 00:12:27,450
یاد داشته باشید که از عملگرهای مختلف استفاده کنید
278
00:12:27,450 –> 00:12:29,910
تا عملیات مشابه را در یک
279
00:12:29,910 –> 00:12:31,170
فضای نام برای یک فضای نام انجام دهید. نام
280
00:12:31,170 –> 00:12:33,690
نگران نباشید این بدان معنا نیست که در
281
00:12:33,690 –> 00:12:35,640
برنامههای پایتون شما
282
00:12:35,640 –> 00:12:38,930
مجبور میشوید از نام کاملاً واجد شرایط
283
00:12:38,930 –> 00:12:41,910
برای نمادی مانند read استفاده کنید، ما
284
00:12:41,910 –> 00:12:44,250
چندین نسخه از عبارت import خواهیم
285
00:12:44,250 –> 00:12:46,230
داشت که یک ماژول یا نماد آن را در
286
00:12:46,230 –> 00:12:48,780
آن قرار میدهد. ماژول به شما فضای نامی که به
287
00:12:48,780 –> 00:12:52,680
شما امکان میدهد مقدار ویژگی را تغییر دهید،
288
00:12:52,680 –> 00:12:54,300
مقدار خورش کاملاً واجد شرایط
289
00:12:54,300 –> 00:12:57,030
نامها را به هر کجا که میخواهید در دستگاه اندازهگیری کاملاً واجد شرایط
290
00:12:57,030 –> 00:13:01,710
که میخواهید تغییر دهید، به این معنی است که به
291
00:13:01,710 –> 00:13:04,280
طور خودکار بدون یک
292
00:13:04,280 –> 00:13:08,490
اعلامیه برای بارگیری توابع تعریف شده در
293
00:13:08,490 –> 00:13:10,770
ماژولهای مختلف به طور خودکار
294
00:13:10,770 –> 00:13:15,660
هرگز نمیتوانند با هم برخورد کنند. این واقعیت که
295
00:13:15,660 –> 00:13:17,730
هر ماژول فضای نام جهانی خودش است
296
00:13:17,730 –> 00:13:20,490
و ماژول را Global’s می نامیم به این معنی است که
297
00:13:20,490 –> 00:13:24,770
استاتیک از بین می رود، ما نیازی به
298
00:13:24,770 –> 00:13:27,480
این نداریم که هیچ دلیلی برای محافظه کار بودن و
299
00:13:27,480 –> 00:13:31,500
دور نگه داشتن چیزها از آن فضای نام وجود ندارد و
300
00:13:31,500 –> 00:13:33,000
معنی ندارد زیرا همه ماژول ها نیستند.
301
00:13:33,000 –> 00:13:35,970
فضای نامی را به اشتراک نمی گذاریم، ما یک
302
00:13:35,970 –> 00:13:38,400
کلاه کوچک برای یک تابع استاتیک داریم
303
00:13:38,400 –> 00:13:40,440
که برای انجام آن استفاده می شود، این است که اگر
304
00:13:40,440 –> 00:13:42,510
یک زیرخط جلوی نامی در یک
305
00:13:42,510 –> 00:13:44,250
ماژول قرار دهید، به برنامه نویسان همکار خود تبلیغ می
306
00:13:44,250 –> 00:13:45,660
کند که نباید آن را لمس
307
00:13:45,660 –> 00:13:48,930
کنند، داخلی است. فقط برای استفاده داخلی هیچ
308
00:13:48,930 –> 00:13:50,370
قولی نمی دهد که در آینده به کار خود ادامه
309
00:13:50,370 –> 00:13:53,400
دهد و همچنین تکمیل برگه ویرایشگرهای IDE
310
00:13:53,400 –> 00:13:54,480
311
00:13:54,480 –> 00:13:57,090
هرگز چیزی را که با یک تب شروع می شود نشان نمی دهد.
312
00:13:57,090 –> 00:14:01,550
شما در حال برنامه نویسی
313
00:14:02,100 –> 00:14:04,089
هستید، ما نمی خواهیم بارگذاری بیش از
314
00:14:04,089 –> 00:14:06,970
حد تابع را افزایش
315
00:14:06,970 –> 00:14:08,680
316
00:14:08,680 –> 00:14:10,029
317
00:14:10,029 –> 00:14:12,339
318
00:14:12,339 –> 00:14:14,529
319
00:14:14,529 –> 00:14:16,029
دهیم. باید آنها و
320
00:14:16,029 –> 00:14:18,399
آرگومانهای کلمه کلیدی را مشخص کنید که به شما امکان میدهد از روی
321
00:14:18,399 –> 00:14:20,290
تمام پیشفرضهایی که میخواهید حفظ کنید بپرید
322
00:14:20,290 –> 00:14:23,260
تا یکی را که میخواهید
323
00:14:23,260 –> 00:14:26,440
تنظیم کنید تغییر دهید، این بدان معناست که شما مجبور
324
00:14:26,440 –> 00:14:28,839
نیستید بنویسید که دو تا انتها
325
00:14:28,839 –> 00:14:31,089
نسخههای مختلف یک تابع را میشناسید. برای رسیدگی به
326
00:14:31,089 –> 00:14:33,190
تمام ترکیبهای مختلف آرگومانهایی
327
00:14:33,190 –> 00:14:36,160
که ممکن است کسی بخواهد آن را ارائه دهد و
328
00:14:36,160 –> 00:14:38,440
مهمتر از آن اگر میخواهید به این
329
00:14:38,440 –> 00:14:41,370
سؤال پاسخ دهید که آیا CSV را بنویسید، خوب فراخوانی میدهم،
330
00:14:41,370 –> 00:14:43,600
ما عملکرد تابع را
331
00:14:43,600 –> 00:14:46,300
ارسال نمیکنیم، این همان نوشتن CSV است
332
00:14:46,300 –> 00:14:49,450
که شما میتوان با یک جستجوی ساده در آن فایل py
333
00:14:49,450 –> 00:14:53,920
پیدا کرد، ما قصد داریم کاری را انجام
334
00:14:53,920 –> 00:14:55,420
دهیم، هرچند رادیکال برای زبانهای اسکریپت،
335
00:14:55,420 –> 00:14:57,160
ما میخواهیم
336
00:14:57,160 –> 00:14:59,649
به فراخوانهای خام سیستم یونیکس دسترسی کامل بدهیم.
337
00:14:59,649 –> 00:15:02,019
نمیدانم چرا زبانهای اسکریپت نویسی بنابراین o اغلب
338
00:15:02,019 –> 00:15:03,970
میخواستند راههای عجیب و غریب خود را
339
00:15:03,970 –> 00:15:06,250
برای باز کردن یک سوکت داشته باشند، آنها
340
00:15:06,250 –> 00:15:09,880
این روشهای زبان اسکریپت کوچک عجیب و غریب را دارند
341
00:15:09,880 –> 00:15:12,310
که سعی میکنند به شما اجازه انجام عملیات سوکت را بدهند
342
00:15:12,310 –> 00:15:15,730
و به نوعی
343
00:15:15,730 –> 00:15:18,520
هرگز به پیادهسازی همه
344
00:15:18,520 –> 00:15:20,589
آنها نرسیدند و ۵ یا ۶ مورد را انجام میدهند. به
345
00:15:20,589 –> 00:15:24,370
جای آن، پایتون را در
346
00:15:24,370 –> 00:15:26,380
ماژولهای اصلی رها کنید که به شما امکان میدهد با
347
00:15:26,380 –> 00:15:31,120
نسخههای سیستمعامل در هر استانداردی
348
00:15:31,120 –> 00:15:36,970
در این مورد فراخوانی سیستم عملکرد سوکت تعامل داشته باشید
349
00:15:36,970 –> 00:15:39,399
و این بدان معناست که میتوانید
350
00:15:39,399 –> 00:15:41,320
برنامهنویسی استیونز خود را در
351
00:15:41,320 –> 00:15:43,510
کتاب محیط یونیکس باز کنید و تقریباً فقط
352
00:15:43,510 –> 00:15:46,120
فراخوانها را در پایتون کپی کنید و
353
00:15:46,120 –> 00:15:48,370
لولههای خود را فرکانسهای شما پردازش میکند
354
00:15:48,370 –> 00:15:50,890
مدیران اجرایی و سوکتهای شما دقیقاً همانطور که
355
00:15:50,890 –> 00:15:51,670
تبلیغ میشود
356
00:15:51,670 –> 00:15:53,529
کار میکنند.
357
00:15:53,529 –> 00:15:54,910
358
00:15:54,910 –> 00:15:56,769
359
00:15:56,769 –> 00:15:58,360
که
360
00:15:58,360 –> 00:16:02,260
میتوانید دانشی را از C ++ مستقیماً
361
00:16:02,260 –> 00:16:04,019
به پایتون منتقل کنید، زیرا آنها به خود زحمت
362
00:16:04,019 –> 00:16:07,449
ندادهاند توضیح دهند که چگونه باید
363
00:16:07,449 –> 00:16:09,880
سوکتها را ایجاد کنید و این
364
00:16:09,880 –> 00:16:11,620
صحبت باشکوهی بود به من اجازه نداد سوکت ایجاد کنم.
365
00:16:11,620 –> 00:16:13,470
یادم نیست غلغلک دادن به من اجازه داد این کار را انجام دهم
366
00:16:13,470 –> 00:16:16,290
مروارید روشی دیوانه وار داشت،
367
00:16:16,290 –> 00:16:21,390
به نظر می رسید دریا چیزهای زیادی را قرض گرفته باشد،
368
00:16:21,390 –> 00:16:22,830
اگرچه چند چیز وجود دارد که
369
00:16:22,830 –> 00:16:25,280
ما می خواهیم درست کنیم. ساختن این
370
00:16:25,280 –> 00:16:28,500
زبان سادهتر رفتار تعریفنشده
371
00:16:28,500 –> 00:16:30,990
رفتار نامشخص و پیادهسازی
372
00:16:30,990 –> 00:16:35,460
برای یافتن رفتار ایدههای بدی برای
373
00:16:35,460 –> 00:16:37,860
زبانی است که دانشمندان دادههای فیزیکدان
374
00:16:37,860 –> 00:16:39,660
و دانشآموزان از آن استفاده میکنند
375
00:16:39,660 –> 00:16:43,350
و اغلب دستاوردهایی که به دست
376
00:16:43,350 –> 00:16:46,920
میآورید بسیار ناچیز است زیرا اجازه میدهیم در
377
00:16:46,920 –> 00:16:49,500
عوض حکم کنیم که هر پایتون برنامهای
378
00:16:49,500 –> 00:16:51,660
که از نظر نحوی معتبر است، معنای منحصر به فردی دارد
379
00:16:51,660 –> 00:16:53,820
که در همه پلتفرمها یکسان است،
380
00:16:53,820 –> 00:16:57,480
در استاندارد قرار دادن
381
00:16:57,480 –> 00:16:59,910
مواردی مانند ما عبارات را از چپ
382
00:16:59,910 –> 00:17:01,770
به راست ارزیابی میکنیم بهجای اینکه آن را بهصورت تصادفی
383
00:17:01,770 –> 00:17:03,570
انجام دهیم که روی یک قالب یا
384
00:17:03,570 –> 00:17:03,960
چیزی چرخاندهایم،
385
00:17:03,960 –> 00:17:08,970
و این بدان معنی است که همیشه یک
386
00:17:08,970 –> 00:17:11,760
تعبیر معنی منحصر به فرد و
387
00:17:11,760 –> 00:17:14,369
ترتیب عملیات برای هر عبارتی است که
388
00:17:14,369 –> 00:17:16,800
می توانید بنویسید، اگر بدانید ممکن
389
00:17:16,800 –> 00:17:18,569
است در یک عبارت دیگر سریعتر انجام شود. اگر میتوانید
390
00:17:18,569 –> 00:17:20,339
آنها را به ترتیب دیگری قرار دهید، اما شما
391
00:17:20,339 –> 00:17:22,800
بر ترتیبی که برنامه به خوبی
392
00:17:22,800 –> 00:17:25,800
اجرا میکند کنترل میکنید، باید
393
00:17:25,800 –> 00:17:27,480
اولویت را برطرف کنیم، نمیدانم آیا
394
00:17:27,480 –> 00:17:29,250
قبلاً این کار را انجام دادهاید یا نه
395
00:17:29,250 –> 00:17:31,140
از مجموعه پرچمهای قدیمی و
396
00:17:31,140 –> 00:17:34,350
مجموعه جدید پرچمها
397
00:17:34,350 –> 00:17:37,590
، اگر تا به حال سعی کردهاید این را بنویسید، بیت هگز 80 را یکسان نگه
398
00:17:37,590 –> 00:17:39,180
داشتید، خیلی سریع متوجه شدید
399
00:17:39,180 –> 00:17:43,260
که C به این فکر میکند، بیایید
400
00:17:43,260 –> 00:17:46,560
پرچمها را با هگز 80 مقایسه کنیم و سپس آن را بدست آوریم
401
00:17:46,560 –> 00:17:49,560
. نتیجه 1 یا 0 و آن را با
402
00:17:49,560 –> 00:17:55,280
هر دو پرچم و هگز 80 که 0 می دهد
403
00:17:55,490 –> 00:17:59,600
اوه ببینید ما می خواهیم آن
404
00:17:59,600 –> 00:18:02,330
سوئیچ اولویت ها را اصلاح کنیم و در
405
00:18:02,330 –> 00:18:05,029
برابری عملگرها بعد از همه
406
00:18:05,029 –> 00:18:07,100
عملگرهای حسابی قرار می گیرند به این معنی که
407
00:18:07,100 –> 00:18:09,169
عبارت بالا توسط پایتون تفسیر می شود.
408
00:18:09,169 –> 00:18:12,799
از آنجایی که قسمت پایینی منبع
409
00:18:12,799 –> 00:18:16,450
خطا را حذف می کند، خوانایی آنها مهم است،
410
00:18:16,450 –> 00:18:19,190
در حالی که مثبت و منفی برای
411
00:18:19,190 –> 00:18:20,990
افرادی که از کلاس ریاضی هستند آشنا
412
00:18:20,990 –> 00:18:22,880
هستند، ممکن است قبلاً علامت دو برابر را ندیده باشند،
413
00:18:22,880 –> 00:18:25,309
بنابراین ما به جای خیره شدن به نمادها از
414
00:18:25,309 –> 00:18:28,730
کلمات و یا به این صورت استفاده
415
00:18:28,730 –> 00:18:30,500
می کنیم. مردم تا
416
00:18:30,500 –> 00:18:32,720
حد امکان به کلماتی که
417
00:18:32,720 –> 00:18:35,029
آنها تشخیص می دهند خیره می شویم و به عنوان یک امتیاز
418
00:18:35,029 –> 00:18:36,770
، آنها را مانند C++ اتصال کوتاه می کنیم،
419
00:18:36,770 –> 00:18:40,340
اما به جای اینکه 1 یا 0
420
00:18:40,340 –> 00:18:41,899
را برگردانم، همیشه وقتی به C++ برمی گردم،
421
00:18:41,899 –> 00:18:46,909
می رویم. برای برگرداندن آخرین مقداری
422
00:18:46,909 –> 00:18:50,659
که ارزیابی شده است، بنابراین می توانید بگویید
423
00:18:50,659 –> 00:18:52,549
اگر می ترسید پیام نقطه خطا
424
00:18:52,549 –> 00:18:55,190
ممکن است یک مقدار خالی باشد، می توانید
425
00:18:55,190 –> 00:18:58,820
پیام نقطه خطا یا خطای رشته
426
00:18:58,820 –> 00:19:01,610
را بگویید و اولین مورد را به شما برگردانده اید
427
00:19:01,610 –> 00:19:05,000
. درست است، ما این
428
00:19:05,000 –> 00:19:07,940
ایده خوب C را گسترش می دهیم که
429
00:19:07,940 –> 00:19:10,159
صفر نادرست است، دو رشته و
430
00:19:10,159 –> 00:19:12,230
کانتینر خالی که صحت نادرستی خود را قضاوت می
431
00:19:12,230 –> 00:19:14,390
کنیم که بر اساس
432
00:19:14,390 –> 00:19:17,450
طول آنها صفر است و ساختارهای داده خالی
433
00:19:17,450 –> 00:19:20,120
همه اگر می توانید آنها را به
434
00:19:20,120 –> 00:19:23,149
bool بریزید در نظر گرفته می شوند. نادرست است، بنابراین
435
00:19:23,149 –> 00:19:26,929
اگر میخواهید ببینید
436
00:19:26,929 –> 00:19:30,860
که آیا لیست را به عنوان هر چیزی در
437
00:19:30,860 –> 00:19:34,930
آن به طور کامل حذف میکنیم، میتوانید بگویید اگر نه فهرست
438
00:19:34,930 –> 00:19:37,330
439
00:19:37,330 –> 00:19:41,140
440
00:19:41,140 –> 00:19:45,320
441
00:19:45,320 –> 00:19:48,140
من اعداد صحیح بزرگ به طور
442
00:19:48,140 –> 00:19:50,750
مشکوکی نزدیک به دو
443
00:19:50,750 –> 00:19:53,840
میلیارد است و یکی را به آنها اضافه کنید، به
444
00:19:53,840 –> 00:19:56,000
جای یک
445
00:19:56,000 –> 00:19:57,680
عدد کمی بزرگتر که بیشتر از دو
446
00:19:57,680 –> 00:20:00,110
میلیارد است، یک عدد منفی دریافت می کنید.
447
00:20:00,110 –> 00:20:02,780
448
00:20:02,780 –> 00:20:06,470
449
00:20:06,470 –> 00:20:09,130
450
00:20:09,130 –> 00:20:13,880
اگر این
451
00:20:13,880 –> 00:20:15,410
زبان قرار است توسط
452
00:20:15,410 –> 00:20:17,630
فیزیکدانان توسط ریاضیدانان توسط
453
00:20:17,630 –> 00:20:21,050
آماردانان مورد استفاده قرار گیرد،
454
00:20:21,050 –> 00:20:24,290
اگر بپرسند 2 به 250 توان هفتم
455
00:20:24,290 –> 00:20:27,980
برای بدست آوردن یک عدد بزرگ در کامپیوترها
456
00:20:27,980 –> 00:20:30,200
در اعداد خوب هستند، سزاوار است. چیزهای اساسی
457
00:20:30,200 –> 00:20:33,170
و بنابراین ما یک نوع عدد صحیح خواهیم داشت
458
00:20:33,170 –> 00:20:36,760
که همیشه همیشه رفتار می کند
459
00:20:36,760 –> 00:20:39,350
تا زمانی که اندازه عدد صحیح رم را تخلیه کند،
460
00:20:39,350 –> 00:20:44,720
اکنون به یک سوال بزرگ
461
00:20:44,720 –> 00:20:47,570
با یک زبان اسکریپت می رسیم و
462
00:20:47,570 –> 00:20:49,820
این چیزی است که من فکر می کنم در روزهای اولیه پایتون
463
00:20:49,820 –> 00:20:52,250
ممکن است داشته باشد.
464
00:20:52,250 –> 00:20:54,200
زمانی که بسیار کوچک بود و
465
00:20:54,200 –> 00:20:56,330
در مقایسه با چیزهایی مانند پرل محبوبیت داشت، شتاب خود را حفظ کرد،
466
00:20:56,330 –> 00:20:58,880
اما سیستم نوع آن بسیار دقیق تر باشد
467
00:20:58,880 –> 00:21:00,890
که تعداد افرادی که در اینجا نوشته اند. tten
468
00:21:00,890 –> 00:21:05,690
جاوا اسکریپت چه رقم رشته ای است 4
469
00:21:05,690 –> 00:21:10,090
منهای عدد صحیح 3
470
00:21:11,919 –> 00:21:16,160
عالی است یک عدد رقمی
471
00:21:16,160 –> 00:21:22,610
برای رشته به اضافه 343 است نه حتی عدد
472
00:21:22,610 –> 00:21:26,240
43 اما رشته این یک سیستم نوع شل
473
00:21:26,240 –> 00:21:29,030
است این زبانی است که
474
00:21:29,030 –> 00:21:31,370
نوعی عقده حقارت دارد. و از این می
475
00:21:31,370 –> 00:21:33,140
ترسد که اگر
476
00:21:33,140 –> 00:21:37,070
نتواند آن را بفرستد و
477
00:21:37,070 –> 00:21:40,400
مقادیری را که به آن داده اید را دوباره بسازید و دوباره بسازید تا زمانی
478
00:21:40,400 –> 00:21:44,780
که به دلایلی چیزی به ذهنتان خطور
479
00:21:44,780 –> 00:21:46,730
کند که اگر از شما خواسته شود رشته ای اضافه کنید عالی هستید قضاوت کنید.
480
00:21:46,730 –> 00:21:49,040
و عددی که باید بدانید
481
00:21:49,040 –> 00:21:50,929
دارید چه کار می کنید و بدیهی است که
482
00:21:50,929 –> 00:21:53,510
اگر نمی توانید راهی برای ارسال
483
00:21:53,510 –> 00:21:56,330
آن به یک مشکل پاسخ پیدا کنید این تقصیر است، به
484
00:21:56,330 –> 00:21:59,510
ندرت پاسخی است که می خواهید یک
485
00:21:59,510 –> 00:22:02,390
آرایه خالی به اضافه یک آرایه خالی در
486
00:22:02,390 –> 00:22:05,240
جاوا اسکریپت هنگامی که تمام گرد و
487
00:22:05,240 –> 00:22:08,200
غبار در ریخته گری
488
00:22:08,200 –> 00:22:13,100
کاملاً تمام شد، رشته خالی در جاوا اسکریپت بسیار
489
00:22:13,100 –> 00:22:14,720
خوب است، ما انواع مختلف را
490
00:22:14,720 –> 00:22:17,030
در اینجا امتحان می کنیم، چه اتفاقی می افتد اگر آرایه خالی را دریافت کنید
491
00:22:17,030 –> 00:22:19,460
و آن را به شی خالی اضافه کنید
492
00:22:19,460 –> 00:22:24,410
بله، این شیء شی رشته است.
493
00:22:24,410 –> 00:22:25,940
در پرانتز با یک ثانیه یک جمع با
494
00:22:25,940 –> 00:22:29,059
حروف بزرگ،
495
00:22:29,059 –> 00:22:31,280
ما معمولاً به عنوان
496
00:22:31,280 –> 00:22:34,220
جابجایی جابجایی فکر می کنیم، اگر آن را
497
00:22:34,220 –> 00:22:36,919
عوض کنیم و جسم را اول قرار دهیم، بله
498
00:22:36,919 –> 00:22:43,910
، 0 است، اگر شما را سرگرم کرد، باید
499
00:22:43,910 –> 00:22:47,000
بروید بحث بلوز در سال 2012 را ببینید، یک سخنرانی کوچک
500
00:22:47,000 –> 00:22:48,740
پنج دقیقه ای رعد و برق توسط گری
501
00:22:48,740 –> 00:22:52,100
برنهارت موش نامیده میشود که از جمعیتی تشکیل شده است که
502
00:22:52,100 –> 00:22:55,220
وقتی او
503
00:22:55,220 –> 00:22:58,250
از روبی و جاوا اسکریپت نمونههای زیادی را مرور میکند، با هیاهو میخندد
504
00:22:58,250 –> 00:23:00,440
و سپس به صورت خندهدار میگوید که
505
00:23:00,440 –> 00:23:03,440
بعد از همه عالی است،
506
00:23:03,440 –> 00:23:06,679
پرل سعی میکند هر عبارتی
507
00:23:06,679 –> 00:23:10,070
را که مینویسید، کاری کند که همان روشی را
508
00:23:10,070 –> 00:23:12,110
که زبانهای اسکریپت سنتی
509
00:23:12,110 –> 00:23:14,510
فکر میکردند انجام دهد. که
510
00:23:14,510 –> 00:23:16,400
انواع شل راحت
511
00:23:16,400 –> 00:23:21,030
بودند، اشتباه بودند، حقیقت این است که
512
00:23:21,030 –> 00:23:24,360
انواع لوئیس وحشتناک هستند، آنها یک
513
00:23:24,360 –> 00:23:27,030
اصل را زیر پا می گذارند که
514
00:23:27,030 –> 00:23:30,030
وقتی خطایی در برنامه خود داشتید آن را محلی می نامم،
515
00:23:30,030 –> 00:23:34,110
خوب است که یک استثنا نزدیک به
516
00:23:34,110 –> 00:23:36,930
جایی که خطا را مشکل کرده اید مطرح کنید.
517
00:23:36,930 –> 00:23:38,970
با همه آن کستینگ های دیوانه وار که می
518
00:23:38,970 –> 00:23:41,550
دانید در جاوا اسکریپت تقریباً هر عبارتی
519
00:23:41,550 –> 00:23:43,800
به چیزی ارزیابی می شود این است که
520
00:23:43,800 –> 00:23:45,270
اگر اشتباه کنید من در وسط
521
00:23:45,270 –> 00:23:47,790
برنامه شما کامل می شود و
522
00:23:47,790 –> 00:23:50,130
مزخرفات چاپ می شوند و
523
00:23:50,130 –> 00:23:52,440
تا زمانی که یک خط به خط جستجو
524
00:23:52,440 –> 00:23:55,380
نکنید جایی که خطایی را مرتکب شده اید، متوجه نخواهید شد که به خوانایی نیز آسیب می رساند
525
00:23:55,380 –> 00:23:57,630
زیرا ارسال مخفی زمانی است
526
00:23:57,630 –> 00:23:59,400
که بعداً برای حفظ آن برگردید.
527
00:23:59,400 –> 00:24:01,800
برنامه ای که در وسط یک خط اتفاق می افتد که در
528
00:24:01,800 –> 00:24:03,690
آن یک عبارت مثبت وجود دارد که
529
00:24:03,690 –> 00:24:06,330
هیچ علامتی ندارد، مگر اینکه شما
530
00:24:06,330 –> 00:24:09,600
نظری ارسال کرده باشید که یک مقدار برای انجام
531
00:24:09,600 –> 00:24:13,170
دیگری در پایتون فرستاده می شود، ما معتقدیم که هر
532
00:24:13,170 –> 00:24:16,380
دوی اینها همانطور که در C++ هستند سزاوار این هستند که
533
00:24:16,380 –> 00:24:19,770
به سادگی خطا باشد زیرا به
534
00:24:19,770 –> 00:24:24,120
اندازه کافی آسان است که بخواهید رشته
535
00:24:24,120 –> 00:24:25,050
را به یک عدد صحیح تبدیل کنید.
536
00:24:25,050 –> 00:24:26,490
537
00:24:26,490 –> 00:24:29,310
538
00:24:29,310 –> 00:24:33,600
539
00:24:33,600 –> 00:24:36,270
540
00:24:36,270 –> 00:24:38,580
شما تمام مراحلی را که
541
00:24:38,580 –> 00:24:42,390
برای محاسبه مقدار خروجی در پایتون
542
00:24:42,390 –> 00:24:44,610
543
00:24:44,610 –> 00:24:47,250
544
00:24:47,250 –> 00:24:50,610
انجام میدهید، معتقدیم که صریح بهتر از ضمنی است و خطاها هرگز نباید بیصدا بگذرند، ما میخواهیم
545
00:24:50,610 –> 00:24:52,170
خط کدی را که در آن انجام دادهاید به شما نشان دهیم. ng
546
00:24:52,170 –> 00:24:54,180
مزخرف به جای نشان دادن
547
00:24:54,180 –> 00:24:57,390
مزخرفات به شما در پایان برنامه، پایتون
548
00:24:57,390 –> 00:25:01,230
از یک سیستم نوع سختگیرانه استفاده میکند که در
549
00:25:01,230 –> 00:25:03,150
بیشتر موارد تنها روش ریختهگری این است که
550
00:25:03,150 –> 00:25:07,200
به شما اجازه میدهیم یک شناور به int اضافه کنید
551
00:25:07,200 –> 00:25:09,960
، هرچند که بعضی روزها
552
00:25:09,960 –> 00:25:11,970
ناراحت هستیم که این کار را انجام دادیم. از آنجایی که آنها می توانند
553
00:25:11,970 –> 00:25:13,740
افرادی را که محدودیت های این دو نوع را درک نمی کنند گیج کنند،
554
00:25:13,740 –> 00:25:17,310
555
00:25:17,310 –> 00:25:20,830
بنابراین ما می خواهیم این
556
00:25:20,830 –> 00:25:22,630
آشفتگی را از نحوه انجام ریاضی زبان های برنامه نویسی به
557
00:25:22,630 –> 00:25:27,040
طور سنتی پاک کنیم و اکنون زمان
558
00:25:27,040 –> 00:25:29,140
آن رسیده است که
559
00:25:29,140 –> 00:25:32,590
به معنی متغیرها در ++C فکر کنیم. شما طیف وسیعی از
560
00:25:32,590 –> 00:25:36,910
گزینه ها را دارید، از داشتن مقادیری که به
561
00:25:36,910 –> 00:25:39,790
صورت خودکار روی پشته زندگی می
562
00:25:39,790 –> 00:25:42,250
کنند تا پشته به سادگی با نگه داشتن یک
563
00:25:42,250 –> 00:25:44,320
اشاره گر و خارج بودن مقدار در
564
00:25:44,320 –> 00:25:46,540
حافظه برای بسیاری از وظایف C++
565
00:25:46,540 –> 00:25:48,610
برای کنترل مهم استفاده می شود.
566
00:25:48,610 –> 00:25:51,400
اگر بخواهیم
567
00:25:51,400 –> 00:25:54,130
فقط یک کار را برای پایتون انجام
568
00:25:54,130 –> 00:25:54,720
دهیم و
569
00:25:54,720 –> 00:25:56,770
بدیهی است که نمیتوانیم از ارزش عبوری استفاده کنیم،
570
00:25:56,770 –> 00:25:59,680
ساختارهای داده بزرگ دوست ندارند
571
00:25:59,680 –> 00:26:05,470
روی پشته کپی شوند، چه اتفاقی میافتد، بنابراین در پایتون ما
572
00:26:05,470 –> 00:26:08,200
فقط از p استفاده میکنیم. ما
573
00:26:08,200 –> 00:26:10,150
یک ساده سازی عظیم انجام می دهیم و
574
00:26:10,150 –> 00:26:12,970
تصمیم می گیریم که هر متغیر یک اشاره گر
575
00:26:12,970 –> 00:26:15,760
به یک شی است بدون استثنا اگر
576
00:26:15,760 –> 00:26:19,600
بگویید من برابر است با سه یک شی عدد صحیح
577
00:26:19,600 –> 00:26:22,180
روی پشته ایجاد می شود که سه
578
00:26:22,180 –> 00:26:26,200
در بیت های آن نوشته شده است و نام شما a ساخته می شود.
579
00:26:26,200 –> 00:26:29,470
اشاره گر به آن B برابر است با a یک نقطه یا
580
00:26:29,470 –> 00:26:31,990
عملیات کپی کردن است، اکنون دو نام
581
00:26:31,990 –> 00:26:36,640
دارید که یک اشاره گر را نگه می دارند اگر همه
582
00:26:36,640 –> 00:26:39,850
چیز یک اشاره گر
583
00:26:39,850 –> 00:26:43,800
584
00:26:43,830 –> 00:26:48,450
باشد، اگر پایتون با لیستی از
585
00:26:48,450 –> 00:26:52,770
نوع اشاره گرها باشد، باید چند نوع لیست در پایتون بنویسیم. کار با لیست ها تمام شده است، می
586
00:26:52,770 –> 00:26:54,570
توانید لیستی از رشته های اعداد صحیح داشته
587
00:26:54,570 –> 00:26:57,690
588
00:26:57,690 –> 00:26:59,580
باشید تا زمانی که فهرستی از اشاره گرها داشته باشید، لیست های دیگر را شناور می کند،
589
00:26:59,580 –> 00:27:01,290
زیرا همه چیز نشانگر است
590
00:27:01,290 –> 00:27:04,490
که چه تعداد از انواع جدول هش نیاز داریم به
591
00:27:04,490 –> 00:27:06,600
هش مپ هایی که پایتون آن را
592
00:27:06,600 –> 00:27:12,900
دیکشنری یا دیکته می نامد. یکی از کلیدهای نقشه
593
00:27:12,900 –> 00:27:16,290
که نشانگر مقادیر به مقادیر
594
00:27:16,290 –> 00:27:19,350
هستند که نشانگرهای اشیاء خارج از
595
00:27:19,350 –> 00:27:23,100
پشته هستند، این بدان معنی است که
596
00:27:23,100 –> 00:27:26,600
کل بخش مشخصات C++ روی الگوها
597
00:27:26,600 –> 00:27:29,670
تبخیر می شود زیرا همه انواعی که شما می
598
00:27:29,670 –> 00:27:32,300
نویسید همه انواع کانتینر به
599
00:27:32,300 –> 00:27:34,950
طور خودکار واجد شرایط نگه داشتن هر
600
00:27:34,950 –> 00:27:38,370
شی هستند، زیرا یک
601
00:27:38,370 –> 00:27:40,500
کانتینر به سادگی نشانگرها را نگه می دارد،
602
00:27:40,500 –> 00:27:45,330
منظورم این نیست که همیشه پایتون
603
00:27:45,330 –> 00:27:47,340
با آرایه های شناور کارآمدی همراه است
604
00:27:47,340 –> 00:27:49,050
که اگر دانشمند داده هستید یا انجام می دهید، می توانید از آنها استفاده کنید.
605
00:27:49,050 –> 00:27:52,050
آمار اما
606
00:27:52,050 –> 00:27:54,810
زبان ساده a برابر با سه همیشه
607
00:27:54,810 –> 00:27:57,960
از نشانگرها استفاده می کند، همه چیز یک اشاره گر
608
00:27:57,960 –> 00:28:00,360
به این معنی است که ساختارهای داده نه تنها
609
00:28:00,360 –> 00:28:02,190
ساده هستند و شما فقط به یکی از هر یک از آنها نیاز دارید،
610
00:28:02,190 –> 00:28:03,930
بلکه به این معنی است که آنها به
611
00:28:03,930 –> 00:28:07,740
طور خودکار قابل ترکیب هستند، اگر می خواهید
612
00:28:07,740 –> 00:28:09,540
شاید به این دلیل که در حال خواندن هستید.
613
00:28:09,540 –> 00:28:11,640
از یک API موجود در وب، اگر
614
00:28:11,640 –> 00:28:14,700
فهرستی را میخواهید که هر کدام از عناصر آن
615
00:28:14,700 –> 00:28:20,640
یک فرهنگ لغت است، فقط آن را تایپ میکنید و
616
00:28:20,640 –> 00:28:24,060
به صورت رایگان کار میکند، این واقعیت که همه چیزهایی
617
00:28:24,060 –> 00:28:25,410
که همه لیستهای کوچک
618
00:28:25,410 –> 00:28:27,630
نشانگر هستند به این معنی است که میتوانید
619
00:28:27,630 –> 00:28:29,550
این ترکیب را بسازید. ساختار داده
620
00:28:29,550 –> 00:28:31,530
بدون اعلام چیزی و درخواست
621
00:28:31,530 –> 00:28:33,030
مجوز، فقط کار میکند،
622
00:28:33,030 –> 00:28:36,690
چه میشود اگر شما یک فرهنگ لغت میخواهید
623
00:28:36,690 –> 00:28:40,110
که مقادیر آن بهجای رشتههای ساده یا اعداد صحیح، لیست باشد.
624
00:28:40,110 –> 00:28:42,900
آن را تایپ کنید و
625
00:28:42,900 –> 00:28:44,509
درست کار
626
00:28:44,509 –> 00:28:47,690
می کند، اگر کلیدهای هشمپ ترکیبی می خواهید،
627
00:28:47,690 –> 00:28:50,209
من با داشتن
628
00:28:50,209 –> 00:28:52,849
مقادیری که اسلاید قبلی دارای مقادیر باشد، کمی فریب خوردم، شما نمی
629
00:28:52,849 –> 00:28:56,899
توانید از لیست ها برای کلیدها استفاده کنید، زیرا یک لیست
630
00:28:56,899 –> 00:28:59,089
می تواند بزرگ یا کوچک شود یا عناصری
631
00:28:59,089 –> 00:29:01,369
اضافه یا حذف شوند. مقدار هش آن را تغییر دهید، به
632
00:29:01,369 –> 00:29:03,829
این معنی که وقتی به
633
00:29:03,829 –> 00:29:05,479
634
00:29:05,479 –> 00:29:09,320
نقشه هش برگشتید، آن را پیدا نمیکنید، هشمپها فقط با آیتمهایی کار میکنند که
635
00:29:09,320 –> 00:29:14,149
مقدار هش آنها ثابت است، بنابراین پایتون
636
00:29:14,149 –> 00:29:16,339
با دومین توالی داخلی که
637
00:29:16,339 –> 00:29:19,969
تغییرناپذیر است، آن را یک تاپل یا تاپل مینامد.
638
00:29:19,969 –> 00:29:24,169
سرنگونی من انگلیسی بلد نیستم شما
639
00:29:24,169 –> 00:29:26,629
به جای پرانتز از پرانتز استفاده می کنید و
640
00:29:26,629 –> 00:29:29,029
وقتی آن را تنظیم کردید هرگز نمی تواند
641
00:29:29,029 –> 00:29:31,429
تغییر کند، به این معنی است که مقدار هش پایداری
642
00:29:31,429 –> 00:29:35,809
دارد و می تواند به عنوان یک کلید ترکیبی استفاده
643
00:29:35,809 –> 00:29:38,449
شود زیرا تعداد کمی از شما خیلی
644
00:29:38,449 –> 00:29:40,190
هیجان زده به نظر نرسید می توانم بگویم که
645
00:29:40,190 –> 00:29:41,899
شما هرگز سعی نکرده اید از یک
646
00:29:41,899 –> 00:29:44,809
زبان برنامه نویسی استفاده کنید که فقط به کلیدهای رشته ای اجازه می دهد
647
00:29:44,809 –> 00:29:48,109
تا کلیدهای دیکشنری تاپل هشمپ آن را
648
00:29:48,109 –> 00:29:50,690
فوراً حل کند یک مشکل قدیمی وحشتناک
649
00:29:50,690 –> 00:29:53,089
در اسکریپت نویسی که فرض کنید
650
00:29:53,089 –> 00:29:55,579
من خروجی هایی را که استفاده می کنیم را جمع بندی می کنم.
651
00:29:55,579 –> 00:29:57,079
چندین وام دهنده مختلف کار می کنند و سپس
652
00:29:57,079 –> 00:29:58,099
باید تمام اطلاعات را
653
00:29:58,099 –> 00:30:00,229
با هم جمع کنیم تا به توسعه دهنده نشان
654
00:30:00,229 –> 00:30:03,229
دهیم و فرض کنیم که کلیدهای یک فایل به
655
00:30:03,229 –> 00:30:04,639
نوعی ناهمگن هستند، آنها یک
656
00:30:04,639 –> 00:30:07,009
نام فایل و خطی هستند که
657
00:30:07,009 –> 00:30:11,749
پیام linter در مورد آن است. ما Alif نیستیم،
658
00:30:11,749 –> 00:30:13,849
ما راهی برای ایجاد کلیدهای هش مرکب
659
00:30:13,849 –> 00:30:16,129
نداریم، باید
660
00:30:16,129 –> 00:30:17,839
همه اطلاعات را با هم در یک
661
00:30:17,839 –> 00:30:20,690
مقدار واحد جمع کنیم، یک جداکننده انتخاب کنید
662
00:30:20,690 –> 00:30:23,539
و عدد صحیح را از یک عدد صحیح به یک
663
00:30:23,539 –> 00:30:25,639
سری ارقام تبدیل کنید. و شما می توانید
664
00:30:25,639 –> 00:30:27,379
همه چیز را با هم مخلوط کنید و عالی کار می کند
665
00:30:27,379 –> 00:30:30,379
تا زمانی که با اولین
666
00:30:30,379 –> 00:30:32,869
فایل خود با یک دونقطه در نام روبرو شوید و
667
00:30:32,869 –> 00:30:34,849
سپس شکسته شود و سپس دوباره وارد شوید و
668
00:30:34,849 –> 00:30:36,289
به یاد داشته باشید که خوب ما به دنبال دو
669
00:30:36,289 –> 00:30:38,239
نقطه از سمت راست می گردیم پس اشکالی ندارد اگر
670
00:30:38,239 –> 00:30:39,679
دونقطه دیگری در آنجا وجود دارد و
671
00:30:39,679 –> 00:30:41,539
سپس برای مدتی به کار خود ادامه می دهد،
672
00:30:41,539 –> 00:30:44,239
آماده هستید که این پیام ها را مرتب کنید تا
673
00:30:44,239 –> 00:30:47,179
آنها را به کاربر نشان دهید و به این
674
00:30:47,179 –> 00:30:50,120
ترتیب با هشت
675
00:30:50,120 –> 00:30:53,870
بعدی از 47 اوه مرتب می شود، به این دلیل است که
676
00:30:53,870 –> 00:30:56,090
از ترتیب حروف الفبا استفاده می کند و g است. می
677
00:30:56,090 —