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