در این مطلب، ویدئو پایتون عجیبه… با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:26:29
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:01,680
سلام به همه و به یک ویدیوی دیگر در یوتیوب خوش آمدید،
2
00:00:01,680 –> 00:00:04,160
بنابراین در ویدیوی امروز
3
00:00:04,160 –> 00:00:06,160
چند کد پایتون عجیب و غریب را به شما نشان خواهم داد،
4
00:00:06,160 –> 00:00:08,000
من یکسری قطعه کد دارم
5
00:00:08,000 –> 00:00:09,760
تا همه این کدها را به شما نشان دهم، فقط
6
00:00:09,760 –> 00:00:12,320
چیزهای عجیب غریب در پایتون هستند که می توانید به
7
00:00:12,320 –> 00:00:14,160
نوعی این ویدیو را مانند یک مسابقه امتحان کنید یا
8
00:00:14,160 –> 00:00:15,920
خودتان تست کنید، جایی که سعی می کنید حدس
9
00:00:15,920 –> 00:00:17,520
بزنید خروجی این کد چیست یا
10
00:00:17,520 –> 00:00:19,439
قبل از اینکه
11
00:00:19,439 –> 00:00:21,520
آن را اجرا کنم قبل از اینکه وارد آن شویم، باید
12
00:00:21,520 –> 00:00:23,119
به اسپانسر این ویدیو اشاره کنم
13
00:00:23,119 –> 00:00:24,800
که میزبان سریع مسابقه ای
14
00:00:24,800 –> 00:00:26,880
را برای هر یک از بینندگان مستقر من در بریتانیا اجرا می کند،
15
00:00:26,880 –> 00:00:29,199
بنابراین اگر در بریتانیا ساکن
16
00:00:29,199 –> 00:00:31,039
هستید و می توانید به سؤال آزمون فنی من پاسخ دهید،
17
00:00:31,039 –> 00:00:32,800
در آن صورت شرکت خواهید کرد تا برنده
18
00:00:32,800 –> 00:00:35,040
کار رویایی خود از راه اندازی خانه شوید که
19
00:00:35,040 –> 00:00:37,920
تا 5000 ارزش دارد. پوند پس
20
00:00:37,920 –> 00:00:42,520
منتظر آن باشید و بیایید در ویدیو
21
00:00:42,910 –> 00:00:46,020
[موسیقی
22
00:00:48,559 –> 00:00:50,640
] شیرجه بزنیم، پس بیایید ادامه دهیم و در
23
00:00:50,640 –> 00:00:52,320
حال حاضر شیرجه بزنیم، اولین چیزهای عجیب و غریبی که باید
24
00:00:52,320 –> 00:00:54,320
در پایتون به شما نشان دهم نوعی تخم مرغ عید پاک
25
00:00:54,320 –> 00:00:56,480
هستند و شامل وارد کردن ماژول
26
00:00:56,480 –> 00:00:58,079
ها هستند، بنابراین اینها فوق العاده هستند. ساده اما اولین
27
00:00:58,079 –> 00:01:00,000
چیزی که می توانید انجام این کار در پایتون بسیار عجیب
28
00:01:00,000 –> 00:01:03,280
است این است که اگر این ماژول را
29
00:01:03,280 –> 00:01:06,000
وارد کنید و اسکریپت خود را اجرا کنید
30
00:01:06,000 –> 00:01:09,200
این است که یک شعر خروجی می دهد
31
00:01:09,200 –> 00:01:12,240
این شعر ذن پایتون توسط تایم
32
00:01:12,240 –> 00:01:13,680
پیترها است حالا من قصد ندارم آن را برای شما بخوانم
33
00:01:13,680 –> 00:01:15,439
بچه ها می توانند آن را خودتان بخوانند، اما این یک
34
00:01:15,439 –> 00:01:17,119
نوع شعر جالب است و
35
00:01:17,119 –> 00:01:18,320
اگر به پایتون علاقه دارید و
36
00:01:18,320 –> 00:01:20,159
در پایتون زیاد می نویسید، احتمالاً از
37
00:01:20,159 –> 00:01:21,759
برخی از مطالبی که در اینجا است قدردانی خواهید کرد، بنابراین
38
00:01:21,759 –> 00:01:23,360
چیز عجیب و غریب بعدی که باید به شما نشان دهم در
39
00:01:23,360 –> 00:01:25,840
پایتون نیز یک تخم مرغ عید پاک بسیار ساده است
40
00:01:25,840 –> 00:01:27,720
که شامل وارد کردن
41
00:01:27,720 –> 00:01:30,560
ماژول ضد جاذبه است و وقتی این کار را انجام می دهید
42
00:01:30,560 –> 00:01:32,560
این ماژول را وارد می کنید، در واقع
43
00:01:32,560 –> 00:01:35,280
یک برگه کروم جدید یا تب جدید
44
00:01:35,280 –> 00:01:38,079
مرورگر وب باز می شود که یک کمیک در
45
00:01:38,079 –> 00:01:39,920
مورد پایتون دارد. بنابراین منظورم این است که شما بچه ها می توانید
46
00:01:39,920 –> 00:01:41,360
خودتان به کمیک نگاه کنید، من قصد
47
00:01:41,360 –> 00:01:42,720
ندارم تمام آن را مرور کنم، اما
48
00:01:42,720 –> 00:01:44,320
یک تخم مرغ عید پاک دیگر و یک کار عجیب
49
00:01:44,320 –> 00:01:46,320
که می توانید در پایتون انجام دهید، بنابراین قطعه بعدی
50
00:01:46,320 –> 00:01:48,159
کد عجیب پایتون را باید به
51
00:01:48,159 –> 00:01:50,479
شما نشان دهم شامل اپراتور خطر دیوار
52
00:01:50,479 –> 00:01:52,560
در حال حاضر walrus op erator کولون و
53
00:01:52,560 –> 00:01:54,479
علامت برابر است که قبلاً به عنوان عملگر عبارت انتساب شناخته می شد و
54
00:01:54,479 –> 00:01:56,799
55
00:01:56,799 –> 00:01:58,399
در چند زبان برنامه نویسی دیگر استفاده می شد
56
00:01:58,399 –> 00:02:00,399
اما در واقع در پایتون در نسخه
57
00:02:00,399 –> 00:02:02,240
3.8 جدید بود اکنون من فقط می خواهم به سرعت به
58
00:02:02,240 –> 00:02:03,680
شما نشان دهم که این عملگر چگونه کار می کند.
59
00:02:03,680 –> 00:02:05,600
با این عملگر یک تفاوت ظریف عجیب و غریب را به شما نشان خواهم
60
00:02:05,600 –> 00:02:07,040
داد که ممکن است
61
00:02:07,040 –> 00:02:09,119
در مورد اوکی ندانید، بنابراین عملگر walrus
62
00:02:09,119 –> 00:02:10,639
چه فایده ای دارد
63
00:02:10,639 –> 00:02:12,959
عملگر walrus خوب، ما در اینجا تابعی داریم که
64
00:02:12,959 –> 00:02:15,520
این تابع x مقداری محاسبات طولانی انجام می دهد
65
00:02:15,520 –> 00:02:18,160
و سپس x را برمی گرداند. بعلاوه یک،
66
00:02:18,160 –> 00:02:20,160
پس تصور کنید اجرای این تابع ممکن است
67
00:02:20,160 –> 00:02:22,000
چند ثانیه طول بکشد، خیلی
68
00:02:22,000 –> 00:02:23,520
کارآمد نیست و خوب، اگر مجبور نیستیم، نباید بی جهت آن را فراخوانی
69
00:02:23,520 –> 00:02:26,000
کنیم،
70
00:02:26,000 –> 00:02:28,319
بنابراین مشکلی که به شما ارائه می دهم این است
71
00:02:28,319 –> 00:02:30,239
که باید ارزش این را بررسی کنیم.
72
00:02:30,239 –> 00:02:31,920
تابع را فراخوانی کنید، بنابراین فرض کنید مقداری
73
00:02:31,920 –> 00:02:33,680
متغیر دارم یا مقداری دستور if داشته باشیم
74
00:02:33,680 –> 00:02:36,400
و بگویم اگر تابع شاید
75
00:02:36,400 –> 00:02:39,120
4 برابر است با 5 برویم، پس
76
00:02:39,120 –> 00:02:40,879
کاری که میخواهم انجام دهم این است که میخواهم واقعاً
77
00:02:40,879 –> 00:02:42,319
78
00:02:42,319 –> 00:02:44,480
مقدار تابع را چاپ کنم. 4 است یا شاید
79
00:02:44,480 –> 00:02:46,080
فقط برای آسانتر کردن این کار،
80
00:02:46,080 –> 00:02:48,560
اگر بزرگتر یا مساوی 5 باشد
81
00:02:48,560 –> 00:02:50,160
، به سراغ آن میرویم. بنابراین نکته اصلی این است که ما این
82
00:02:50,160 –> 00:02:52,000
تابع را با مقدار 4 فراخوانی میکنیم و
83
00:02:52,000 –> 00:02:53,840
در واقع میخواهیم از
84
00:02:53,840 –> 00:02:56,400
نتیجه آن تابع استفاده کنیم. فراخوانی در داخل این
85
00:02:56,400 –> 00:02:58,560
بلوک بود اما این بسیار ناکارآمد است،
86
00:02:58,560 –> 00:03:00,000
اگر مجبور نباشم نمیخواهم این تابع را دو
87
00:03:00,000 –> 00:03:02,080
بار فراخوانی کنم و هر
88
00:03:02,080 –> 00:03:03,120
دوی این فراخوانیها
89
00:03:03,120 –> 00:03:04,879
دقیقاً همان کاری را به من میدهند که نباید
90
00:03:04,879 –> 00:03:06,879
انجام دهم. در عوض باید این
91
00:03:06,879 –> 00:03:09,360
مقدار را در جایی ذخیره کنم و سپس از آن درست استفاده کنم تا
92
00:03:09,360 –> 00:03:10,800
اگر در
93
00:03:10,800 –> 00:03:12,239
مورد عملگر walrus نمیدانستم چه کاری میتوانم انجام دهم این است که میتوانم
94
00:03:12,239 –> 00:03:14,720
کاری انجام دهم که x برابر است با تابع 4،
95
00:03:14,720 –> 00:03:17,360
سپس میتوانم بگویم اگر x بزرگتر از 5 است
96
00:03:17,360 –> 00:03:19,360
و سپس میتوانم x را مانند آن
97
00:03:19,360 –> 00:03:21,120
خوب چاپ کنم که مشکلات من را حل کند،
98
00:03:21,120 –> 00:03:22,959
اما راه تمیزتری برای انجام این کار وجود دارد
99
00:03:22,959 –> 00:03:24,720
و این شامل اپراتور ریسک دیوار میشود،
100
00:03:24,720 –> 00:03:27,200
بنابراین آنچه که من واقعاً میتوانم انجام دهم،
101
00:03:27,200 –> 00:03:29,599
داخل پرانتز است، میتوانم بگویم اگر x
102
00:03:29,599 –> 00:03:31,760
کولون با استفاده از walrus برابر است.
103
00:03:31,760 –> 00:03:34,560
عملگر تابع و سپس 4 بزرگتر
104
00:03:34,560 –> 00:03:37,040
یا مساوی با 5 است x را چاپ کنید
105
00:03:37,040 –> 00:03:38,400
و کاری که این کار انجام می دهد این است که در واقع
106
00:03:38,400 –> 00:03:40,959
این را ارزیابی می کند، بنابراین می گوییم x برابر است
107
00:03:40,959 –> 00:03:43,040
با تابع 4 و سپس
108
00:03:43,040 –> 00:03:45,120
هر مقدار x را می گیرد و به نوعی
109
00:03:45,120 –> 00:03:47,120
آن را در اینجا برای پرانتز وصل کنید و
110
00:03:47,120 –> 00:03:48,720
بررسی کنید که آیا این است یا خیر. بزرگتر یا
111
00:03:48,720 –> 00:03:51,120
مساوی 5. بنابراین اگر این را اجرا کنم، می بینیم که
112
00:03:51,120 –> 00:03:53,680
5 را چاپ می کنیم که مقدار x است،
113
00:03:53,680 –> 00:03:55,760
بنابراین عملگر عبارت انتساب چگونه
114
00:03:55,760 –> 00:03:58,959
کار می کند،
115
00:03:58,959 –> 00:04:01,519
اگر از عملگر walrus مانند این استفاده
116
00:04:01,519 –> 00:04:03,280
کنید، تصور می کنید یک جزئیات کوچک در اینجا وجود دارد.
117
00:04:03,280 –> 00:04:04,879
اتفاقی که قرار است بیفتد این است که x همچنان
118
00:04:04,879 –> 00:04:06,560
برابر با تابع 4 باشد و سپس
119
00:04:06,560 –> 00:04:08,879
بررسی کنید که آیا
120
00:04:08,879 –> 00:04:10,720
مقدار بازگشتی این مورد در این
121
00:04:10,720 –> 00:04:12,799
مورد 5 است یا بزرگتر یا مساوی با 5 و
122
00:04:12,799 –> 00:04:14,080
سپس شما می خواهید x را پرینت بگیرید، این همان
123
00:04:14,080 –> 00:04:15,360
چیزی است که تصور می کنید تصور می کنید
124
00:04:15,360 –> 00:04:16,880
x برابر با
125
00:04:16,880 –> 00:04:19,279
فراخوانی تابع است، اما اگر من
126
00:04:19,279 –> 00:04:22,240
این اخطار را انجام دهم، اکنون درست را چاپ
127
00:04:22,240 –> 00:04:24,720
می کنیم، عجیب است که چرا اینطور است
128
00:04:24,720 –> 00:04:26,960
خوب دلیل این
129
00:04:26,960 –> 00:04:29,360
است که ما واقعاً چه کاری انجام دادیم در اینجا
130
00:04:29,360 –> 00:04:32,240
ما x را برابر این عبارت نسبت می دهیم
131
00:04:32,240 –> 00:04:34,080
و دلیل آن این است که اولویت
132
00:04:34,080 –> 00:04:37,280
این عملگر دقیقاً در اینجا پس از این عملگر قرار
133
00:04:37,280 –> 00:04:39,120
می گیرد، به همین دلیل است
134
00:04:39,120 –> 00:04:41,600
که مقدار true را دریافت می کنیم، ابتدا بررسی می کنیم
135
00:04:41,600 –> 00:04:42,960
که آیا فانک 4 بزرگتر یا مساوی است یا خیر.
136
00:04:42,960 –> 00:04:44,080
به 5
137
00:04:44,080 –> 00:04:45,520
که به ما true میدهد و سپس
138
00:04:45,520 –> 00:04:47,840
آن مقدار را به x نسبت میدهیم، بنابراین یک
139
00:04:47,840 –> 00:04:50,479
چیز عجیب با عملگر walrus، حال
140
00:04:50,479 –> 00:04:51,759
یکی دیگر از چیزهایی که در مورد عملگر walrus عجیب است این
141
00:04:51,759 –> 00:04:54,080
است که شما نمیتوانید
142
00:04:54,080 –> 00:04:56,479
کاری شبیه به این x کولون مساوی انجام دهید و
143
00:04:56,479 –> 00:04:58,400
سپس func of 2.
144
00:04:58,400 –> 00:05:00,639
اگر سعی کنید این کار را انجام دهید با یک خطا مواجه می شوید
145
00:05:00,639 –> 00:05:02,080
و دلیل اینکه خطا دریافت می کنید
146
00:05:02,080 –> 00:05:03,280
این است که داخل
147
00:05:03,280 –> 00:05:05,520
پرانتز نیست و در
148
00:05:05,520 –> 00:05:07,120
داخل مانند یک عبارت if a برای
149
00:05:07,120 –> 00:05:08,880
حلقه استفاده نمی شود.
150
00:05:08,880 –> 00:05:11,360
روشی که در نظر گرفته شده شما نمی توانید اکنون به صورت خالی
151
00:05:11,360 –> 00:05:13,680
چیزی شبیه به این را اختصاص دهید، البته
152
00:05:13,680 –> 00:05:16,560
x برابر است با عملکرد 2 کار، اما
153
00:05:16,560 –> 00:05:18,240
عجیب تر این است که اگر یکدفعه آن را
154
00:05:18,240 –> 00:05:20,880
با پرانتز احاطه کنید، خوب هستید
155
00:05:20,880 –> 00:05:21,840
156
00:05:21,840 –> 00:05:23,600
، می توانم x i را چاپ کنم. من برای
157
00:05:23,600 –> 00:05:25,280
خلاص شدن از شر این حق او دوباره
158
00:05:25,280 –> 00:05:27,759
و همه چیز خوب است، همه چیز کار می کند، بنابراین
159
00:05:27,759 –> 00:05:28,800
این واقعیت که شما
160
00:05:28,800 –> 00:05:30,639
پرانتز در اطراف آن نداشتید باعث شد که
161
00:05:30,639 –> 00:05:32,560
دیگر کار کند یک چیز عجیب و غریب
162
00:05:32,560 –> 00:05:34,240
با اپراتور walrus که
163
00:05:34,240 –> 00:05:36,000
تقریباً تمام چیزی است که باید به شما نشان دهم، بنابراین
164
00:05:36,000 –> 00:05:37,680
قطعه بعدی کد پایتون عجیب و غریبی
165
00:05:37,680 –> 00:05:39,199
که برای شما دارم همینجا در مقابل من
166
00:05:39,199 –> 00:05:41,360
است و قبل از اینکه در مورد چیزی صحبت کنم
167
00:05:41,360 –> 00:05:42,960
اگر مایلید ویدیو را مکث کنید و حدس بزنید
168
00:05:42,960 –> 00:05:44,479
که خروجی این برنامه اکنون چه
169
00:05:44,479 –> 00:05:46,000
خواهد بود اگر همچنان گوش می دهید و
170
00:05:46,000 –> 00:05:47,120
هستید کمی گیج شده است، اما شما
171
00:05:47,120 –> 00:05:48,960
می خواهید سعی کنید آن را حدس بزنید، اشاره من
172
00:05:48,960 –> 00:05:51,280
این است که این به
173
00:05:51,280 –> 00:05:52,800
تغییرپذیری اشیا مربوط می شود،
174
00:05:52,800 –> 00:05:54,639
بنابراین بیایید نگاهی بیندازیم و حدس بزنیم که فکر می
175
00:05:54,639 –> 00:05:57,120
کنید این چیست، ابتدا اجازه دهید توضیح دهم
176
00:05:57,120 –> 00:05:59,039
که کلمه کلیدی is در چه کاری انجام می دهد. در صورتی
177
00:05:59,039 –> 00:06:01,759
که کسی کمی گیج شده است، بنابراین
178
00:06:01,759 –> 00:06:04,240
همان چیزی نیست که
179
00:06:04,240 –> 00:06:06,000
مساوی است، برابری اشیاء را مقایسه می کند،
180
00:06:06,000 –> 00:06:08,479
بنابراین یک مثال واقعا خوب
181
00:06:08,479 –> 00:06:10,720
برای این است که اگر من d و e داشته باشم و
182
00:06:10,720 –> 00:06:12,479
این را با یک لیست خالی و
183
00:06:12,479 –> 00:06:14,000
یک برابر کنم. لیست خالی اجازه دهید من فقط این را
184
00:06:14,000 –> 00:06:14,800
در اینجا حذف
185
00:06:14,800 –> 00:06:17,840
کنم rint d برابر است با e ما می بینیم که
186
00:06:17,840 –> 00:06:19,600
اینها یکسان هستند، اینها معادل هستند
187
00:06:19,600 –> 00:06:21,440
درست یک لیست خالی برابر با یک لیست خالی است
188
00:06:21,440 –> 00:06:25,280
اما d نیست e زیرا
189
00:06:25,280 –> 00:06:28,160
اینها دقیقا همان لیست خالی نیستند،
190
00:06:28,160 –> 00:06:29,919
امیدوارم که منطقی باشد اما
191
00:06:29,919 –> 00:06:31,840
این لیست خالی در یک
192
00:06:31,840 –> 00:06:34,400
مکان حافظه متفاوت از این لیست خالی ذخیره می شود و
193
00:06:34,400 –> 00:06:37,520
کاری که d است e در واقع انجام می دهد این است
194
00:06:37,520 –> 00:06:41,199
که هم ارزی شناسه های این
195
00:06:41,199 –> 00:06:42,319
اشیاء را بررسی می کند
196
00:06:42,319 –> 00:06:44,720
بنابراین هر شی در پایتون یک شناسه دارد
197
00:06:44,720 –> 00:06:46,720
که آدرس مکان حافظه ای است که
198
00:06:46,720 –> 00:06:48,720
این شی در آن ذخیره می شود و در حالی که
199
00:06:48,720 –> 00:06:50,960
میتوانیم d و e را در دو
200
00:06:50,960 –> 00:06:53,360
مکان آدرس حافظه متفاوت ببینیم، بنابراین وقتی میگوییم
201
00:06:53,360 –> 00:06:55,520
چیزی یکسان است، آیا این دو
202
00:06:55,520 –> 00:06:57,919
شی یکسان هستند، ما معادلها را بررسی نمیکنیم،
203
00:06:57,919 –> 00:06:59,120
بررسی میکنیم که آیا آنها واقعاً
204
00:06:59,120 –> 00:07:00,880
همان شی ذخیره شده در یک واحد هستند یا خیر.
205
00:07:00,880 –> 00:07:02,479
مکان در حافظه
206
00:07:02,479 –> 00:07:04,560
خوب است، پس بیایید به مثالی
207
00:07:04,560 –> 00:07:05,759
برگردیم که داشتیم،
208
00:07:05,759 –> 00:07:09,039
بنابراین چاپ a است b a است c و b است c
209
00:07:09,039 –> 00:07:10,720
اکنون اولین چیزی که به شما نشان خواهم داد این است که
210
00:07:10,720 –> 00:07:12,400
همه این رشته ها دقیقاً همان
211
00:07:12,400 –> 00:07:13,199
212
00:07:13,199 –> 00:07:15,120
b و c هستند. همان و اگر چاپ کنم
213
00:07:15,120 –> 00:07:16,880
آنها خوب می شوند، بسیار خوب،
214
00:07:16,880 –> 00:07:19,919
عالی هستند، بنابراین وقتی این کار را انجام می دهم باید
215
00:07:19,919 –> 00:07:21,360
حدس بزنیم که فکر می کنیم اینها چه چیزی باید
216
00:07:21,360 –> 00:07:23,280
باشند، اما همه آنها باید
217
00:07:23,280 –> 00:07:24,319
دقیقاً یکسان باشند، زیرا آنها یک
218
00:07:24,319 –> 00:07:25,599
رشته هستند، بنابراین همه آنها باید نتیجه یکسانی را به ما بدهند.
219
00:07:25,599 –> 00:07:28,319
اگر a b باشد، a باید c باشد
220
00:07:28,319 –> 00:07:30,319
و b باید c باشد اگر a b نیست، a
221
00:07:30,319 –> 00:07:31,919
نباید c باشد و b نباید c باشد
222
00:07:31,919 –> 00:07:33,840
درست این چیزی است که ما فرض می کنیم،
223
00:07:33,840 –> 00:07:34,880
اما مسئله این است
224
00:07:34,880 –> 00:07:37,199
که وقتی من این را چاپ می کنم اینطور نیست
225
00:07:37,199 –> 00:07:40,080
دریافت false false و true اکنون آنچه ما
226
00:07:40,080 –> 00:07:42,319
در واقع با نوعی
227
00:07:42,319 –> 00:07:44,319
دانش اولیه از آدرس های پایتون و حافظه
228
00:07:44,319 –> 00:07:47,120
و نحوه ایجاد اشیاء انتظار داریم
229
00:07:47,120 –> 00:07:49,280
این است که a نباید b باشد و b
230
00:07:49,280 –> 00:07:52,319
نباید c باشد و a نباید c باشد
231
00:07:52,319 –> 00:07:54,960
همه اینها باید باشند. اشیاء مختلف و
232
00:07:54,960 –> 00:07:56,720
دلیل آن این است که رشته ها در پایتون
233
00:07:56,720 –> 00:07:58,160
تغییر ناپذیر هستند و زمانی که شما یک شیء تغییرناپذیر ایجاد می کنید،
234
00:07:58,160 –> 00:08:00,400
کاری که انجام می دهد ایجاد
235
00:08:00,400 –> 00:08:04,080
یک شی جدید در حافظه است و این
236
00:08:04,080 –> 00:08:05,520
تنها کاری است که انجام می دهد، بنابراین از نظر فنی
237
00:08:05,520 –> 00:08:07,919
باید یک موجود با شناسه متفاوت از b بودن
238
00:08:07,919 –> 00:08:10,720
a داشته باشیم. شناسه متفاوت از c اما در این مورد a
239
00:08:10,720 –> 00:08:12,479
است متفاوت از b a متفاوت از
240
00:08:12,479 –> 00:08:15,440
c است اما b یکسان است با c چگونه
241
00:08:15,440 –> 00:08:16,960
اینطور است بنابراین b و c دقیقاً یک
242
00:08:16,960 –> 00:08:18,879
شی هستند اما a یک شی متفاوت است
243
00:08:18,879 –> 00:08:21,120
تا حدی خوب دلیل این امر
244
00:08:21,120 –> 00:08:23,599
چیزی است به نام داخلی در حال حاضر
245
00:08:23,599 –> 00:08:25,680
داخلی یک بهینه سازی است که توسط
246
00:08:25,680 –> 00:08:28,160
مفسر کامپایلر
247
00:08:28,160 –> 00:08:29,680
seethon انجام میشود، من
248
00:08:29,680 –> 00:08:31,759
تمام جزئیات پشت این را نمیدانم، اما کاری که
249
00:08:31,759 –> 00:08:34,719
انجام میدهد این است که کد شما را قبل از
250
00:08:34,719 –> 00:08:36,799
اجرا میخواند، بنابراین در حالی که به نوعی
251
00:08:36,799 –> 00:08:38,159
در بایت کد کامپایل میشود تا کامپیوتر
252
00:08:38,159 –> 00:08:40,958
بفهمد و آن را اجرا کند. بهینهسازیها
253
00:08:40,958 –> 00:08:43,039
و یکی از بهینهسازیهایی که انجام میدهد این است
254
00:08:43,039 –> 00:08:45,839
که میبیند آیا اشیایی وجود دارد
255
00:08:45,839 –> 00:08:48,320
که دقیقاً یکسان هستند، اگر دقیقاً یکسان هستند
256
00:08:48,320 –> 00:08:50,640
و آنها اشیاء تغییرناپذیر هستند، یکی از آن اشیاء را ایجاد میکند
257
00:08:50,640 –> 00:08:52,399
و
258
00:08:52,399 –> 00:08:55,360
متغیرها را به آن شی منفرد اشاره میکند.
259
00:08:55,360 –> 00:08:58,800
مورد ok و ok intern شد و
260
00:08:58,800 –> 00:09:00,080
گفت خوب
261
00:09:00,080 –> 00:09:02,240
هیچ جناسی در نظر گرفته نشده است، ما می بینیم
262
00:09:02,240 –> 00:09:04,399
که ok را دو بار ایجاد کرده ایم، بنابراین به جای اینکه
263
00:09:04,399 –> 00:09:06,000
آن را کپی کنیم و آن را دو بار در
264
00:09:06,000 –> 00:09:08,240
حافظه ایجاد کنیم، یک بار آن را بسازیم و اجازه دهید
265
00:09:08,240 –> 00:09:11,360
این متغیرها به یک شی
266
00:09:11,360 –> 00:09:12,720
اشاره می کنند که همان کاری
267
00:09:12,720 –> 00:09:15,120
است که انجام می دهد این همان کاری است که داخلی انجام می دهد، اما چرا این
268
00:09:15,120 –> 00:09:17,760
کار را برای متغیر a انجام نمی دهد، دلیل اینکه
269
00:09:17,760 –> 00:09:19,839
آن را برای متغیر a انجام نمی دهد این
270
00:09:19,839 –> 00:09:21,680
است که وقتی بهینه سازی ها
271
00:09:21,680 –> 00:09:24,560
انجام می شود کامپایلر نمی داند
272
00:09:24,560 –> 00:09:26,080
که این شی
273
00:09:26,080 –> 00:09:28,160
معادل ok خواهد شد، نمی داند
274
00:09:28,160 –> 00:09:29,839
که رشته با آن برابر می شود
275
00:09:29,839 –> 00:09:31,279
و دلیل آن این است که ما از
276
00:09:31,279 –> 00:09:33,839
روش اتصال نقطه استفاده می کنیم و متد اتصال نقطه
277
00:09:33,839 –> 00:09:36,800
در واقع تفسیر شده و
278
00:09:36,800 –> 00:09:40,320
در زمان اجرا اجرا می شود نه در زمان کامپایل، در حالی که یک
279
00:09:40,320 –> 00:09:43,120
الحاق رشته پایه و فقط
280
00:09:43,120 –> 00:09:45,360
تعریف متغیری مانند این، ما
281
00:09:45,360 –> 00:09:46,880
می دانیم که اینها قبل
282
00:09:46,880 –> 00:09:48,880
از اجرای برنامه واقعاً چه خواهند بود و به همین دلیل است
283
00:09:48,880 –> 00:09:51,120
که بهینه سازی را می توان انجام داد،
284
00:09:51,120 –> 00:09:53,040
امیدواریم منطقی باشد، اما به
285
00:09:53,040 –> 00:09:55,760
همین دلیل است که شما به این موضوع عجیب دست می یابید. خروجی و
286
00:09:55,760 –> 00:09:57,120
این فقط یکی از چیزهای عجیب و غریبی است که
287
00:09:57,120 –> 00:09:58,399
می تواند در پایتون
288
00:09:58,399 –> 00:10:00,480
ادامه داشته باشد، شما در ادامه این ویدیو خواهید دید خیلی چیزهای دیگر،
289
00:10:00,480 –> 00:10:01,760
بنابراین در عرض یک دقیقه به بقیه کدهای عجیب و غریب خواهیم پرداخت.
290
00:10:01,760 –> 00:10:03,360
اما لازم است به
291
00:10:03,360 –> 00:10:04,800
شما یادآوری کنم که اسپانسر این
292
00:10:04,800 –> 00:10:07,040
ویدیو که میزبان سریع است میزبان
293
00:10:07,040 –> 00:10:09,680
مسابقه ای است که اکنون می توانید میزبان سریع شرکت کنید
294
00:10:09,680 –> 00:10:11,760
، یک شرکت میزبانی وب مستقر در بریتانیا است
295
00:10:11,760 –> 00:10:13,920
که طیف گسترده ای از محصولات و
296
00:10:13,920 –> 00:10:16,160
خدمات را ارائه می دهد که هدف آنها کمک به مشاغل و
297
00:10:16,160 –> 00:10:18,399
کارآفرینان در همه سطوح با میزبانی
298
00:10:18,399 –> 00:10:20,640
وب موثر و سریع و مقرون به صرفه ای
299
00:10:20,640 –> 00:10:23,040
که واقعاً مناسب هر موردی است موفق می
300
00:10:23,040 –> 00:10:24,880
شوند میزبان سریع سرورهای خصوصی مجازی مقرون به صرفه
301
00:10:24,880 –> 00:10:26,480
به شما کنترل کامل بر
302
00:10:26,480 –> 00:10:28,480
سرور خود را با منابع اختصاصی منعطف
303
00:10:28,480 –> 00:10:30,240
می دهد و می توانید
304
00:10:30,240 –> 00:10:32,880
هر زمان که به ویژگی های دیگر نیاز داشتید رم سرویس و حافظه خود را تنظیم کنید.
305
00:10:32,880 –> 00:10:35,440
100 ssd ذخیره سازی
306
00:10:35,440 –> 00:10:37,040
مراکز داده انگلستان و
307
00:10:37,040 –> 00:10:38,880
سیستم عامل های انتخابی شما برای هر دو میزبان لینوکس یا
308
00:10:38,880 –> 00:10:40,640
ویندوز سریع، سرورهای اختصاصی برجسته ای را نیز ارائه می دهد
309
00:10:40,640 –> 00:10:42,240
که
310
00:10:42,240 –> 00:10:44,320
منحصراً متعلق به شما هستند، می توانید
311
00:10:44,320 –> 00:10:46,320
بین جدیدترین سخت افزار amd و اینتل
312
00:10:46,320 –> 00:10:48,000
که کارایی بالا را تضمین می کند و
313
00:10:48,000 –> 00:10:49,920
برای پروژه های پرمشقت با
314
00:10:49,920 –> 00:10:52,000
امنیت عالی است، انتخاب کنید. مراکز داده انگلستان با
315
00:10:52,000 –> 00:10:54,560
پهنای باند نامحدود مشخصات بالای خط و پشتیبانی 24 7
316
00:10:54,560 –> 00:10:56,240
شما می توانید مطمئن باشید که
317
00:10:56,240 –> 00:10:58,160
پروژههای شما میتوانند هر کاری را که نیاز دارند انجام
318
00:10:58,160 –> 00:10:59,680
دهند، بنابراین اکنون باید در مورد رقابت بحث کنم،
319
00:10:59,680 –> 00:11:02,079
اگر شما در بریتانیا
320
00:11:02,079 –> 00:11:03,440
هستید و میتوانید به سوال زیر
321
00:11:03,440 –> 00:11:04,959
پاسخ دهید، سپس وارد
322
00:11:04,959 –> 00:11:07,040
کار رویایی خود در خانه خواهید شد که ارزش آن را
323
00:11:07,040 –> 00:11:09,440
دارد. تا پنج هزار پوند اکنون
324
00:11:09,440 –> 00:11:12,079
این سوال این است که چه کسی
325
00:11:12,079 –> 00:11:14,240
زبان برنامه نویسی پایتون را اختراع کرده است پاسخ های خود را
326
00:11:14,240 –> 00:11:16,079
در لینک در توضیحات بگذارید و
327
00:11:16,079 –> 00:11:17,920
با آرزوی موفقیت در مسابقه، بنابراین کد بعدی
328
00:11:17,920 –> 00:11:19,839
از کد پایتون عجیب و غریبی که برای
329
00:11:19,839 –> 00:11:22,320
شما دارم در اینجا پیش روی من است. یک ثانیه
330
00:11:22,320 –> 00:11:24,079
مکث کنید ویدیو را و حدس بزنید که
331
00:11:24,079 –> 00:11:26,240
فکر میکنید چه چیزی در حال خروجی است.
332
00:11:26,240 –> 00:11:28,000
333
00:11:28,000 –> 00:11:29,760
334
00:11:29,760 –> 00:11:31,120
335
00:11:31,120 –> 00:11:33,120
336
00:11:33,120 –> 00:11:34,800
متوجه باشید که نتیجه
337
00:11:34,800 –> 00:11:36,640
این عبارات چه خواهد شد، بنابراین
338
00:11:36,640 –> 00:11:38,079
بیایید همین جا به این بیانیه چاپی اول نگاهی بیندازیم
339
00:11:38,079 –> 00:11:39,360
و در واقع
340
00:11:39,360 –> 00:11:40,720
من همه اینها را اجرا می کنم و شما می
341
00:11:40,720 –> 00:11:42,160
توانید ببینید که نتیجه ما چقدر درست است
342
00:11:42,160 –> 00:11:44,720
true false false بنابراین بیایید به
343
00:11:44,720 –> 00:11:47,360
اولین عبارت نگاه کنیم تا 1 برابر با
344
00:11:47,360 –> 00:11:49,120
345
00:11:49,120 –> 00:11:51,360
346
00:11:51,360 –> 00:11:53,519
347
00:11:53,519 –> 00:11:57,040
348
00:11:57,040 –> 00:11:58,480
1 فکر می کنم که این در واقع
349
00:11:58,480 –> 00:12:00,240
به ما غلط می دهد زیرا خوب
350
00:12:00,240 –> 00:12:02,639
در این لیست درست نیست، اما
351
00:12:02,639 –> 00:12:03,519
چیزی که
352
00:12:03,519 –> 00:12:05,440
یکی است و در پایتون درست است در واقع
353
00:12:05,440 –> 00:12:06,800
تقریباً همان چیزهایی هستند که
354
00:12:06,800 –> 00:12:09,519
معادل هستند و اگر من true را مساوی چاپ کنم این را به شما نشان دهیم
355
00:12:09,519 –> 00:12:10,480
356
00:12:10,480 –> 00:12:12,560
1
357
00:12:12,560 –> 00:12:14,160
می بینید که ما به true می رسیم و منظورم
358
00:12:14,160 –> 00:12:16,160
این است که در اینجا چیزی است که درست است و
359
00:12:16,160 –> 00:12:17,200
کار جالب دیگری که می توانید انجام دهید این است که می توانید
360
00:12:17,200 –> 00:12:19,360
واقعی به اضافه 1 را چاپ کنید و
361
00:12:19,360 –> 00:12:20,959
این به شما 2 می دهد زیرا true
362
00:12:20,959 –> 00:12:22,959
واقعاً فقط 1 است. و بنابراین این چرا آن
363
00:12:22,959 –> 00:12:25,360
عبارت اول واقعاً
364
00:12:25,360 –> 00:12:27,680
درست ارزیابی می شود، خوب است، بنابراین اکنون که می دانید
365
00:12:27,680 –> 00:12:28,560
بقیه موارد
366
00:12:28,560 –> 00:12:30,320
کمی آسان تر خواهد بود، اما اجازه دهید به کار خود ادامه
367
00:12:30,320 –> 00:12:33,279
دهیم، 1 برابر است و سپس 1 در 1.
368
00:12:33,279 –> 00:12:35,040
باز هم کاملاً ساده است که ما 1
369
00:12:35,040 –> 00:12:36,880
و 1 می رود t o درست باشد 1 برابر با
370
00:12:36,880 –> 00:12:38,959
1 است و به این ترتیب که درست چاپ می شود
371
00:12:38,959 –> 00:12:40,720
خوب چه در مورد این عبارت
372
00:12:40,720 –> 00:12:43,920
در اینجا ما داریم 1 کمتر از و سپس 0
373
00:12:43,920 –> 00:12:47,760
کمتر از 1 است. بنابراین 0 کمتر از 1 است نه این
374
00:12:47,760 –> 00:12:49,839
نیست یا متاسفم بله 0 کمتر است از 1
375
00:12:49,839 –> 00:12:52,240
و به این ترتیب به ما true می دهد، بنابراین اکنون ما در حال بررسی هستیم که
376
00:12:52,240 –> 00:12:54,160
آیا یکی کمتر از true است، ما
377
00:12:54,160 –> 00:12:56,399
می دانیم که true است یا خیر و بنابراین در این مورد
378
00:12:56,399 –> 00:12:57,760
ما false را دریافت خواهیم کرد، به همین دلیل است
379
00:12:57,760 –> 00:12:59,360
که false را در آنجا چاپ می کند، خوب این
380
00:12:59,360 –> 00:13:01,360
همان چیزی است که آن یکی است
381
00:13:01,360 –> 00:13:03,680
با عرض پوزش اکنون بیایید نگاهی به این یکی کمتر از
382
00:13:03,680 –> 00:13:05,680
صفر کمتر از
383
00:13:05,680 –> 00:13:07,120
یک بیندازیم، پس باز هم این یکی بسیار
384
00:13:07,120 –> 00:13:08,880
ساده است زیرا اکنون می دانیم که
385
00:13:08,880 –> 00:13:10,880
یک برابر با درست است اما زمانی
386
00:13:10,880 –> 00:13:12,399
که هیچ پرانتزی در اینجا نداریم با
387
00:13:12,399 –> 00:13:14,000
ارزیابی از از چپ به راست از آنجایی که
388
00:13:14,000 –> 00:13:16,160
اینها همان عملگر هستند، بنابراین 1 کمتر
389
00:13:16,160 –> 00:13:19,200
از 0 است که نادر