در این مطلب، ویدئو عبور پارامتر – پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:11:28
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,719 –> 00:00:03,520
زمانی که یک تابع فراخوانی میشود، آرگومانها
2
00:00:03,520 –> 00:00:04,240
3
00:00:04,240 –> 00:00:06,240
به پارامترها ارسال میشوند و روشی که ما میتوانیم
4
00:00:06,240 –> 00:00:07,600
فراخوانیهای تابع را
5
00:00:07,600 –> 00:00:09,599
نسبت به تعاریف یک
6
00:00:09,599 –> 00:00:11,280
تابع بنویسیم به توافق بین
7
00:00:11,280 –> 00:00:12,960
آرگومانها و پارامترها بستگی دارد، بنابراین در این
8
00:00:12,960 –> 00:00:14,719
ویدیو قصد داریم به
9
00:00:14,719 –> 00:00:18,400
جزئیات نگاه کنیم. پارامترهای ارسال
10
00:00:19,680 –> 00:00:22,320
پارامتر به توابع این امکان را می دهد که به
11
00:00:22,320 –> 00:00:24,320
هر کسی که می خواهد از این تابع استفاده کند بگوید
12
00:00:24,320 –> 00:00:26,400
هی اینها اطلاعاتی است که
13
00:00:26,400 –> 00:00:27,920
من برای
14
00:00:27,920 –> 00:00:30,640
انجام درست کارم نیاز دارم و بنابراین می بینیم که وقتی
15
00:00:30,640 –> 00:00:32,238
تابعی را
16
00:00:32,238 –> 00:00:33,920
بعد از نام تعریف می کنیم، چند پرانتز وجود دارد
17
00:00:33,920 –> 00:00:35,280
و سپس در داخل آن پرانتز
18
00:00:35,280 –> 00:00:35,600
19
00:00:35,600 –> 00:00:38,719
لیست پارامترها را میدهیم و آن پارامترها نام پارامترها
20
00:00:38,719 –> 00:00:40,719
را مشخص میکنند
21
00:00:40,719 –> 00:00:41,760
22
00:00:41,760 –> 00:00:43,680
و آن نامها در داخل خود تابع مهم هستند،
23
00:00:43,680 –> 00:00:45,360
معلوم میشود
24
00:00:45,360 –> 00:00:46,960
که نام پارامترها واقعاً
25
00:00:46,960 –> 00:00:47,440
26
00:00:47,440 –> 00:00:50,320
در خارج از آن اهمیتی ندارد. اشاره
27
00:00:50,320 –> 00:00:51,840
کنید که انتظار دارید چه داده هایی
28
00:00:51,840 –> 00:00:53,600
به این پارامتر خاص به عنوان
29
00:00:53,600 –> 00:00:56,399
آرگومان داده شود و همچنین انواع
30
00:00:56,399 –> 00:00:58,000
و انواع آن چیزی است که در واقع
31
00:00:58,000 –> 00:01:00,000
مهمترین چیز nu است. تعداد مقادیر موجود در
32
00:01:00,000 –> 00:01:01,840
لیست پارامترها و همچنین انواع
33
00:01:01,840 –> 00:01:02,399
آنها مواردی هستند که
34
00:01:02,399 –> 00:01:04,080
وقتی می خواهید بروید و از یک تابع استفاده
35
00:01:04,080 –> 00:01:05,438
کنید واقعاً باید بدانید
36
00:01:05,438 –> 00:01:07,439
و مطمئن شوید که درست عمل کرده اید، بنابراین در این
37
00:01:07,439 –> 00:01:09,280
مثال اگر تابعی به نام max2 تعریف
38
00:01:09,280 –> 00:01:10,799
39
00:01:10,799 –> 00:01:12,880
کنیم که در آن دو تابع داریم. پارامترهای تعریف شده می
40
00:01:12,880 –> 00:01:14,159
توانید آنها را ببینید
41
00:01:14,159 –> 00:01:16,159
x یک پارامتر عدد صحیح است و y نیز یک
42
00:01:16,159 –> 00:01:17,600
پارامتر عدد صحیح است و آنها
43
00:01:17,600 –> 00:01:19,360
با کاما از هم جدا می شوند
44
00:01:19,360 –> 00:01:21,680
و بنابراین با تعریف این دو
45
00:01:21,680 –> 00:01:23,280
پارامتر صحیح می گوییم این
46
00:01:23,280 –> 00:01:24,240
دو مورد هستند
47
00:01:24,240 –> 00:01:26,720
که حداکثر به تابع نیاز دارند.
48
00:01:26,720 –> 00:01:28,320
برای اینکه بتوانید از آن استفاده کنید و اگر می
49
00:01:28,320 –> 00:01:29,520
خواهید از این تابع استفاده کنید باید
50
00:01:29,520 –> 00:01:31,439
این دو مورد را به آن بدهید که این دو چیز
51
00:01:31,439 –> 00:01:33,040
بسیار
52
00:01:33,040 –> 00:01:34,240
شبیه اعلان های متغیر هستند، به نظر می رسد که ما
53
00:01:34,240 –> 00:01:36,400
دو متغیر به نام های x و y را اعلام می
54
00:01:36,400 –> 00:01:38,479
کنیم زیرا ما در واقع به روشی خاص هستند
55
00:01:38,479 –> 00:01:40,000
و من فقط در یک لحظه به این شهود باز خواهم گشت
56
00:01:40,000 –> 00:01:43,119
این متغیرها
57
00:01:43,119 –> 00:01:45,840
محلی هستند به این معنی که
58
00:01:45,840 –> 00:01:46,399
59
00:01:46,399 –> 00:01:49,040
در فراخوانی تابع یا بلوک تابع قرار دارند
60
00:01:49,040 –> 00:01:49,600
و خواهیم
61
00:01:49,600 –> 00:01:51,439
دید که این به چه معناست از نظر
62
00:01:51,439 –> 00:01:52,880
پیامدهای موجود در حافظه
63
00:01:52,880 –> 00:01:54,079
هنگامی که به نمودارهای حافظه نگاه می کنیم،
64
00:01:54,079 –> 00:01:56,560
اما ایده این است که می توانیم
65
00:01:56,560 –> 00:01:58,159
بسیاری از توابع مختلف داشته باشیم که دارای
66
00:01:58,159 –> 00:02:00,079
پارامترهایی به نام x و y هستند
67
00:02:00,079 –> 00:02:02,079
و این اشکالی ندارد زیرا این نام
68
00:02:02,079 –> 00:02:03,200
ها به
69
00:02:03,200 –> 00:02:06,799
طور خاص حل می شوند یا به طور
70
00:02:06,799 –> 00:02:09,199
خاص به معنای نام
71
00:02:09,199 –> 00:02:11,280
پارامترهای آن هستند. تابع فردی
72
00:02:11,280 –> 00:02:12,560
و آنها از یکدیگر جدا هستند، بنابراین
73
00:02:12,560 –> 00:02:14,080
اگر دو تابع نام پارامترهای یکسانی را به اشتراک بگذارند،
74
00:02:14,080 –> 00:02:15,040
75
00:02:15,040 –> 00:02:16,959
مقادیر آنها همچنان مجزا و
76
00:02:16,959 –> 00:02:19,440
نامرتبط با یکدیگر هستند،
77
00:02:19,440 –> 00:02:22,000
بنابراین اعلام این
78
00:02:22,000 –> 00:02:23,840
پارامترها در واقع چه تأثیری دارد، بنابراین ما این
79
00:02:23,840 –> 00:02:26,160
تابع max2 را داریم، زمانی که به خوبی دو عدد صحیح نیاز است.
80
00:02:26,160 –> 00:02:29,040
ما این را اعلام می کنیم که
81
00:02:29,040 –> 00:02:30,720
به منظور استفاده از من می گوییم شما باید
82
00:02:30,720 –> 00:02:31,760
این دو
83
00:02:31,760 –> 00:02:33,040
چیز را به من بدهید و باید این دو مقدار صحیح را به من بدهید
84
00:02:33,040 –> 00:02:36,720
و بنابراین در این
85
00:02:36,720 –> 00:02:38,239
مورد اگر به این سه
86
00:02:38,239 –> 00:02:40,720
تابع مثال فراخوانی نگاه کنیم می بینیم در اولین موردی
87
00:02:40,720 –> 00:02:42,879
که ما داریم فراخوانی تابع
88
00:02:42,879 –> 00:02:44,560
نام تابعی است که به دنبال پرانتز در
89
00:02:44,560 –> 00:02:45,280
سمت راست قرار دارد
90
00:02:45,280 –> 00:02:47,040
و توجه داشته باشید که هیچ کلمه کلیدی def در مقابل آن وجود ندارد،
91
00:02:47,040 –> 00:02:48,239
بنابراین این یکی از راه هایی است
92
00:02:48,239 –> 00:02:49,200
که شما می تواند بگوید که آیا
93
00:02:49,200 –> 00:02:50,879
به تعریف
94
00:02:50,879 –> 00:02:53,120
یک تابع یا فراخوانی تابعی نگاه می کنید که از تعریف دیگری
95
00:02:53,120 –> 00:02:54,640
از تابع استفاده
96
00:02:54,640 –> 00:02:57,519
می کند یا نه، بنابراین ما این نام را می بینیم که با
97
00:02:57,519 –> 00:02:59,440
پرانتز و سپس در داخل آن دو مقدار را می بینیم
98
00:02:59,440 –> 00:03:02,239
و اینها ما هستند. آرگومانها
99
00:03:02,239 –> 00:03:03,680
درست در عرض یک ثانیه در مورد آرگومانها صحبت خواهیم کرد،
100
00:03:03,680 –> 00:03:05,440
اما توجه کنید که به طور خاص
101
00:03:05,440 –> 00:03:07,519
یکی داریم که یک عدد صحیح است
102
00:03:07,519 –> 00:03:09,120
، اولی یک عدد صحیح و
103
00:03:09,120 –> 00:03:10,560
دومی یک عدد صحیح است
104
00:03:10,560 –> 00:03:13,360
و به این ترتیب که با پارامتر
105
00:03:13,360 –> 00:03:14,000
اول
106
00:03:14,000 –> 00:03:15,680
در پارامتر دوم مطابقت دارد و
107
00:03:15,680 –> 00:03:17,200
که بررسی میکند
108
00:03:17,200 –> 00:03:19,840
ما بین تعداد
109
00:03:19,840 –> 00:03:21,200
آرگومانهایی که میخواهیم به
110
00:03:21,200 –> 00:03:24,239
پارامترهایمان بدهیم و همچنین انواع آنها
111
00:03:24,239 –> 00:03:26,720
توافق داریم، اگر سعی کنیم max2 را فقط با یک
112
00:03:26,720 –> 00:03:28,480
عدد صحیح فراخوانی
113
00:03:28,480 –> 00:03:31,040
کنیم، در اینجا اختلاف نظر وجود دارد، ما نیستیم.
114
00:03:31,040 –> 00:03:32,000
ارائه
115
00:03:32,000 –> 00:03:34,560
هر دو مقدار مورد نیاز برای max2 تا
116
00:03:34,560 –> 00:03:36,000
کار خود را انجام دهد و بنابراین این یک
117
00:03:36,000 –> 00:03:37,440
فراخوانی تابع نادرست خواهد بود و
118
00:03:37,440 –> 00:03:37,920
119
00:03:37,920 –> 00:03:42,080
اگر سه آرگومان عدد صحیح داشته
120
00:03:42,080 –> 00:03:43,760
باشیم که میخواهیم با این max2 استفاده کنیم، به طور مشابه منجر به خطا
121
00:03:43,760 –> 00:03:45,440
میشود. فراخوانی تابع
122
00:03:45,440 –> 00:03:48,640
کار نمی کند زیرا تنها دو مورد از
123
00:03:48,640 –> 00:03:50,640
این پارامترها در این
124
00:03:50,640 –> 00:03:52,239
تعریف تابع تعریف شده
125
00:03:52,239 –> 00:03:54,480
126
00:03:57,519 –> 00:04:00,319
اند، بنابراین تمایز بین آرگومان ها و
127
00:04:00,319 –> 00:04:01,200
پارامترها
128
00:04:01,200 –> 00:04:03,200
می تواند کمی مبهم باشد زیرا برای
129
00:04:03,200 –> 00:04:05,680
اولین بار برنامه نویسی را شروع می
130
00:04:05,680 –> 00:04:07,200
کنید، مهم است که تشخیص دهید که
131
00:04:07,200 –> 00:04:09,200
پارامترها همان چیزی هستند که ما
132
00:04:09,200 –> 00:04:11,280
درون خود تابع را تعریف می کنیم و
133
00:04:11,280 –> 00:04:12,480
آرگومان ها همان چیزی هستند که
134
00:04:12,480 –> 00:04:14,959
هر زمان که آن را درست می نامیم، ارائه می دهیم و بنابراین
135
00:04:14,959 –> 00:04:17,279
آرگومان ها مقادیری هستند که
136
00:04:17,279 –> 00:04:19,519
در فرآیند فراخوانی تابع دو پارامتر را اختصاص می
137
00:04:19,519 –> 00:04:20,320
138
00:04:20,320 –> 00:04:22,560
دهیم و آن را بررسی می کنیم. ایده
139
00:04:22,560 –> 00:04:24,800
خیلی مستقیم در یک لحظه،
140
00:04:24,800 –> 00:04:26,639
همانطور که گفتیم، انواع نیز باید
141
00:04:26,639 –> 00:04:28,000
مطابقت داشته باشند، بنابراین اگر
142
00:04:28,000 –> 00:04:30,720
سعی کرده بودیم max2 را با دو
143
00:04:30,720 –> 00:04:33,040
مقدار همزن یا دو مقدار رشته
144
00:04:33,040 –> 00:04:36,160
فراخوانی کنیم، روی max2 با رشته o و no،
145
00:04:36,160 –> 00:04:36,720
متوجه خواهیم شد که
146
00:04:36,720 –> 00:04:38,400
یک خطا وجود دارد زیرا این تابع
147
00:04:38,400 –> 00:04:40,320
تعریف به ما میگوید که باید
148
00:04:40,320 –> 00:04:42,080
دو مقدار int به من بدهید، نمیتوانید دو
149
00:04:42,080 –> 00:04:43,840
مقدار رشته را درست به من بدهید، بنابراین ما سعی
150
00:04:43,840 –> 00:04:45,280
میکنیم یک قرارداد یا نوعی
151
00:04:45,280 –> 00:04:46,560
توافق تنظیم کنیم که
152
00:04:46,560 –> 00:04:48,320
اگر میخواهید این
153
00:04:48,320 –> 00:04:49,759
تابع عالی است، اما شما باید
154
00:04:49,759 –> 00:04:53,600
نیازهای من را برآورده کنید، و
155
00:04:53,600 –> 00:04:55,120
می توانید با ارائه
156
00:04:55,120 –> 00:04:58,560
آرگومان هایی که برای پارامترهایم
157
00:04:58,560 –> 00:05:00,400
به آن نیاز دارم، این کار را انجام دهید، باید اطلاعاتی را که برای اینکه بتوانم به
158
00:05:00,400 –> 00:05:02,000
آن نیاز دارم را به من بدهید.
159
00:05:02,000 –> 00:05:03,360
میتوانم کارم را انجام دهم، شما باید چیزهایی را که برای کار کردن نیاز دارم به من بدهید، این
160
00:05:03,360 –> 00:05:04,240
161
00:05:04,240 –> 00:05:06,160
همان چیزی است که ما میخواهیم
162
00:05:06,160 –> 00:05:09,280
با فهرست پارامترهایمان مشخص کنیم،
163
00:05:09,280 –> 00:05:11,600
بنابراین بیایید
164
00:05:11,600 –> 00:05:13,039
گام به گام به کار واقعی بپردازیم
165
00:05:13,039 –> 00:05:16,720
و من میخواهم پیش نمایش یک
166
00:05:16,720 –> 00:05:17,919
نمودار حافظه که
167
00:05:17,919 –> 00:05:20,240
در یکی از ویدیوهای بعدی به طور کامل به آن نگاه
168
00:05:20,240 –> 00:05:21,120
169
00:05:21,120 –> 00:05:24,000
خواهیم کرد، بنابراین قبل از اینکه وارد این موضوع
170
00:05:24,000 –> 00:05:25,280
شویم، چیزی که می خواهیم بگوییم زمانی است که یک
171
00:05:25,280 –> 00:05:26,080
تابع را فراخوانی
172
00:05:26,080 –> 00:05:28,320
می کنیم، بنابراین تصور کنید که ما در یک خط هستند و
173
00:05:28,320 –> 00:05:30,320
من شماره خط را در
174
00:05:30,320 –> 00:05:33,520
خط یک فایل برنامه خود در اینجا مشخص می کنم و
175
00:05:33,520 –> 00:05:34,320
176
00:05:34,320 –> 00:05:36,960
در آن خط با
177
00:05:36,960 –> 00:05:37,759
آرگومان های
178
00:05:37,759 –> 00:05:40,240
8 به max2 فراخوانی می کنیم. خب یکی از اولین مراحلی است که در آن
179
00:05:40,240 –> 00:05:42,479
خواهیم دید. تنظیم یک نمودار حافظه
180
00:05:42,479 –> 00:05:44,000
به این صورت است که فضایی برای
181
00:05:44,000 –> 00:05:45,600
آن تابع ایجاد می
182
00:05:45,600 –> 00:05:47,280
کنیم که متغیرها را به حالت زنده فرا می خواند و ما می رویم برای
183
00:05:47,280 –> 00:05:48,720
پیگیری این که این فراخوانی تابع کجا اتفاق افتاده است را پیگیری کنید
184
00:05:48,720 –> 00:05:50,080
زیرا به یاد داشته باشید که وقتی فراخوانی
185
00:05:50,080 –> 00: