در این مطلب، ویدئو GCSE پایتون شماره 13: توابع و دامنه متغیر با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:23:09
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,939
سلام، در ویدیوی 13 در لیست پخش Veszprem،
2
00:00:02,939 –> 00:00:04,410
ما اکنون در مورد توابع
3
00:00:04,410 –> 00:00:07,770
و همچنین مفهوم داشتن
4
00:00:07,770 –> 00:00:10,769
محدوده متغیرها
5
00:00:10,769 –> 00:00:12,000
صحبت خواهیم کرد، در واقع هر دوی این مفاهیم را
6
00:00:12,000 –> 00:00:14,429
حداقل به صورت گذرا صحبت کرده ایم، اما اکنون زمان آن است که
7
00:00:14,429 –> 00:00:16,650
در مورد آنها با جزئیات بیشتر صحبت کنیم. ما در
8
00:00:16,650 –> 00:00:18,539
مراحل مختلفی صحبت کرده ایم که چگونه
9
00:00:18,539 –> 00:00:20,369
چیزی که ممکن است در کلاس یاد گرفته باشید،
10
00:00:20,369 –> 00:00:21,990
زمانی که تئوری برنامه نویسی را یاد می گیرید،
11
00:00:21,990 –> 00:00:25,740
ممکن است همیشه به طور کامل در
12
00:00:25,740 –> 00:00:27,000
برنامه نویسی زمانی که آن را به صورت عملی انجام می دهید، به کار نرود
13
00:00:27,000 –> 00:00:29,460
و این مبحث از توابع
14
00:00:29,460 –> 00:00:30,779
مثال خوبی است، زیرا اگر
15
00:00:30,779 –> 00:00:32,130
شما تئوری برنامه نویسی آموخته شده شاید
16
00:00:32,130 –> 00:00:33,930
ما همیشه در مورد برنامه های فرعی
17
00:00:33,930 –> 00:00:35,520
18
00:00:35,520 –> 00:00:38,579
که به خودی خود آنها را زیر روال یا به اصطلاح روتین نامیده می شوند یاد بگیریم، اما
19
00:00:38,579 –> 00:00:41,149
من در اینجا یک نظر چند خطی را با
20
00:00:41,149 –> 00:00:43,649
تمسخرهای مکرر انجام می
21
00:00:43,649 –> 00:00:46,050
دهم زیرا اگر من اجرا کنم همه اینها توسط برنامه ما نادیده گرفته می شود.
22
00:00:46,050 –> 00:00:47,460
برخلاف انجام یک خط با یک
23
00:00:47,460 –> 00:00:49,710
تگ هش، نماد هش نماد باید
24
00:00:49,710 –> 00:00:51,780
به هر حال بگوید، بنابراین ما برنامههای فرعی و
25
00:00:51,780 –> 00:00:53,940
زیر روالها داریم و اینها ساختاری در
26
00:00:53,940 –> 00:00:55,559
برنامهنویسی هستند که واقعاً بسیار مهم هستند.
27
00:00:55,559 –> 00:00:58,020
که اساساً در مورد اینکه
28
00:00:58,020 –> 00:00:59,910
آیا در حال انجام هر گونه امتحانی در آن هستید، یاد بگیرید، اما واقعاً
29
00:00:59,910 –> 00:01:04,110
آنچه که اینها هستند یک بلوک کد خارج از خط
30
00:01:04,110 –> 00:01:08,400
است که می توان به آن اشاره کرد و ما به آن می گوییم
31
00:01:08,400 –> 00:01:10,320
می تواند این فراخوانی را به صورت
32
00:01:10,320 –> 00:01:15,180
یونی در برنامه اصلی فراخوانی کند، بنابراین فکر می کنم
33
00:01:15,180 –> 00:01:16,799
زیر برنامهها روشی مفیدتر برای
34
00:01:16,799 –> 00:01:18,960
قرار دادن این زیر روالها است،
35
00:01:18,960 –> 00:01:21,509
بنابراین یک برنامه فرعی
36
00:01:21,509 –> 00:01:23,610
فقط یک برنامه کوچک در یک
37
00:01:23,610 –> 00:01:28,140
برنامه گستردهتر است و استفاده از برنامههای فرعی در
38
00:01:28,140 –> 00:01:30,750
کد اجباری نیست، میدانید اگر
39
00:01:30,750 –> 00:01:32,850
هرگز از برنامهای در برنامه خود استفاده نمیکنید. زندگی
40
00:01:32,850 –> 00:01:35,070
عالی نیست اما شما نیازی به استفاده از آنها ندارید
41
00:01:35,070 –> 00:01:37,170
اما آنها واقعاً برای
42
00:01:37,170 –> 00:01:38,909
سازماندهی کد شما بسیار مهم
43
00:01:38,909 –> 00:01:41,460
44
00:01:41,460 –> 00:01:44,040
45
00:01:44,040 –> 00:01:46,200
46
00:01:46,200 –> 00:01:47,880
هستند. یک مشکل فرعی فردی را حل می
47
00:01:47,880 –> 00:01:50,280
کند که ممکن است برای حل
48
00:01:50,280 –> 00:01:52,740
کامل مشکل شما ایجاد شود، بنابراین
49
00:01:52,740 –> 00:01:54,000
داشتن شکم های مختلف شام یک
50
00:01:54,000 –> 00:01:56,280
اقدام توصیه شده است، اما اگر
51
00:01:56,280 –> 00:01:57,659
به عنوان یک توسعه دهنده شغلی پیدا کردید، باید از
52
00:01:57,659 –> 00:01:58,979
برنامه های فرعی استفاده کنید. خیلی جاهایی که شما
53
00:01:58,979 –> 00:02:01,500
در وهله اول اخراج می شوید یا حتی استخدام نمی شوید،
54
00:02:01,500 –> 00:02:03,840
اما واقعاً این استفاده از برنامه های فرعی
55
00:02:03,840 –> 00:02:05,460
و استفاده زیاد از آنها بخشی از
56
00:02:05,460 –> 00:02:08,160
برنامه نویسی ساختاریافته است، این یک نوع
57
00:02:08,160 –> 00:02:09,479
سبک است که توسعه یافته است،
58
00:02:09,479 –> 00:02:11,280
منظورم این است که برنامه نویسی روی آن نیست. این
59
00:02:11,280 –> 00:02:13,020
یک هنر باستانی نیست، فقط
60
00:02:13,020 –> 00:02:13,410
مدت زیادی است که وجود داشته است،
61
00:02:13,410 –> 00:02:15,060
اما مدت زیادی است که وجود داشته است، این
62
00:02:15,060 –> 00:02:17,610
برنامه هیچ گونه خرابکاری ندارد و
63
00:02:17,610 –> 00:02:19,200
روش های برنامه نویسی را توصیه می کند و یکی از
64
00:02:19,200 –> 00:02:21,450
راه ها استفاده از بسیاری از برنامه های فرعی و
65
00:02:21,450 –> 00:02:23,310
اطمینان از داشتن رابط های خوب بین
66
00:02:23,310 –> 00:02:25,110
هر کدام است. other و شما در مورد استفاده از
67
00:02:25,110 –> 00:02:27,060
پارامترها و همچنین عبارات بازگشتی انجام
68
00:02:27,060 –> 00:02:29,640
می دهید، در مورد آنها صحبت خواهیم کرد و اگر در
69
00:02:29,640 –> 00:02:31,170
مورد برنامه های فرعی یاد گرفته اید ممکن است
70
00:02:31,170 –> 00:02:33,150
در مورد دو نوع اصلی زیر
71
00:02:33,150 –> 00:02:35,040
برنامه یا زیر روال ها یاد نگرفته باشید، ما
72
00:02:35,040 –> 00:02:37,080
توابعی داریم که نام ویدیوی ما
73
00:02:37,080 –> 00:02:38,970
اکنون است و ما رویههایی داریم،
74
00:02:38,970 –> 00:02:40,500
حدس میزنم شما نیز متدهایی دارید که من
75
00:02:40,500 –> 00:02:42,030
در مورد آنها صحبت کردهایم زیرا هر سه مورد را بررسی کردیم
76
00:02:42,030 –> 00:02:44,760
، نمونههایی از
77
00:02:44,760 –> 00:02:46,980
روالهای فرعی یا برنامههای فرعی هستند، تفاوت
78
00:02:46,980 –> 00:02:49,650
این است که یک تابع به طور کلی Y خواهد بود
79
00:02:49,650 –> 00:02:52,700
برگرداند بنابراین مقداری را برگرداند که یک
80
00:02:52,700 –> 00:02:56,370
رویه نمیخواهد و یک متد
81
00:02:56,370 –> 00:03:00,540
به یک شی تعلق دارد، بنابراین در پایتون ما
82
00:03:00,540 –> 00:03:02,460
توابع داریم و روشهایی داریم که از نظر
83
00:03:02,460 –> 00:03:04,650
فنی ساختاری به نام
84
00:03:04,650 –> 00:03:07,500
رویه نداریم که در آن میتوانیم رویه شما را در حین حرکت تکرار
85
00:03:07,500 –> 00:03:09,120
کنیم. مانند اینکه چگونه
86
00:03:09,120 –> 00:03:10,770
در پایتون واقعاً آرایههایی
87
00:03:10,770 –> 00:03:13,260
نداریم، در عوض لیستی داریم که میتواند
88
00:03:13,260 –> 00:03:15,570
کار مشابهی را انجام دهد و پایتون و
89
00:03:15,570 –> 00:03:17,790
همچنین همه زبانهای دیگر دارای
90
00:03:17,790 –> 00:03:19,620
توابع داخلی هستند که برخی از زبانها بیشتر از
91
00:03:19,620 –> 00:03:21,990
سایرین دارند که من نخواهم داشت. تقریباً به
92
00:03:21,990 –> 00:03:23,070
همه آنها اشاره شد، بارها و بارهای
93
00:03:23,070 –> 00:03:25,560
پایتون وجود دارد و شما میتوانید با ماژولها نیز موارد بیشتری داشته باشید،
94
00:03:25,560 –> 00:03:27,990
اما وقتی پوشش دادیم
95
00:03:27,990 –> 00:03:32,570
مواردی مانند چاپ چیزهایی مانند لنز،
96
00:03:32,570 –> 00:03:36,870
مواردی مانند ورودی و غیره و غیره وجود دارد، بنابراین
97
00:03:36,870 –> 00:03:38,580
همه این موارد در ما ساخته شده است.
98
00:03:38,580 –> 00:03:40,710
اینها را ننوشتم من برای
99
00:03:40,710 –> 00:03:42,870
تابع چاپ ننوشتم که این چیز خوبی است زیرا
100
00:03:42,870 –> 00:03:44,640
نوشتن آنها بسیار بسیار سخت است
101
00:03:44,640 –> 00:03:46,080
معمولاً این توابع داخلی من
102
00:03:46,080 –> 00:03:48,180
یک واقعاً اساسی به عنوان یک
103
00:03:48,180 –> 00:03:50,070
برنامه واقعاً مهم برای برنامه نویسی دارم یا انجام آن واقعاً دشوار
104
00:03:50,070 –> 00:03:51,900
است اما کسی تی زمانی را برای
105
00:03:51,900 –> 00:03:53,430
انجام آن برای همه در نظر بگیرید، برای هر مشکلی
106
00:03:53,430 –> 00:03:54,959
یک تابع داخلی
107
00:03:54,959 –> 00:03:56,580
وجود ندارد، واضح است که ما باید
108
00:03:56,580 –> 00:03:58,170
در نقطه ای از آن را خودمان بنویسیم،
109
00:03:58,170 –> 00:03:59,670
چیزی که امروز می خواهیم یاد بگیریم، اما برای
110
00:03:59,670 –> 00:04:00,990
چیزهای خاصی مانند چاپ روی صفحه
111
00:04:00,990 –> 00:04:03,200
چگونه آیا روی صفحه نمایش
112
00:04:03,200 –> 00:04:06,420
با استفاده از ساختارهای جایگزین چاپ می کنید و بنویسید
113
00:04:06,420 –> 00:04:07,830
که کارهای خاصی باید توسط سازندگان پایتون برای شما انجام شود،
114
00:04:07,830 –> 00:04:10,080
در غیر این
115
00:04:10,080 –> 00:04:12,810
صورت چاپ واقعاً قابل استفاده نیست، خود چاپ
116
00:04:12,810 –> 00:04:14,430
کمی خنده دار است زیرا
117
00:04:14,430 –> 00:04:16,440
واقعاً مانند یک عملکرد عمل نمی کند. اما
118
00:04:16,440 –> 00:04:18,420
واقعاً مقداری را که گفته خوب
119
00:04:18,420 –> 00:04:19,798
برمیگرداند، فقط چیزی را به کاربر نشان میدهد،
120
00:04:19,798 –> 00:04:22,250
اما میتوانیم ورودی را به عنوان مثال
121
00:04:22,250 –> 00:04:25,590
یک تابع مناسب در نظر
122
00:04:25,590 –> 00:04:26,760
بگیریم، بنابراین اگر ممکن است من علامتی
123
00:04:26,760 –> 00:04:28,890
باشم، نام دو متغیر وجود دارد، پس
124
00:04:28,890 –> 00:04:32,310
از آن میتوانم نامها را چاپ کنم تا نشان
125
00:04:32,310 –> 00:04:33,960
دهم که کار میکند، شاید در داخل فقط
126
00:04:33,960 –> 00:04:36,150
میگویم نام خود را وارد کنید،
127
00:04:36,150 –> 00:04:38,880
بنابراین تابع چه کاری انجام میدهد، در اینجا یک
128
00:04:38,880 –> 00:04:41,160
تابع درست است.
129
00:04:41,160 –> 00:04:42,540
130
00:04:42,540 –> 00:04:44,130
که در
131
00:04:44,130 –> 00:04:45,780
این مورد توسط ما
132
00:04:45,780 –> 00:04:47,040
نوشته نشده است توسط شخص دیگری نوشته شده است زیرا داخلی است
133
00:04:47,040 –> 00:04:49,290
و برای دنبال کردن نام ما
134
00:04:49,290 –> 00:04:51,030
براکت داریم و در داخل براکت
135
00:04:51,030 –> 00:04:53,490
ها جایی است که می توانیم آرگومان ها را قرار دهیم همیشه
136
00:04:53,490 –> 00:04:55,290
باید آرگومان داشته باشیم اما
137
00:04:55,290 –> 00:04:57,450
آرگومان مقداری داده است.
138
00:04:57,450 –> 00:04:59,010
به تابعی که در این مورد استفاده می شود،
139
00:04:59,010 –> 00:05:01,320
به نام شما می گوییم که تابع این
140
00:05:01,320 –> 00:05:03,570
را می گیرد و به کاربر نشان می دهد،
141
00:05:03,570 –> 00:05:05,760
بنابراین من مطمئن هستم که ورودی تابع
142
00:05:05,760 –> 00:05:07,650
چاپ را در آن فراخوانی می کند زیرا در حال
143
00:05:07,650 –> 00:05:09,000
چاپ در شماست. به طور موثر نامگذاری کنید
144
00:05:09,000 –> 00:05:11,160
و اکنون میتوانم مرحله بالا را تایپ کنم و میرویم
145
00:05:11,160 –> 00:05:13,950
و ENTER را فشار میدهیم و اکنون میخواهیم
146
00:05:13,950 –> 00:05:15,390
Guido را چاپ کنیم زیرا اتفاقی که افتاد
147
00:05:15,390 –> 00:05:17,310
همان کاری بود که این عملکرد انجام
148
00:05:17,310 –> 00:05:18,510
داد و به کاربر اجازه داد تا چیزی
149
00:05:18,510 –> 00:05:21,960
را با حضور یک مقدار تایپ کند.
150
00:05:21,960 –> 00:05:25,320
توسط تابع ورودی برگردانده می شود و در این
151
00:05:25,320 –> 00:05:27,630
مورد تحت نام نام ذخیره می شود، بنابراین در زیر
152
00:05:27,630 –> 00:05:29,670
نام متغیر، بنابراین ورودی با
153
00:05:29,670 –> 00:05:31,170
گرفتن آرگومان که به کاربر نشان داده شده است
154
00:05:31,170 –> 00:05:33,360
و کاربر نسبتاً تایپ کرده است،
155
00:05:33,360 –> 00:05:35,640
به برنامه اصلی برمی گردد و
156
00:05:35,640 –> 00:05:37,470
ca. n ممکن است در متغیری مانند من
157
00:05:37,470 –> 00:05:39,180
در اینجا ذخیره شود، بنابراین بیایید ببینیم چگونه میتوانیم
158
00:05:39,180 –> 00:05:42,480
خودمان یک تابع را در مثال فیزیکی تعریف کنیم.
159
00:05:42,480 –> 00:05:45,030
160
00:05:45,030 –> 00:05:46,530
161
00:05:46,530 –> 00:05:48,000
162
00:05:48,000 –> 00:05:49,710
مگر اینکه شما خودتان یک
163
00:05:49,710 –> 00:05:51,930
زبان کاملاً جدید اختراع کرده باشید، خب، بنابراین
164
00:05:51,930 –> 00:05:55,080
توابع در پایتون مانند سایر ساختارها دارای یک مجموعه دستوری
165
00:05:55,080 –> 00:05:56,730
هستند و این
166
00:05:56,730 –> 00:05:58,740
نحو زمانی است که ما در حال تعریف یک
167
00:05:58,740 –> 00:06:01,320
تابع در هنگام تنظیم هستیم، از
168
00:06:01,320 –> 00:06:04,440
کلمه کلیدی DEF به صورت خلاصه برای تعریف استفاده می کنیم و
169
00:06:04,440 –> 00:06:05,880
سپس ما آن را قرار می دهیم. نام تابع
170
00:06:05,880 –> 00:06:06,840
میتوانیم هر چیزی را که میخواهیم دوست
171
00:06:06,840 –> 00:06:08,430
داشته باشیم انتخاب کنیم، محدودیتهای خاصی داریم
172
00:06:08,430 –> 00:06:11,750
درست است من نمیتوانم دو کلمه را انجام
173
00:06:11,750 –> 00:06:13,830
دهم نامهای تابع یک
174
00:06:13,830 –> 00:06:15,930
کلمه مفرد هستند، من نمیتوانم از هیچ کلمه رزرو شده استفاده
175
00:06:15,930 –> 00:06:18,840
کنم، بنابراین نمیتوانم دوباره از def استفاده کنم، میتوانم از
176
00:06:18,840 –> 00:06:21,570
یک تابع من استفاده کنید سپس این را
177
00:06:21,570 –> 00:06:25,170
با براکت ها دنبال می کنم و می توانم از آنها استفاده کنم، می
178
00:06:25,170 –> 00:06:27,510
توانم این براکت ها را خالی بگذارم و سپس
179
00:06:27,510 –> 00:06:30,150
شما یک کولون را فشار دهید ENTER و like با if
180
00:06:30,150 –> 00:06:32,460
عباراتی مانند حلقه while ما
181
00:06:32,460 –> 00:06:34,590
یک تورفتگی در بدنه f خود داریم.
182
00:06:34,590 –> 00:06:36,480
برای تشخیص اینکه چه چیزی در
183
00:06:36,480 –> 00:06:38,280
داخل این تابع است و چه چیزی در خارج
184
00:06:38,280 –> 00:06:39,950
است، باید این کار را انجام دهیم،
185
00:06:39,950 –> 00:06:41,990
این کار را برای من انجام داد.
186
00:06:41,990 –> 00:06:43,850
187
00:06:43,850 –> 00:06:45,170
188
00:06:45,170 –> 00:06:47,570
من فقط یک کار ساده انجام می دهم
189
00:06:47,570 –> 00:06:50,990
مانند چاپ hello world در داخل و
190
00:06:50,990 –> 00:06:53,360
خارج شدن از آن باعث می شود نوشتن بک اسپیس برای
191
00:06:53,360 –> 00:06:55,820
خلاص شدن از تورفتگی آن خلاص شود و حالا اگر
192
00:06:55,820 –> 00:06:58,640
به این اشاره کنم که می گوییم فراخوانی می شود بنابراین اگر
193
00:06:58,640 –> 00:07:00,830
تابع خود را تایپ کنم و با
194
00:07:00,830 –> 00:07:04,850
براکت هایمان مانند این هستم. فراخوانی این زیر
195
00:07:04,850 –> 00:07:06,740
برنامه fizz subroutine این تابع، پس
196
00:07:06,740 –> 00:07:08,180
بیایید این را اجرا کنیم و بررسی کنیم که کار می کند، بنابراین
197
00:07:08,180 –> 00:07:10,550
من آن را اجرا می کنم، hello world
198
00:07:10,550 –> 00:07:12,740
خیلی هیجان انگیز نیست، اما آنچه اتفاق می افتد اول
199
00:07:12,740 –> 00:07:15,530
از همه، مفسر پایتون با
200
00:07:15,530 –> 00:07:17,360
رفتن خط به خط کار می کند، بنابراین
201
00:07:17,360 –> 00:07:19,610
مسیر خود را به سمت پایین باز می کند. از خط 1 تا خط 6 در این
202
00:07:19,610 –> 00:07:20,900
مورد اکثر خطوط او به بالا یا نیمی از
203
00:07:20,900 –> 00:07:22,400
خطوط خالی است اما اول از همه با
204
00:07:22,400 –> 00:07:24,080
خواندن این تعریف هنوز کاری انجام نمی دهد
205
00:07:24,080 –> 00:07:25,370
بنابراین برای چاپ سلام دنیا
206
00:07:25,370 –> 00:07:27,170
که به من نشان داده است اینجا اتفاق نمی
207
00:07:27,170 –> 00:07:28,610
افتد زیرا ما
208
00:07:28,610 –> 00:07:31,220
اگر این عبارت فراخوانی را توضیح دهم، این تعریف را داشته باشید، متوجه نمیشوم
209
00:07:31,220 –> 00:07:33,230
که هیچ اتفاقی نمیافتد،
210
00:07:33,230 –> 00:07:35,450
زیرا فقط زمانی که فراخوانی شده است، کد را
211
00:07:35,450 –> 00:07:36,770
در داخل تابع اجرا میکند
212
00:07:36,770 –> 00:07:39,200
که در اینجا انجام شده است، بنابراین
213
00:07:39,200 –> 00:07:40,520
با توجه به
214
00:07:40,520 –> 00:07:42,380
تعریف او و سپس به محض اینکه آمد، درست پیش میرود.
215
00:07:42,380 –> 00:07:44,360
در سراسر چیزی که به آن اشاره می کند،
216
00:07:44,360 –> 00:07:46,850
به نوعی به جایی برمی گردد که
217
00:07:46,850 –> 00:07:48,950
تابع تعریف شده است و کد را
218
00:07:48,950 –> 00:07:50,930
در داخل آن اجرا می کند، به همین دلیل نامیده شد چرا
219
00:07:50,930 –> 00:07:52,280
من تعریف شده است، من آن را یک
220
00:07:52,280 –> 00:07:56,300
سنگ کد خارج از خط نامیدم درست به وضوح این یک
221
00:07:56,300 –> 00:07:57,560
بلوک است یک کد بسیار کوتاه در این
222
00:07:57,560 –> 00:07:59,600
مورد یک خط کد کنید، اما خارج از خط است، بنابراین
223
00:07:59,600 –> 00:08:01,520
ما برنامه اصلی خود را در اینجا داریم که
224
00:08:01,520 –> 00:08:05,590
اغلب فقط main یا روال اصلی نامیده می شود و
225
00:08:05,590 –> 00:08:07,880
هر زمان که تابعی را فراخوانی می کنیم،
226
00:08:07,880 –> 00:08:10,310
به عقب بر می گردیم و مکان آن را پیدا می کنیم.
227
00:08:10,310 –> 00:08:12,890
آن را تعریف کرده و اجرا کنید، بنابراین
228
00:08:12,890 –> 00:08:14,780
229
00:08:14,780 –> 00:08:17,240
اگر دنباله را کمی
230
00:08:17,240 –> 00:08:21,290
اشتباه بگیرم و در عوض این
231
00:08:21,290 –> 00:08:24,410
دستور فراخوانی را بالاتر از تعریف خود قرار دهم، تعاریف تابع معمولاً خارج از خط خارج از ترتیب
232
00:08:24,410 –> 00:08:25,790
هستند، ما با خطا مواجه خواهیم شد
233
00:08:25,790 –> 00:08:28,550
زیرا این کار به صورت متوالی در محل کار
234
00:08:28,550 –> 00:08:30,140
شروع می شود و به سمت پایین حرکت می کند
235
00:08:30,140 –> 00:08:32,630
، بنابراین در راستای
236
00:08:32,630 –> 00:08:34,340
عملکرد من قرار می گیرد، نمی داند این چیست،
237
00:08:34,340 –> 00:08:36,530
هنوز تعریف را ندیده است و بنابراین
238
00:08:36,530 –> 00:08:38,090
نمی تواند انجام دهد. هر چیزی که
239
00:08:38,090 –> 00:08:39,440
تعریف نشده است و به همین دلیل است که به طور
240
00:08:39,440 –> 00:08:40,940
کلی توابع شما اگر
241
00:08:40,940 –> 00:08:43,309
20 تابع را در برنامه عظیم خود
242
00:08:43,309 –> 00:08:44,450
دارید، می خواهید همه
243
00:08:44,450 –> 00:08:46,460
تعاریف را در بالا یا حتی در یک
244
00:08:46,460 –> 00:08:49,310
فایل جداگانه قرار دهید، زیرا اگر
245
00:08:49,310 –> 00:08:50,990
آنها را با آنها مخلوط کنید. برنامه اصلی شما
246
00:08:50,990 –> 00:08:51,920
247
00:08:51,920 –> 00:08:54,230
کمی عجیب خواهد بود و می تواند
248
00:08:54,230 –> 00:08:56,360
باعث ایجاد خطا شود، بنابراین آنچه را که من در اینجا تابع نامیده ام
249
00:08:56,360 –> 00:08:57,829
و آنچه پایتون تابعی را نامیده
250
00:08:57,829 –> 00:08:59,839
می شود ممکن است
251
00:08:59,839 –> 00:09:01,940
رویه بخواند زیرا ما فقط در حال تکرار
252
00:09:01,940 –> 00:09:05,899
برخی از کدها هستیم و نمی کنیم و باز نمی گردانیم.
253
00:09:05,899 –> 00:09:08,420
در عوض کاری که
254
00:09:08,420 –> 00:09:10,910
میتوانم انجام دهم این است که میتوانم چاپ را تغییر دهم و از
255
00:09:10,910 –> 00:09:13,040
شر این خلاص شوم که براکتهای من در اینجا و من
256
00:09:13,040 –> 00:09:14,690
فقط میتوانم با استفاده از یک کلمه کلیدی دیگر برگردانم
257
00:09:14,690 –> 00:09:18,139
میتوانم مقدار hello world را در
258
00:09:18,139 –> 00:09:20,930
این مورد برگردانم، بنابراین اگر این را چاپ کنم هیچ
259
00:09:20,930 –> 00:09:22,790
اتفاقی نمیافتد. چون ما در این
260
00:09:22,790 –> 00:09:24,709
مورد نیستیم، ما چیزی را برای
261
00:09:24,709 –> 00:09:27,410
کاربر چاپ نمی کنیم، چاپ کردن زمانی نیست که
262
00:09:27,410 –> 00:09:28,459
شما چیزی را می آورید که نمی توانید سپس از
263
00:09:28,459 –> 00:09:29,570
آن عبارت چاپ استفاده کنید، فقط
264
00:09:29,570 –> 00:09:31,459
وقتی مقداری را برمی گردانید به کاربر نشان داده
265
00:09:31,459 –> 00:09:33,410
می شود. در برنامه اصلی خود استفاده شود،
266
00:09:33,410 –> 00:09:34,970
بنابراین اگر یک متغیر را تنظیم کنم و
267
00:09:34,970 –> 00:09:38,180
این متن را در تابع من برابر صدا
268
00:09:38,180 –> 00:09:39,649
کنم، وقتی این
269
00:09:39,649 –> 00:09:41,720
تابع را فراخوانی میکنم، مقدار بازگشتی که در این
270
00:09:41,720 –> 00:09:44,449
مورد hello world است، در زیر
271
00:09:44,449 –> 00:09:46,820
یک متن متغیر ذخیره میشود، بنابراین برگردانده میشود. به
272
00:09:46,820 –> 00:09:48,050
برنامه اصلی من، بنابراین من هیچ کاری در
273
00:09:48,050 –> 00:09:50,540
آنجا انجام ندادم – خوب من فقط متنی را در آنجا چاپ می کنم،
274
00:09:50,540 –> 00:09:51,649
مثلاً چگونه این کار را انجام می دهید در فکر اینکه
275
00:09:51,649 –> 00:09:52,850
دقیقاً چه کاری را با ورودی انجام می
276
00:09:52,850 –> 00:09:54,800
دادیم، ما می خواهیم ارزش خود را که
277
00:09:54,800 –> 00:09:56,720
به ما برگردانده شده است، دریافت کنیم. و اخبار و
278
00:09:56,720 –> 00:09:58,399
مقادیر بازگشتی برخلاف استفاده از چاپ
279
00:09:58,399 –> 00:10:01,100
در داخل یک تابع، قطعاً راه خوبی
280
00:10:01,100 –> 00:10:02,660
برای انجام آن است، زیرا در غیر این صورت
281
00:10:02,660 –> 00:10:04,190
نمیتوانید از هیچ مقداری
282
00:10:04,190 –> 00:10:07,010
که در تابع شما ایجاد شده است استفاده کنید، بنابراین Connie در
283
00:10:07,010 –> 00:10:08,990
تابع من، براکتهای من خالی است که
284
00:10:08,990 –> 00:10:10,850
کاملاً است. خوب است اگر شما مناسب است
285
00:10:10,850 –> 00:10:12,560
برنامه و شما از
286
00:10:12,560 –> 00:10:14,660
سبک برنامه نویسی ساختاریافته ای پیروی می کنید
287
00:10:14,660 –> 00:10:16,339
که می خواهید در نهایت داده ها را
288
00:10:16,339 –> 00:10:19,699
به یک تابع منتقل کنید. بازگشت داده ها مانند انتقال
289
00:10:19,699 –> 00:10:21,829
داده از یک تابع است و همچنین
290
00:10:21,829 –> 00:10:23,209
می خواهید بتوانید داده ها را به یک تابع
291
00:10:23,209 –> 00:10:25,040
مانند ارسال داده وارد کنید. این کار را
292
00:10:25,040 –> 00:10:26,630
از طریق چیزی به نام پارامتر انجام دهید، بنابراین
293
00:10:26,630 –> 00:10:29,660
اگر بخواهیم داده را ارسال کنیم،
294
00:10:29,660 –> 00:10:31,490
از یک پارامتر برای انجام لیست یا
295
00:10:31,490 –> 00:10:34,579
پارامترها استفاده می کنیم و این و B مانند یک
296
00:10:34,579 –> 00:10:38,600
متغیر هستند که فقط در یک زیر برنامه استفاده می شود، بنابراین اگر
297
00:10:38,600 –> 00:10:42,019
تنظیم کنم اگر تایپ کنم، شماره براکت
298
00:10:42,019 –> 00:10:44,269
من مثل این است که من یک شماره تماس متغیر تنظیم می کنم
299
00:10:44,269 –> 00:10:46,790
اما فقط برای استفاده در این
300
00:10:46,790 –> 00:10:48,380
زیربرنامه، بنابراین اگر به
301
00:10:48,380 –> 00:10:50,420
تعریف تماس خود برگردم اول از همه اگر
302
00:10:50,420 –> 00:10:53,149
1 5 را فشار دهم این را اجرا کنید اکنون
303
00:10:53,149 –> 00:10:55,279
با خطا مواجه می شوم. چون میگوید خطای نوع دریافت
304
00:10:55,279 –> 00:10:57,350
میکنم تابع من یک عدد آرگومان موقعیتی مورد نیاز را از دست میدهد،
305
00:10:57,350 –> 00:10:59,870
زیرا
306
00:10:59,870 –> 00:11:02,480
پارامتری را تعریف کردهام، اکنون
307
00:11:02,480 –> 00:11:04,940
منتظر یک آرگومان برای آن است، بنابراین
308
00:11:04,940 –> 00:11:05,930
309
00:11:05,930 –> 00:11:10,580
احتمالاً میتوانیم در مورد یک موضوع دیگر صحبت کنیم که شاید بتوانیم در مورد آن صحبت کنیم.
310
00:11:10,580 –> 00:11:12,380
311
00:11:12,380 –> 00:11:15,440
از دست دادن d را در دستور فراخوانی من پنج قرار می دهم
312
00:11:15,440 –> 00:11:18,410
و حالا فقط شاید بتوانیم
313
00:11:18,410 –> 00:11:24,020
هر عددی را که ضربدر ده است برگردانیم
314
00:11:24,020 –> 00:11:27,440
و این را اجرا کنیم، بنابراین دو کلمه
315
00:11:27,440 –> 00:11:29,150
گفتم که پنجاه می شود زیرا کاری که انجام می دهد
316
00:11:29,150 –> 00:11:31,580
این است که در پنج به تابع ما و
317
00:11:31,580 –> 00:11:33,920
سپس داخل این تابع منتقل می شود. فقط در
318
00:11:33,920 –> 00:11:36,020
ع