در این مطلب، ویدئو Function Optional Arguments – Python Advanced Tutorial Series – 53 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:07:30
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,080 –> 00:00:05,200
در این سخنرانی میخواهیم در
2
00:00:05,200 –> 00:00:07,440
مورد نحوه کار با آرگومان اختیاری
3
00:00:07,440 –> 00:00:08,559
توابع
4
00:00:08,559 –> 00:00:10,320
در سخنرانی تابع پایتون
5
00:00:10,320 –> 00:00:12,160
صحبت کنیم، اکنون نحوه کار با توابع اصلی را درک می کنیم،
6
00:00:12,160 –> 00:00:12,799
7
00:00:12,799 –> 00:00:14,400
بیایید نگاهی بیندازیم که چگونه می
8
00:00:14,400 –> 00:00:16,880
توانید مقدار پیش فرض را برای تابع مشخص کنید
9
00:00:16,880 –> 00:00:19,119
و چه چیزی را مشخص کنید. نوع مشکلی
10
00:00:19,119 –> 00:00:21,359
که هنگام کار بر روی آرگومان تابعی با آن مواجه خواهید شد،
11
00:00:21,359 –> 00:00:22,640
بنابراین بیایید به یک مثال ساده نگاهی بیندازیم.
12
00:00:22,640 –> 00:00:24,720
13
00:00:24,720 –> 00:00:26,720
14
00:00:26,720 –> 00:00:29,199
15
00:00:29,199 –> 00:00:31,359
16
00:00:31,359 –> 00:00:32,719
17
00:00:32,719 –> 00:00:34,480
برای ایجاد یک تابع در اینجا، می
18
00:00:34,480 –> 00:00:36,160
خواهم با یک کلمه کلیدی تعریف شده شروع کنم
19
00:00:36,160 –> 00:00:38,000
و نام این تابع
20
00:00:38,000 –> 00:00:40,160
را مشخص کنم، نام make را مشخص می کنم
21
00:00:40,160 –> 00:00:42,640
و در پرانتز می خواهم
22
00:00:42,640 –> 00:00:44,640
آرگومان پیش فرض این تابع
23
00:00:44,640 –> 00:00:46,239
را مشخص کنم، بنابراین می خواهم آن را ارسال کنم. در اینجا پارامتر و
24
00:00:46,239 –> 00:00:47,760
من قصد دارم این عمل پارامتر را نامگذاری کنم
25
00:00:47,760 –> 00:00:50,000
اگر این عمل پارامتر
26
00:00:50,000 –> 00:00:52,239
را مشخص کنید و بدنه را دقیقاً مانند
27
00:00:52,239 –> 00:00:52,640
این
28
00:00:52,640 –> 00:00:55,920
عمل بازگشتی مشخص کنید، این پارامتر مورد نیاز
29
00:00:55,920 –> 00:00:57,680
این تابع است.
30
00:00:57,680 –> 00:00:59,440
اکنون برای اختیاری کردن این پارامتر مورد نیاز،
31
00:00:59,440 –> 00:01:01,680
میتوانید در اینجا مقدار پیشفرض این پارامتر را مشخص کنید،
32
00:01:01,680 –> 00:01:03,039
33
00:01:03,039 –> 00:01:04,559
بنابراین در اینجا من میخواهم برابر با
34
00:01:04,559 –> 00:01:06,400
sign را مشخص کنم و سپس
35
00:01:06,400 –> 00:01:09,439
تک نقلقولها را مشخص کنم، بنابراین اکنون این مقدار پیشفرض
36
00:01:09,439 –> 00:01:10,560
این
37
00:01:10,560 –> 00:01:12,720
آرگومان عمل است که اکنون برای فراخوانی این
38
00:01:12,720 –> 00:01:14,240
تابع میتوانید
39
00:01:14,240 –> 00:01:15,840
فقط کافی است نام تابعی
40
00:01:15,840 –> 00:01:17,680
را که در اینجا میخواهم بگویم را مشخص کنید چاپ
41
00:01:17,680 –> 00:01:20,799
make و سپس به این صورت fun را به اینجا منتقل کنید
42
00:01:20,799 –> 00:01:21,200
43
00:01:21,200 –> 00:01:23,040
و این فایل را اجرا کنید من از آن لذت خواهم برد
44
00:01:23,040 –> 00:01:25,840
در نتیجه اگر اینجا را به همین شکل مشخص
45
00:01:25,840 –> 00:01:29,040
کنم بخوابم و از شر آن خلاص شوم. این
46
00:01:29,040 –> 00:01:32,159
آرگومان از پرانتز این تابع
47
00:01:32,159 –> 00:01:34,079
من در نتیجه خواب دارم، بنابراین
48
00:01:34,079 –> 00:01:35,280
این تابع
49
00:01:35,280 –> 00:01:37,600
این مقدار پیشفرض را دریافت میکند، بنابراین
50
00:01:37,600 –> 00:01:39,119
اگر آرگومان این تابع
51
00:01:39,119 –> 00:01:39,680
پاس
52
00:01:39,680 –> 00:01:41,520
نشود، تابع این
53
00:01:41,520 –> 00:01:42,799
مقدار پیشفرض را میگیرد، شما میتوانید
54
00:01:42,799 –> 00:01:44,799
بیش از یک را ارسال کنید. آرگومان و همچنین در
55
00:01:44,799 –> 00:01:46,000
آرگومان تابع
56
00:01:46,000 –> 00:01:48,320
اکنون بیایید نگاهی بیندازیم به این که اگر
57
00:01:48,320 –> 00:01:49,759
58
00:01:49,759 –> 00:01:51,759
آرگومان اختیاری mutable را پاس کنم،
59
00:01:51,759 –> 00:01:53,840
هنگام کار با آرگومان اختیاری
60
00:01:53,840 –> 00:01:56,240
با نوع پیشفرض قابل تغییر که به طور
61
00:01:56,240 –> 00:01:58,640
بالقوه میتواند منجر به t شود، مشکلی وجود دارد. o رفتار غیرمنتظره
62
00:01:58,640 –> 00:02:01,280
به عنوان مثال اگر من در اینجا تابع
63
00:02:01,280 –> 00:02:02,240
define make را ایجاد کنم
64
00:02:02,240 –> 00:02:05,280
و اگر برخی از پارامترها را در اینجا مشخص کنم یک
65
00:02:05,280 –> 00:02:08,318
کاما b برابر با
66
00:02:08,318 –> 00:02:11,520
40 است و سپس نمونه c برابر است با و
67
00:02:11,520 –> 00:02:13,120
سپس پرانتز را مشخص کنید
68
00:02:13,120 –> 00:02:14,560
اکنون در اینجا می توانید متوجه شوید که این
69
00:02:14,560 –> 00:02:16,319
پارامتر مورد نیاز این تابع است.
70
00:02:16,319 –> 00:02:19,040
این پارامتر اختیاری است فقط
71
00:02:19,040 –> 00:02:19,520
72
00:02:19,520 –> 00:02:21,760
برای اینکه من فقط اینجا پاس را مشخص میکنم،
73
00:02:21,760 –> 00:02:23,520
نمیخواهم هیچ کدی در این
74
00:02:23,520 –> 00:02:24,400
بدنه اضافه
75
00:02:24,400 –> 00:02:26,400
کنم، بنابراین کلمه کلیدی پاس شما را ارسال میکنم
76
00:02:26,400 –> 00:02:28,160
و برای فراخوانی این تابع،
77
00:02:28,160 –> 00:02:29,360
میگویم در اینجا
78
00:02:29,360 –> 00:02:31,200
اکنون آنچه را که می خواهم بسازید، می خواهم این
79
00:02:31,200 –> 00:02:32,480
آرگومان پیش فرض را چاپ
80
00:02:32,480 –> 00:02:33,760
کنم، من به سادگی از شر این پرانتز خلاص می شوم.
81
00:02:33,760 –> 00:02:36,640
82
00:02:36,640 –> 00:02:39,840
83
00:02:39,840 –> 00:02:40,319
84
00:02:40,319 –> 00:02:42,239
85
00:02:42,239 –> 00:02:43,519
86
00:02:43,519 –> 00:02:45,680
87
00:02:45,680 –> 00:02:47,440
فایل خود را اجرا کنید،
88
00:02:47,440 –> 00:02:48,879
آرگومان های پیش فرض این
89
00:02:48,879 –> 00:02:50,640
تابع را دریافت خواهید کرد، بنابراین برای این تابع،
90
00:02:50,640 –> 00:02:52,319
دو آرگومان پیش فرض دارید
91
00:02:52,319 –> 00:02:52,879
92
00:02:52,879 –> 00:02:55,200
که نتیجه آن چیزی شبیه به این است که اکنون برای
93
00:02:55,200 –> 00:02:56,239
انواع قابل تغییر
94
00:02:56,239 –> 00:02:58,159
، مشکلی نیست. چون
95
00:02:58,159 –> 00:02:59,760
راهی برای نادیده گرفتن متغیر وجود ندارد
96
00:02:59,760 –> 00:03:01,599
فقط میتوان آن را مجدداً تخصیص داد و
97
00:03:01,599 –> 00:03:03,200
مقدار اختیاری را بدون تغییر باقی گذاشت،
98
00:03:03,200 –> 00:03:06,000
بنابراین تضمین میشود که مقادیر بعدی
99
00:03:06,000 –> 00:03:07,519
همان مقدار پیشفرض را داشته باشند،
100
00:03:07,519 –> 00:03:10,239
اما برای یک نوع تغییرپذیر میتوان مقدار اصلی
101
00:03:10,239 –> 00:03:10,959
را
102
00:03:10,959 –> 00:03:14,000
با برقراری تماس با توابع اعضای مختلف آن نادیده گرفت،
103
00:03:14,000 –> 00:03:15,120
104
00:03:15,120 –> 00:03:17,360
بنابراین فراخوانیهای متوالی به
105
00:03:17,360 –> 00:03:19,519
توابع تضمینی برای داشتن
106
00:03:19,519 –> 00:03:21,040
مقدار پیشفرض اولیه نیستند،
107
00:03:21,040 –> 00:03:23,120
اجازه دهید آنچه را که میخواهم بگویم را به شما نشان دهم اگر
108
00:03:23,120 –> 00:03:25,440
فقط یک تابع ساده در اینجا ایجاد
109
00:03:25,440 –> 00:03:27,920
میکنم که میخواهم بگویم
110
00:03:27,920 –> 00:03:29,680
نام من را به این تابع تعریف کنید و بگویید
111
00:03:29,680 –> 00:03:32,159
دقیقاً به این شکل و در این ضمیمه شود. تابعی که
112
00:03:32,159 –> 00:03:33,440
قصد ایجاد اولین
113
00:03:33,440 –> 00:03:35,200
پارامتر نیاز را دارم در اینجا میخواهم بگویم
114
00:03:35,200 –> 00:03:36,879
عنصر
115
00:03:36,879 –> 00:03:39,280
و یک پارامتر پیشفرض 2 درست مثل