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