{"id":27488,"date":"2025-04-24T14:05:21","date_gmt":"2025-04-24T07:05:21","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=27488"},"modified":"2025-04-24T14:13:02","modified_gmt":"2025-04-24T07:13:02","slug":"doi-so-argument-la-gi","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/","title":{"rendered":"\u0110\u1ed1i s\u1ed1 (Argument) l\u00e0 g\u00ec? C\u00e1ch d\u00f9ng &#038; Ph\u00e2n bi\u1ec7t Tham s\u1ed1"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Doi-so-Argument-la-gi\" >\u0110\u1ed1i s\u1ed1 (Argument) l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Tai-sao-can-su-dung-Doi-so-trong-lap-trinh\" >T\u1ea1i sao c\u1ea7n s\u1eed d\u1ee5ng \u0110\u1ed1i s\u1ed1 trong l\u1eadp tr\u00ecnh?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Phan-biet-Doi-so-Argument-va-Tham-so-Parameter-Khong-con-nham-lan\" >Ph\u00e2n bi\u1ec7t \u0110\u1ed1i s\u1ed1 (Argument) v\u00e0 Tham s\u1ed1 (Parameter): Kh\u00f4ng c\u00f2n nh\u1ea7m l\u1eabn!<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Tham-so-Parameter-la-gi\" >Tham s\u1ed1 (Parameter) l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Diem-khac-biet-chinh-giua-Argument-va-Parameter\" >\u0110i\u1ec3m kh\u00e1c bi\u1ec7t ch\u00ednh gi\u1eefa Argument v\u00e0 Parameter<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Cac-cach-truyen-Doi-so-Argument-Passing-pho-bien\" >C\u00e1c c\u00e1ch truy\u1ec1n \u0110\u1ed1i s\u1ed1 (Argument Passing) ph\u1ed5 bi\u1ebfn<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#1-Truyen-doi-so-theo-vi-tri-Positional-Arguments\" >1. Truy\u1ec1n \u0111\u1ed1i s\u1ed1 theo v\u1ecb tr\u00ed (Positional Arguments)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#2-Truyen-doi-so-theo-tu-khoa-Keyword-Arguments\" >2. Truy\u1ec1n \u0111\u1ed1i s\u1ed1 theo t\u1eeb kh\u00f3a (Keyword Arguments)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#3-Su-dung-Doi-so-mac-dinh-Default-Arguments\" >3. S\u1eed d\u1ee5ng \u0110\u1ed1i s\u1ed1 m\u1eb7c \u0111\u1ecbnh (Default Arguments)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#4-Doi-so-co-do-dai-thay-doi-Variable-length-Arguments\" >4. \u0110\u1ed1i s\u1ed1 c\u00f3 \u0111\u1ed9 d\u00e0i thay \u0111\u1ed5i (Variable-length Arguments)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Vi-du-minh-hoa-Doi-so-trong-cac-ngon-ngu-lap-trinh-pho-bien\" >V\u00ed d\u1ee5 minh h\u1ecda \u0110\u1ed1i s\u1ed1 trong c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh ph\u1ed5 bi\u1ebfn<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Vi-du-voi-Python\" >V\u00ed d\u1ee5 v\u1edbi Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Vi-du-voi-JavaScript\" >V\u00ed d\u1ee5 v\u1edbi JavaScript<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/#Nhung-loi-thuong-gap-khi-lam-viec-voi-Doi-so-va-cach-khac-phuc\" >Nh\u1eefng l\u1ed7i th\u01b0\u1eddng g\u1eb7p khi l\u00e0m vi\u1ec7c v\u1edbi \u0110\u1ed1i s\u1ed1 v\u00e0 c\u00e1ch kh\u1eafc ph\u1ee5c<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>N\u1eafm v\u1eefng c\u00e1ch s\u1eed d\u1ee5ng \u0110\u1ed1i s\u1ed1 (Argument) l\u00e0 b\u01b0\u1edbc quan tr\u1ecdng \u0111\u1ec3 vi\u1ebft code hi\u1ec7u qu\u1ea3 v\u00e0 linh ho\u1ea1t h\u01a1n. B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn b\u1ea1n t\u1eeb A-Z: b\u1eaft \u0111\u1ea7u t\u1eeb kh\u00e1i ni\u1ec7m \u0110\u1ed1i s\u1ed1 l\u00e0 g\u00ec, l\u00fd do n\u00ean d\u00f9ng ch\u00fang, \u0111\u1ebfn vi\u1ec7c ph\u00e2n bi\u1ec7t t\u01b0\u1eddng t\u1eadn v\u1edbi Tham s\u1ed1 (Parameter). Ti\u1ebfp theo, ch\u00fang ta s\u1ebd \u0111i s\u00e2u v\u00e0o c\u00e1c c\u00e1ch truy\u1ec1n \u0111\u1ed1i s\u1ed1 kh\u00e1c nhau, ph\u00e2n t\u00edch v\u00ed d\u1ee5 tr\u00ean Python, JavaScript v\u00e0 l\u01b0u \u00fd l\u1ed7i th\u01b0\u1eddng g\u1eb7p.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Doi-so-Argument-la-gi\"><\/span>\u0110\u1ed1i s\u1ed1 (Argument) l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/interdata.vn\/blog\/doi-so-argument-la-gi\/\"><strong>\u0110\u1ed1i s\u1ed1 (Argument)<\/strong><\/a> l\u00e0 <strong>gi\u00e1 tr\u1ecb th\u1ef1c t\u1ebf<\/strong> m\u00e0 b\u1ea1n cung c\u1ea5p (hay &#8220;truy\u1ec1n v\u00e0o&#8221;) cho m\u1ed9t h\u00e0m (function) ho\u1eb7c ph\u01b0\u01a1ng th\u1ee9c (method) khi b\u1ea1n th\u1ef1c hi\u1ec7n <strong>l\u1eddi g\u1ecdi h\u00e0m\/ph\u01b0\u01a1ng th\u1ee9c<\/strong> \u0111\u00f3. N\u00f3i \u0111\u01a1n gi\u1ea3n, ch\u00fang ch\u00ednh l\u00e0 d\u1eef li\u1ec7u c\u1ee5 th\u1ec3, \u0111\u1ea7u v\u00e0o m\u00e0 h\u00e0m s\u1ebd s\u1eed d\u1ee5ng \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u00f4ng vi\u1ec7c c\u1ee7a m\u00ecnh.<\/p>\n<p>H\u00e3y h\u00ecnh dung b\u1ea1n c\u00f3 m\u1ed9t h\u00e0m t\u00ean l\u00e0 <code>in_loi_chao<\/code>. H\u00e0m n\u00e0y c\u1ea7n bi\u1ebft t\u00ean c\u1ee7a ng\u01b0\u1eddi c\u1ea7n ch\u00e0o. Khi b\u1ea1n g\u1ecdi h\u00e0m \u0111\u00f3 v\u00e0 cung c\u1ea5p t\u00ean &#8220;An&#8221;, v\u00ed d\u1ee5 <code>in_loi_chao(\"An\")<\/code>, th\u00ec chu\u1ed7i <code>\"An\"<\/code> ch\u00ednh l\u00e0 <strong>\u0111\u1ed1i s\u1ed1<\/strong> b\u1ea1n \u0111\u00e3 truy\u1ec1n v\u00e0o.<\/p>\n<p>N\u1ebfu kh\u00f4ng c\u00f3 \u0111\u1ed1i s\u1ed1, nhi\u1ec1u h\u00e0m s\u1ebd tr\u1edf n\u00ean k\u00e9m linh ho\u1ea1t v\u00ec ch\u00fang ch\u1ec9 c\u00f3 th\u1ec3 ho\u1ea1t \u0111\u1ed9ng tr\u00ean d\u1eef li\u1ec7u c\u1ed1 \u0111\u1ecbnh ho\u1eb7c kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o n\u00e0o c\u1ea3. \u0110\u1ed1i s\u1ed1 l\u00e0m cho h\u00e0m tr\u1edf n\u00ean m\u1ea1nh m\u1ebd v\u00e0 t\u00e1i s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c trong nhi\u1ec1u t\u00ecnh hu\u1ed1ng kh\u00e1c nhau.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/Doi-so-Argument.jpg\" alt=\"\u0110\u1ed1i s\u1ed1 (Argument)\" width=\"750\" height=\"500\" class=\"aligncenter size-full wp-image-27498\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/Doi-so-Argument.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/Doi-so-Argument-300x200.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tai-sao-can-su-dung-Doi-so-trong-lap-trinh\"><\/span>T\u1ea1i sao c\u1ea7n s\u1eed d\u1ee5ng \u0110\u1ed1i s\u1ed1 trong l\u1eadp tr\u00ecnh?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>V\u1eady t\u1ea1i sao ch\u00fang ta kh\u00f4ng vi\u1ebft th\u1eb3ng c\u00e1c gi\u00e1 tr\u1ecb v\u00e0o trong h\u00e0m m\u00e0 l\u1ea1i c\u1ea7n \u0111\u1ebfn \u0111\u1ed1i s\u1ed1? C\u00e2u tr\u1ea3 l\u1eddi n\u1eb1m \u1edf <strong>t\u00ednh linh ho\u1ea1t v\u00e0 kh\u1ea3 n\u0103ng t\u00e1i s\u1eed d\u1ee5ng<\/strong> c\u1ee7a code. \u0110\u1ed1i s\u1ed1 \u0111\u00f3ng vai tr\u00f2 c\u1ea7u n\u1ed1i, mang d\u1eef li\u1ec7u t\u1eeb b\u00ean ngo\u00e0i v\u00e0o x\u1eed l\u00fd b\u00ean trong h\u00e0m.<\/p>\n<p>M\u1ee5c \u0111\u00edch ch\u00ednh c\u1ee7a vi\u1ec7c s\u1eed d\u1ee5ng \u0111\u1ed1i s\u1ed1 l\u00e0 cho ph\u00e9p h\u00e0m <strong>nh\u1eadn v\u00e0 x\u1eed l\u00fd c\u00e1c d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o kh\u00e1c nhau<\/strong> m\u1ed7i khi n\u00f3 \u0111\u01b0\u1ee3c g\u1ecdi. Thay v\u00ec vi\u1ebft nhi\u1ec1u h\u00e0m g\u1ea7n gi\u1ed1ng h\u1ec7t nhau ch\u1ec9 kh\u00e1c v\u1ec1 gi\u00e1 tr\u1ecb x\u1eed l\u00fd, b\u1ea1n ch\u1ec9 c\u1ea7n vi\u1ebft m\u1ed9t h\u00e0m v\u00e0 truy\u1ec1n c\u00e1c gi\u00e1 tr\u1ecb kh\u00e1c nhau th\u00f4ng qua \u0111\u1ed1i s\u1ed1.<\/p>\n<p>V\u00ed d\u1ee5, thay v\u00ec vi\u1ebft h\u00e0m <code>tinh_tong_5_va_3()<\/code> v\u00e0 <code>tinh_tong_10_va_20()<\/code>, b\u1ea1n ch\u1ec9 c\u1ea7n vi\u1ebft m\u1ed9t h\u00e0m <code>tinh_tong(so_thu_nhat, so_thu_hai)<\/code> duy nh\u1ea5t. Sau \u0111\u00f3, b\u1ea1n c\u00f3 th\u1ec3 g\u1ecdi <code>tinh_tong(5, 3)<\/code> ho\u1eb7c <code>tinh_tong(10, 20)<\/code>, truy\u1ec1n c\u00e1c <strong>\u0111\u1ed1i s\u1ed1<\/strong> kh\u00e1c nhau \u0111\u1ec3 nh\u1eadn k\u1ebft qu\u1ea3 t\u01b0\u01a1ng \u1ee9ng. \u0110i\u1ec1u n\u00e0y gi\u00fap code ng\u1eafn g\u1ecdn, d\u1ec5 b\u1ea3o tr\u00ec h\u01a1n.<\/p>\n<p>S\u1eed d\u1ee5ng \u0111\u1ed1i s\u1ed1 gi\u00fap c\u00e1c h\u00e0m tr\u1edf th\u00e0nh nh\u1eefng kh\u1ed1i x\u00e2y d\u1ef1ng (building blocks) \u0111\u1ed9c l\u1eadp v\u00e0 m\u1ea1nh m\u1ebd. Ch\u00fang nh\u1eadn \u0111\u1ea7u v\u00e0o qua \u0111\u1ed1i s\u1ed1, th\u1ef1c hi\u1ec7n m\u1ed9t nhi\u1ec7m v\u1ee5 c\u1ee5 th\u1ec3, v\u00e0 c\u00f3 th\u1ec3 tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3. \u0110i\u1ec1u n\u00e0y th\u00fac \u0111\u1ea9y vi\u1ec7c module h\u00f3a code, m\u1ed9t nguy\u00ean t\u1eafc quan tr\u1ecdng trong ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Phan-biet-Doi-so-Argument-va-Tham-so-Parameter-Khong-con-nham-lan\"><\/span>Ph\u00e2n bi\u1ec7t \u0110\u1ed1i s\u1ed1 (Argument) v\u00e0 Tham s\u1ed1 (Parameter): Kh\u00f4ng c\u00f2n nh\u1ea7m l\u1eabn!<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u00e2y l\u00e0 \u0111i\u1ec3m c\u1ef1c k\u1ef3 quan tr\u1ecdng v\u00e0 th\u01b0\u1eddng g\u00e2y nh\u1ea7m l\u1eabn cho ng\u01b0\u1eddi m\u1edbi h\u1ecdc: s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa <strong>\u0110\u1ed1i s\u1ed1 (Argument)<\/strong> v\u00e0 <strong>Tham s\u1ed1 (Parameter)<\/strong>. M\u1eb7c d\u00f9 li\u00ean quan ch\u1eb7t ch\u1ebd, ch\u00fang kh\u00f4ng ph\u1ea3i l\u00e0 m\u1ed9t. Hi\u1ec3u r\u00f5 s\u1ef1 kh\u00e1c bi\u1ec7t n\u00e0y l\u00e0 n\u1ec1n t\u1ea3ng \u0111\u1ec3 l\u00e0m vi\u1ec7c hi\u1ec7u qu\u1ea3 v\u1edbi h\u00e0m.<\/p>\n<p>N\u00f3i m\u1ed9t c\u00e1ch ng\u1eafn g\u1ecdn nh\u1ea5t:<\/p>\n<ul>\n<li><strong>Tham s\u1ed1 (Parameter):<\/strong> L\u00e0 <strong>bi\u1ebfn<\/strong> \u0111\u01b0\u1ee3c khai b\u00e1o trong <strong>ph\u1ea7n \u0111\u1ecbnh ngh\u0129a<\/strong> c\u1ee7a h\u00e0m\/ph\u01b0\u01a1ng th\u1ee9c. N\u00f3 gi\u1ed1ng nh\u01b0 m\u1ed9t &#8220;ch\u1ed7 gi\u1eef ch\u1ed7&#8221; cho gi\u00e1 tr\u1ecb s\u1ebd \u0111\u01b0\u1ee3c truy\u1ec1n v\u00e0o.<\/li>\n<li><strong>\u0110\u1ed1i s\u1ed1 (Argument):<\/strong> L\u00e0 <strong>gi\u00e1 tr\u1ecb th\u1ef1c t\u1ebf<\/strong> \u0111\u01b0\u1ee3c truy\u1ec1n v\u00e0o h\u00e0m khi h\u00e0m \u0111\u00f3 <strong>\u0111\u01b0\u1ee3c g\u1ecdi<\/strong>. N\u00f3 l\u00e0 th\u1ee9 s\u1ebd \u0111\u01b0\u1ee3c g\u00e1n v\u00e0o &#8220;ch\u1ed7 gi\u1eef ch\u1ed7&#8221; (tham s\u1ed1) kia.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Tham-so-Parameter-la-gi\"><\/span>Tham s\u1ed1 (Parameter) l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Tham s\u1ed1 (ti\u1ebfng Anh: Parameter)<\/strong> l\u00e0 t\u00ean bi\u1ebfn \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea b\u00ean trong c\u1eb7p d\u1ea5u ngo\u1eb7c \u0111\u01a1n <code>()<\/code> khi b\u1ea1n <strong>\u0111\u1ecbnh ngh\u0129a (khai b\u00e1o) m\u1ed9t h\u00e0m<\/strong>. Ch\u00fang ho\u1ea1t \u0111\u1ed9ng nh\u01b0 nh\u1eefng bi\u1ebfn c\u1ee5c b\u1ed9 (local variables) b\u00ean trong h\u00e0m, ch\u1ec9 t\u1ed3n t\u1ea1i trong ph\u1ea1m vi c\u1ee7a h\u00e0m \u0111\u00f3.<\/p>\n<p>Khi \u0111\u1ecbnh ngh\u0129a h\u00e0m, b\u1ea1n ch\u1ec9 \u0111\u1ecbnh nh\u1eefng tham s\u1ed1 m\u00e0 h\u00e0m \u0111\u00f3 mong \u0111\u1ee3i nh\u1eadn \u0111\u01b0\u1ee3c. V\u00ed d\u1ee5, trong \u0111\u1ecbnh ngh\u0129a h\u00e0m sau b\u1eb1ng Python:<\/p>\n<p>Python<\/p>\n<pre><code class=\"language-plaintext\">def chao_mung(ten_nguoi_dung): # 'ten_nguoi_dung' ch\u00ednh l\u00e0 tham s\u1ed1 (parameter)\r\n  print(f\"Xin ch\u00e0o, {ten_nguoi_dung}!\")\r\n<\/code><\/pre>\n<p>\u1ede \u0111\u00e2y, <code>ten_nguoi_dung<\/code> l\u00e0 m\u1ed9t <strong>tham s\u1ed1<\/strong>. N\u00f3 \u0111\u00f3ng vai tr\u00f2 nh\u01b0 m\u1ed9t c\u00e1i t\u00ean \u0111\u1ea1i di\u1ec7n, m\u1ed9t ch\u1ed7 gi\u1eef ch\u1ed7, cho bi\u1ebft r\u1eb1ng h\u00e0m <code>chao_mung<\/code> c\u1ea7n nh\u1eadn m\u1ed9t gi\u00e1 tr\u1ecb n\u00e0o \u0111\u00f3 (m\u00e0 ch\u00fang ta t\u1ea1m g\u1ecdi l\u00e0 <code>ten_nguoi_dung<\/code>) \u0111\u1ec3 c\u00f3 th\u1ec3 ho\u1ea1t \u0111\u1ed9ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Diem-khac-biet-chinh-giua-Argument-va-Parameter\"><\/span>\u0110i\u1ec3m kh\u00e1c bi\u1ec7t ch\u00ednh gi\u1eefa Argument v\u00e0 Parameter<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 d\u1ec5 h\u00ecnh dung h\u01a1n, h\u00e3y xem b\u1ea3ng so s\u00e1nh nhanh v\u00e0 v\u00ed d\u1ee5 c\u1ee5 th\u1ec3 sau:<\/p>\n<figure class=\"table\">\n<table>\n<thead>\n<tr>\n<th>\u0110\u1eb7c \u0111i\u1ec3m<\/th>\n<th>Tham s\u1ed1 (Parameter)<\/th>\n<th>\u0110\u1ed1i s\u1ed1 (Argument)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Xu\u1ea5t hi\u1ec7n \u1edf<\/strong><\/td>\n<td><strong>\u0110\u1ecbnh ngh\u0129a h\u00e0m<\/strong> (Function Definition)<\/td>\n<td><strong>L\u1eddi g\u1ecdi h\u00e0m<\/strong> (Function Call)<\/td>\n<\/tr>\n<tr>\n<td><strong>B\u1ea3n ch\u1ea5t l\u00e0<\/strong><\/td>\n<td><strong>Bi\u1ebfn<\/strong> (Variable)<\/td>\n<td><strong>Gi\u00e1 tr\u1ecb th\u1ef1c t\u1ebf<\/strong> (Actual Value)<\/td>\n<\/tr>\n<tr>\n<td><strong>Vai tr\u00f2<\/strong><\/td>\n<td>Ch\u1ed7 gi\u1eef ch\u1ed7, t\u00ean \u0111\u1ea1i di\u1ec7n cho \u0111\u1ea7u v\u00e0o<\/td>\n<td>D\u1eef li\u1ec7u c\u1ee5 th\u1ec3 \u0111\u01b0\u1ee3c cung c\u1ea5p cho h\u00e0m<\/td>\n<\/tr>\n<tr>\n<td><strong>V\u00ed d\u1ee5 (Code)<\/strong><\/td>\n<td><code>def ham(tham_so):<\/code><\/td>\n<td><code>ham(doi_so)<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Xu\u1ea5t sang Trang t\u00ednh<\/p>\n<p><strong>V\u00ed d\u1ee5 minh h\u1ecda:<\/strong><\/p>\n<p>H\u00e3y xem x\u00e9t l\u1ea1i h\u00e0m <code>tinh_tong<\/code> trong Python:<\/p>\n<p>Python<\/p>\n<pre><code class=\"language-plaintext\"># --- \u0110\u1ecbnh ngh\u0129a h\u00e0m ---\r\ndef tinh_tong(so_hang_1, so_hang_2): # so_hang_1 v\u00e0 so_hang_2 l\u00e0 c\u00e1c THAM S\u1ed0 (Parameters)\r\n  \"\"\"H\u00e0m n\u00e0y nh\u1eadn v\u00e0o hai tham s\u1ed1 v\u00e0 tr\u1ea3 v\u1ec1 t\u1ed5ng c\u1ee7a ch\u00fang.\"\"\"\r\n  tong = so_hang_1 + so_hang_2\r\n  return tong\r\n\r\n# --- L\u1eddi g\u1ecdi h\u00e0m ---\r\nket_qua = tinh_tong(5, 10) # 5 v\u00e0 10 l\u00e0 c\u00e1c \u0110\u1ed0I S\u1ed0 (Arguments)\r\n\r\nprint(f\"K\u1ebft qu\u1ea3 ph\u00e9p c\u1ed9ng l\u00e0: {ket_qua}\") # Output: K\u1ebft qu\u1ea3 ph\u00e9p c\u1ed9ng l\u00e0: 15\r\n<\/code><\/pre>\n<p>Trong \u0111o\u1ea1n code tr\u00ean:<\/p>\n<ul>\n<li><code>so_hang_1<\/code> v\u00e0 <code>so_hang_2<\/code> trong d\u00f2ng <code>def tinh_tong(...)<\/code> l\u00e0 c\u00e1c <strong>tham s\u1ed1 (parameters)<\/strong>. Ch\u00fang l\u00e0 t\u00ean bi\u1ebfn \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a c\u00f9ng v\u1edbi h\u00e0m.<\/li>\n<li>S\u1ed1 <code>5<\/code> v\u00e0 s\u1ed1 <code>10<\/code> trong d\u00f2ng <code>tinh_tong(5, 10)<\/code> l\u00e0 c\u00e1c <strong>\u0111\u1ed1i s\u1ed1 (arguments)<\/strong>. Ch\u00fang l\u00e0 nh\u1eefng gi\u00e1 tr\u1ecb th\u1ef1c t\u1ebf m\u00e0 ch\u00fang ta truy\u1ec1n v\u00e0o h\u00e0m khi g\u1ecdi n\u00f3. Gi\u00e1 tr\u1ecb <code>5<\/code> s\u1ebd \u0111\u01b0\u1ee3c g\u00e1n cho tham s\u1ed1 <code>so_hang_1<\/code>, v\u00e0 <code>10<\/code> \u0111\u01b0\u1ee3c g\u00e1n cho <code>so_hang_2<\/code> b\u00ean trong h\u00e0m.<\/li>\n<\/ul>\n<p>Vi\u1ec7c ph\u00e2n bi\u1ec7t r\u00f5 r\u00e0ng n\u00e0y gi\u00fap b\u1ea1n \u0111\u1ecdc hi\u1ec3u code d\u1ec5 d\u00e0ng h\u01a1n v\u00e0 tr\u00e1nh c\u00e1c l\u1ed7i logic khi l\u00e0m vi\u1ec7c v\u1edbi h\u00e0m. Lu\u00f4n nh\u1edb: tham s\u1ed1 \u1edf \u0111\u1ecbnh ngh\u0129a, \u0111\u1ed1i s\u1ed1 \u1edf l\u1eddi g\u1ecdi.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cac-cach-truyen-Doi-so-Argument-Passing-pho-bien\"><\/span>C\u00e1c c\u00e1ch truy\u1ec1n \u0110\u1ed1i s\u1ed1 (Argument Passing) ph\u1ed5 bi\u1ebfn<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Khi g\u1ecdi m\u1ed9t h\u00e0m, b\u1ea1n c\u00f3 th\u1ec3 truy\u1ec1n \u0111\u1ed1i s\u1ed1 theo nhi\u1ec1u c\u00e1ch kh\u00e1c nhau. C\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh th\u01b0\u1eddng h\u1ed7 tr\u1ee3 m\u1ed9t s\u1ed1 c\u01a1 ch\u1ebf ph\u1ed5 bi\u1ebfn. Vi\u1ec7c hi\u1ec3u c\u00e1c c\u00e1ch n\u00e0y gi\u00fap b\u1ea1n vi\u1ebft code linh ho\u1ea1t v\u00e0 d\u1ec5 \u0111\u1ecdc h\u01a1n. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c c\u00e1ch truy\u1ec1n \u0111\u1ed1i s\u1ed1 ch\u00ednh th\u01b0\u1eddng g\u1eb7p:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1-Truyen-doi-so-theo-vi-tri-Positional-Arguments\"><\/span>1. Truy\u1ec1n \u0111\u1ed1i s\u1ed1 theo v\u1ecb tr\u00ed (Positional Arguments)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 c\u00e1ch truy\u1ec1n \u0111\u1ed1i s\u1ed1 <strong>ph\u1ed5 bi\u1ebfn v\u00e0 c\u01a1 b\u1ea3n nh\u1ea5t<\/strong>. C\u00e1c \u0111\u1ed1i s\u1ed1 \u0111\u01b0\u1ee3c truy\u1ec1n v\u00e0o h\u00e0m s\u1ebd \u0111\u01b0\u1ee3c g\u00e1n cho c\u00e1c tham s\u1ed1 t\u01b0\u01a1ng \u1ee9ng d\u1ef1a tr\u00ean <strong>v\u1ecb tr\u00ed (th\u1ee9 t\u1ef1)<\/strong> c\u1ee7a ch\u00fang. \u0110\u1ed1i s\u1ed1 \u0111\u1ea7u ti\u00ean g\u00e1n cho tham s\u1ed1 \u0111\u1ea7u ti\u00ean, \u0111\u1ed1i s\u1ed1 th\u1ee9 hai g\u00e1n cho tham s\u1ed1 th\u1ee9 hai, v\u00e0 c\u1ee9 th\u1ebf ti\u1ebfp t\u1ee5c.<\/p>\n<p><strong>C\u01a1 ch\u1ebf ho\u1ea1t \u0111\u1ed9ng:<\/strong> Ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh t\u1ef1 \u0111\u1ed9ng kh\u1edbp gi\u00e1 tr\u1ecb b\u1ea1n cung c\u1ea5p v\u1edbi bi\u1ebfn tham s\u1ed1 \u1edf c\u00f9ng v\u1ecb tr\u00ed trong \u0111\u1ecbnh ngh\u0129a h\u00e0m.<\/p>\n<p><strong>\u01afu \u0111i\u1ec3m:<\/strong> Ng\u1eafn g\u1ecdn, d\u1ec5 vi\u1ebft khi s\u1ed1 l\u01b0\u1ee3ng tham s\u1ed1 \u00edt. <strong>Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/strong> Ph\u1ea3i nh\u1edb ch\u00ednh x\u00e1c th\u1ee9 t\u1ef1 c\u00e1c tham s\u1ed1. N\u1ebfu truy\u1ec1n sai th\u1ee9 t\u1ef1, c\u00f3 th\u1ec3 d\u1eabn \u0111\u1ebfn l\u1ed7i logic ho\u1eb7c k\u1ebft qu\u1ea3 kh\u00f4ng mong mu\u1ed1n. Kh\u00f3 \u0111\u1ecdc hi\u1ec3u khi h\u00e0m c\u00f3 nhi\u1ec1u tham s\u1ed1.<\/p>\n<p><strong>V\u00ed d\u1ee5 (Python):<\/strong><\/p>\n<p>Python<\/p>\n<pre><code class=\"language-plaintext\">def gioi_thieu(ten, tuoi, thanh_pho):\r\n  \"\"\"H\u00e0m gi\u1edbi thi\u1ec7u th\u00f4ng tin c\u00e1 nh\u00e2n.\"\"\"\r\n  print(f\"T\u00ean t\u00f4i l\u00e0 {ten}.\")\r\n  print(f\"T\u00f4i {tuoi} tu\u1ed5i.\")\r\n  print(f\"T\u00f4i \u0111\u1ebfn t\u1eeb {thanh_pho}.\")\r\n\r\n# G\u1ecdi h\u00e0m v\u1edbi \u0111\u1ed1i s\u1ed1 theo v\u1ecb tr\u00ed\r\ngioi_thieu(\"B\u00ecnh\", 30, \"H\u00e0 N\u1ed9i\")\r\n# Output:\r\n# T\u00ean t\u00f4i l\u00e0 B\u00ecnh.\r\n# T\u00f4i 30 tu\u1ed5i.\r\n# T\u00f4i \u0111\u1ebfn t\u1eeb H\u00e0 N\u1ed9i.\r\n\r\n# N\u1ebfu truy\u1ec1n sai th\u1ee9 t\u1ef1:\r\ngioi_thieu(30, \"H\u00e0 N\u1ed9i\", \"B\u00ecnh\") # Sai logic!\r\n# Output:\r\n# T\u00ean t\u00f4i l\u00e0 30.\r\n# T\u00f4i H\u00e0 N\u1ed9i tu\u1ed5i.\r\n# T\u00f4i \u0111\u1ebfn t\u1eeb B\u00ecnh.\r\n<\/code><\/pre>\n<p>Trong v\u00ed d\u1ee5 tr\u00ean, <code>\"B\u00ecnh\"<\/code> \u0111\u01b0\u1ee3c g\u00e1n cho <code>ten<\/code>, <code>30<\/code> cho <code>tuoi<\/code>, v\u00e0 <code>\"H\u00e0 N\u1ed9i\"<\/code> cho <code>thanh_pho<\/code> v\u00ec ch\u00fang \u1edf c\u00e1c v\u1ecb tr\u00ed t\u01b0\u01a1ng \u1ee9ng. Vi\u1ec7c \u0111\u1ea3o th\u1ee9 t\u1ef1 g\u00e2y ra k\u1ebft qu\u1ea3 sai.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2-Truyen-doi-so-theo-tu-khoa-Keyword-Arguments\"><\/span>2. Truy\u1ec1n \u0111\u1ed1i s\u1ed1 theo t\u1eeb kh\u00f3a (Keyword Arguments)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 kh\u1eafc ph\u1ee5c nh\u01b0\u1ee3c \u0111i\u1ec3m c\u1ee7a vi\u1ec7c ph\u1ea3i nh\u1edb th\u1ee9 t\u1ef1, nhi\u1ec1u ng\u00f4n ng\u1eef h\u1ed7 tr\u1ee3 truy\u1ec1n \u0111\u1ed1i s\u1ed1 theo <strong>t\u1eeb kh\u00f3a (t\u00ean tham s\u1ed1)<\/strong>. B\u1ea1n ch\u1ec9 \u0111\u1ecbnh r\u00f5 r\u00e0ng t\u00ean tham s\u1ed1 v\u00e0 gi\u00e1 tr\u1ecb \u0111\u1ed1i s\u1ed1 t\u01b0\u01a1ng \u1ee9ng khi g\u1ecdi h\u00e0m, s\u1eed d\u1ee5ng c\u00fa ph\u00e1p <code>ten_tham_so=gia_tri<\/code>.<\/p>\n<p><strong>C\u01a1 ch\u1ebf ho\u1ea1t \u0111\u1ed9ng:<\/strong> Ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh t\u00ecm tham s\u1ed1 c\u00f3 t\u00ean tr\u00f9ng kh\u1edbp v\u00e0 g\u00e1n gi\u00e1 tr\u1ecb \u0111\u1ed1i s\u1ed1 cho n\u00f3, <strong>kh\u00f4ng ph\u1ee5 thu\u1ed9c v\u00e0o v\u1ecb tr\u00ed<\/strong>.<\/p>\n<p><strong>\u01afu \u0111i\u1ec3m:<\/strong> Code r\u00f5 r\u00e0ng, d\u1ec5 \u0111\u1ecdc h\u01a1n v\u00ec b\u1ea1n bi\u1ebft ch\u00ednh x\u00e1c gi\u00e1 tr\u1ecb n\u00e0o \u0111\u01b0\u1ee3c g\u00e1n cho tham s\u1ed1 n\u00e0o. Kh\u00f4ng c\u1ea7n nh\u1edb th\u1ee9 t\u1ef1 tham s\u1ed1. Cho ph\u00e9p b\u1ecf qua c\u00e1c tham s\u1ed1 c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh (s\u1ebd n\u00f3i \u1edf ph\u1ea7n sau). <strong>Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/strong> Vi\u1ebft d\u00e0i h\u01a1n m\u1ed9t ch\u00fat so v\u1edbi positional arguments.<\/p>\n<p><strong>V\u00ed d\u1ee5 (Python):<\/strong><\/p>\n<p>Python<\/p>\n<pre><code class=\"language-plaintext\">def gioi_thieu(ten, tuoi, thanh_pho):\r\n  \"\"\"H\u00e0m gi\u1edbi thi\u1ec7u th\u00f4ng tin c\u00e1 nh\u00e2n.\"\"\"\r\n  print(f\"T\u00ean t\u00f4i l\u00e0 {ten}.\")\r\n  print(f\"T\u00f4i {tuoi} tu\u1ed5i.\")\r\n  print(f\"T\u00f4i \u0111\u1ebfn t\u1eeb {thanh_pho}.\")\r\n\r\n# G\u1ecdi h\u00e0m v\u1edbi \u0111\u1ed1i s\u1ed1 theo t\u1eeb kh\u00f3a (th\u1ee9 t\u1ef1 kh\u00f4ng quan tr\u1ecdng)\r\ngioi_thieu(tuoi=25, thanh_pho=\"\u0110\u00e0 N\u1eb5ng\", ten=\"Ch\u00e2u\")\r\n# Output:\r\n# T\u00ean t\u00f4i l\u00e0 Ch\u00e2u.\r\n# T\u00f4i 25 tu\u1ed5i.\r\n# T\u00f4i \u0111\u1ebfn t\u1eeb \u0110\u00e0 N\u1eb5ng.\r\n\r\n# C\u00f3 th\u1ec3 k\u1ebft h\u1ee3p positional v\u00e0 keyword (positional ph\u1ea3i \u0111\u1ee9ng tr\u01b0\u1edbc)\r\ngioi_thieu(\"D\u0169ng\", thanh_pho=\"TP.HCM\", tuoi=28)\r\n# Output:\r\n# T\u00ean t\u00f4i l\u00e0 D\u0169ng.\r\n# T\u00f4i 28 tu\u1ed5i.\r\n# T\u00f4i \u0111\u1ebfn t\u1eeb TP.HCM.\r\n<\/code><\/pre>\n<p>V\u1edbi keyword arguments, th\u1ee9 t\u1ef1 <code>tuoi<\/code>, <code>thanh_pho<\/code>, <code>ten<\/code> trong l\u1eddi g\u1ecdi h\u00e0m kh\u00f4ng quan tr\u1ecdng, mi\u1ec5n l\u00e0 t\u00ean kh\u1edbp v\u1edbi tham s\u1ed1 trong \u0111\u1ecbnh ngh\u0129a h\u00e0m.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3-Su-dung-Doi-so-mac-dinh-Default-Arguments\"><\/span>3. S\u1eed d\u1ee5ng \u0110\u1ed1i s\u1ed1 m\u1eb7c \u0111\u1ecbnh (Default Arguments)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00f4i khi, m\u1ed9t s\u1ed1 tham s\u1ed1 c\u1ee7a h\u00e0m th\u01b0\u1eddng c\u00f3 m\u1ed9t gi\u00e1 tr\u1ecb ph\u1ed5 bi\u1ebfn. Thay v\u00ec b\u1eaft bu\u1ed9c ng\u01b0\u1eddi d\u00f9ng ph\u1ea3i lu\u00f4n cung c\u1ea5p \u0111\u1ed1i s\u1ed1 cho ch\u00fang, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecbnh ngh\u0129a <strong>gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh (default value)<\/strong> cho tham s\u1ed1 ngay trong ph\u1ea7n \u0111\u1ecbnh ngh\u0129a h\u00e0m.<\/p>\n<p><strong>C\u01a1 ch\u1ebf ho\u1ea1t \u0111\u1ed9ng:<\/strong> N\u1ebfu khi g\u1ecdi h\u00e0m, b\u1ea1n <strong>kh\u00f4ng cung c\u1ea5p<\/strong> \u0111\u1ed1i s\u1ed1 cho tham s\u1ed1 c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh, th\u00ec h\u00e0m s\u1ebd t\u1ef1 \u0111\u1ed9ng s\u1eed d\u1ee5ng gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh \u0111\u00f3. N\u1ebfu b\u1ea1n <strong>c\u00f3 cung c\u1ea5p<\/strong> \u0111\u1ed1i s\u1ed1, gi\u00e1 tr\u1ecb b\u1ea1n cung c\u1ea5p s\u1ebd ghi \u0111\u00e8 l\u00ean gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh.<\/p>\n<p><strong>L\u01b0u \u00fd quan tr\u1ecdng:<\/strong> Trong nhi\u1ec1u ng\u00f4n ng\u1eef (nh\u01b0 Python), c\u00e1c tham s\u1ed1 c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh ph\u1ea3i \u0111\u01b0\u1ee3c \u0111\u1eb7t <strong>sau<\/strong> c\u00e1c tham s\u1ed1 kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh trong danh s\u00e1ch tham s\u1ed1 khi \u0111\u1ecbnh ngh\u0129a h\u00e0m.<\/p>\n<p><strong>\u01afu \u0111i\u1ec3m:<\/strong> Gi\u00fap l\u1eddi g\u1ecdi h\u00e0m ng\u1eafn g\u1ecdn h\u01a1n khi c\u00e1c gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh l\u00e0 ph\u00f9 h\u1ee3p. T\u0103ng t\u00ednh linh ho\u1ea1t cho h\u00e0m. <strong>Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/strong> C\u1ea7n c\u1ea9n th\u1eadn khi s\u1eed d\u1ee5ng gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh l\u00e0 c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng c\u00f3 th\u1ec3 thay \u0111\u1ed5i (mutable objects) nh\u01b0 list ho\u1eb7c dictionary trong Python, v\u00ec ch\u00fang c\u00f3 th\u1ec3 g\u00e2y ra h\u00e0nh vi kh\u00f4ng mong mu\u1ed1n.<\/p>\n<p><strong>V\u00ed d\u1ee5 (Python):<\/strong><\/p>\n<p>Python<\/p>\n<pre><code class=\"language-plaintext\">def gui_loi_nhan(nguoi_nhan, loi_nhan, nguoi_gui=\"H\u1ec7 th\u1ed1ng\"): # 'nguoi_gui' c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh\r\n  \"\"\"H\u00e0m g\u1eedi l\u1eddi nh\u1eafn.\"\"\"\r\n  print(f\"G\u1eedi t\u1edbi: {nguoi_nhan}\")\r\n  print(f\"L\u1eddi nh\u1eafn: {loi_nhan}\")\r\n  print(f\"Ng\u01b0\u1eddi g\u1eedi: {nguoi_gui}\")\r\n  print(\"-\" * 10)\r\n\r\n# G\u1ecdi h\u00e0m kh\u00f4ng cung c\u1ea5p 'nguoi_gui', s\u1ebd d\u00f9ng gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh \"H\u1ec7 th\u1ed1ng\"\r\ngui_loi_nhan(\"Anh Khoa\", \"Ch\u00fac m\u1eebng sinh nh\u1eadt!\")\r\n# Output:\r\n# G\u1eedi t\u1edbi: Anh Khoa\r\n# L\u1eddi nh\u1eafn: Ch\u00fac m\u1eebng sinh nh\u1eadt!\r\n# Ng\u01b0\u1eddi g\u1eedi: H\u1ec7 th\u1ed1ng\r\n# ----------\r\n\r\n# G\u1ecdi h\u00e0m v\u00e0 cung c\u1ea5p 'nguoi_gui', ghi \u0111\u00e8 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh\r\ngui_loi_nhan(\"Ch\u1ecb Mai\", \"H\u1eb9n g\u1eb7p v\u00e0o cu\u1ed1i tu\u1ea7n.\", nguoi_gui=\"Em Lan\")\r\n# Output:\r\n# G\u1eedi t\u1edbi: Ch\u1ecb Mai\r\n# L\u1eddi nh\u1eafn: H\u1eb9n g\u1eb7p v\u00e0o cu\u1ed1i tu\u1ea7n.\r\n# Ng\u01b0\u1eddi g\u1eedi: Em Lan\r\n# ----------\r\n<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"4-Doi-so-co-do-dai-thay-doi-Variable-length-Arguments\"><\/span>4. \u0110\u1ed1i s\u1ed1 c\u00f3 \u0111\u1ed9 d\u00e0i thay \u0111\u1ed5i (Variable-length Arguments)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, b\u1ea1n mu\u1ed1n h\u00e0m c\u00f3 th\u1ec3 ch\u1ea5p nh\u1eadn m\u1ed9t <strong>s\u1ed1 l\u01b0\u1ee3ng \u0111\u1ed1i s\u1ed1 kh\u00f4ng x\u00e1c \u0111\u1ecbnh tr\u01b0\u1edbc<\/strong>. V\u00ed d\u1ee5, h\u00e0m t\u00ednh t\u1ed5ng c\u1ee7a bao nhi\u00eau s\u1ed1 c\u0169ng \u0111\u01b0\u1ee3c, hay h\u00e0m x\u1eed l\u00fd c\u00e1c c\u1eb7p c\u1ea5u h\u00ecnh key-value t\u00f9y \u00fd. C\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh cung c\u1ea5p c\u01a1 ch\u1ebf \u0111\u1ec3 x\u1eed l\u00fd vi\u1ec7c n\u00e0y.<\/p>\n<p><strong>C\u01a1 ch\u1ebf ho\u1ea1t \u0111\u1ed9ng:<\/strong><\/p>\n<ul>\n<li><strong>\u0110\u1ed1i s\u1ed1 v\u1ecb tr\u00ed kh\u00f4ng x\u00e1c \u0111\u1ecbnh (vd: <\/strong><code><strong>*args<\/strong><\/code><strong> trong Python):<\/strong> Cho ph\u00e9p h\u00e0m nh\u1eadn m\u1ed9t s\u1ed1 l\u01b0\u1ee3ng b\u1ea5t k\u1ef3 c\u00e1c \u0111\u1ed1i s\u1ed1 v\u1ecb tr\u00ed. B\u00ean trong h\u00e0m, c\u00e1c \u0111\u1ed1i s\u1ed1 n\u00e0y \u0111\u01b0\u1ee3c g\u00f3i g\u1ecdn v\u00e0o m\u1ed9t tuple (trong Python) ho\u1eb7c m\u1ed9t c\u1ea5u tr\u00fac t\u01b0\u01a1ng t\u1ef1.<\/li>\n<li><strong>\u0110\u1ed1i s\u1ed1 t\u1eeb kh\u00f3a kh\u00f4ng x\u00e1c \u0111\u1ecbnh (vd: <\/strong><code><strong>**kwargs<\/strong><\/code><strong> trong Python):<\/strong> Cho ph\u00e9p h\u00e0m nh\u1eadn m\u1ed9t s\u1ed1 l\u01b0\u1ee3ng b\u1ea5t k\u1ef3 c\u00e1c \u0111\u1ed1i s\u1ed1 t\u1eeb kh\u00f3a. B\u00ean trong h\u00e0m, ch\u00fang \u0111\u01b0\u1ee3c g\u00f3i g\u1ecdn v\u00e0o m\u1ed9t dictionary (trong Python).<\/li>\n<\/ul>\n<p><strong>\u01afu \u0111i\u1ec3m:<\/strong> C\u1ef1c k\u1ef3 linh ho\u1ea1t, cho ph\u00e9p h\u00e0m x\u1eed l\u00fd nhi\u1ec1u lo\u1ea1i \u0111\u1ea7u v\u00e0o kh\u00e1c nhau m\u00e0 kh\u00f4ng c\u1ea7n \u0111\u1ecbnh ngh\u0129a tr\u01b0\u1edbc t\u1ea5t c\u1ea3 c\u00e1c tham s\u1ed1. <strong>Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/strong> C\u1ea7n x\u1eed l\u00fd c\u1ea9n th\u1eadn c\u00e1c \u0111\u1ed1i s\u1ed1 n\u00e0y b\u00ean trong h\u00e0m. C\u00f3 th\u1ec3 l\u00e0m ch\u1eef k\u00fd h\u00e0m (function signature) k\u00e9m r\u00f5 r\u00e0ng n\u1ebfu l\u1ea1m d\u1ee5ng.<\/p>\n<p><strong>V\u00ed d\u1ee5 (Python):<\/strong><\/p>\n<p>Python<\/p>\n<pre><code class=\"language-plaintext\">def tinh_tong_linh_hoat(*cac_so_hang): # *args: nh\u1eadn nhi\u1ec1u \u0111\u1ed1i s\u1ed1 v\u1ecb tr\u00ed\r\n  \"\"\"H\u00e0m t\u00ednh t\u1ed5ng c\u1ee7a m\u1ed9t s\u1ed1 l\u01b0\u1ee3ng s\u1ed1 h\u1ea1ng b\u1ea5t k\u1ef3.\"\"\"\r\n  print(f\"C\u00e1c \u0111\u1ed1i s\u1ed1 nh\u1eadn \u0111\u01b0\u1ee3c: {cac_so_hang}\") # cac_so_hang l\u00e0 m\u1ed9t tuple\r\n  tong = 0\r\n  for so in cac_so_hang:\r\n    tong += so\r\n  return tong\r\n\r\ndef in_thong_tin(**chi_tiet): # **kwargs: nh\u1eadn nhi\u1ec1u \u0111\u1ed1i s\u1ed1 t\u1eeb kh\u00f3a\r\n  \"\"\"H\u00e0m in ra c\u00e1c th\u00f4ng tin chi ti\u1ebft d\u01b0\u1edbi d\u1ea1ng key-value.\"\"\"\r\n  print(f\"C\u00e1c \u0111\u1ed1i s\u1ed1 nh\u1eadn \u0111\u01b0\u1ee3c: {chi_tiet}\") # chi_tiet l\u00e0 m\u1ed9t dictionary\r\n  for key, value in chi_tiet.items():\r\n    print(f\"- {key}: {value}\")\r\n\r\n# V\u00ed d\u1ee5 s\u1eed d\u1ee5ng *args\r\nprint(f\"T\u1ed5ng 1: {tinh_tong_linh_hoat(1, 2, 3)}\")\r\n# Output:\r\n# C\u00e1c \u0111\u1ed1i s\u1ed1 nh\u1eadn \u0111\u01b0\u1ee3c: (1, 2, 3)\r\n# T\u1ed5ng 1: 6\r\n\r\nprint(f\"T\u1ed5ng 2: {tinh_tong_linh_hoat(10, 20, 30, 40, 50)}\")\r\n# Output:\r\n# C\u00e1c \u0111\u1ed1i s\u1ed1 nh\u1eadn \u0111\u01b0\u1ee3c: (10, 20, 30, 40, 50)\r\n# T\u1ed5ng 2: 150\r\n\r\nprint(\"-\" * 10)\r\n\r\n# V\u00ed d\u1ee5 s\u1eed d\u1ee5ng **kwargs\r\nin_thong_tin(ten=\"V\u0103n\", tuoi=22, nghe_nghiep=\"L\u1eadp tr\u00ecnh vi\u00ean\", thanh_pho=\"Hu\u1ebf\")\r\n# Output:\r\n# C\u00e1c \u0111\u1ed1i s\u1ed1 nh\u1eadn \u0111\u01b0\u1ee3c: {'ten': 'V\u0103n', 'tuoi': 22, 'nghe_nghiep': 'L\u1eadp tr\u00ecnh vi\u00ean', 'thanh_pho': 'Hu\u1ebf'}\r\n# - ten: V\u0103n\r\n# - tuoi: 22\r\n# - nghe_nghiep: L\u1eadp tr\u00ecnh vi\u00ean\r\n# - thanh_pho: Hu\u1ebf\r\n<\/code><\/pre>\n<p>Vi\u1ec7c n\u1eafm v\u1eefng c\u00e1c c\u00e1ch truy\u1ec1n \u0111\u1ed1i s\u1ed1 n\u00e0y gi\u00fap b\u1ea1n t\u1eadn d\u1ee5ng t\u1ed1i \u0111a s\u1ee9c m\u1ea1nh c\u1ee7a h\u00e0m trong ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh b\u1ea1n \u0111ang s\u1eed d\u1ee5ng.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/Doi-so-Argument-01.jpg\" alt=\"\u0110\u1ed1i s\u1ed1 (Argument) 01\" width=\"750\" height=\"404\" class=\"aligncenter size-full wp-image-27500\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/Doi-so-Argument-01.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/Doi-so-Argument-01-300x162.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Vi-du-minh-hoa-Doi-so-trong-cac-ngon-ngu-lap-trinh-pho-bien\"><\/span>V\u00ed d\u1ee5 minh h\u1ecda \u0110\u1ed1i s\u1ed1 trong c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh ph\u1ed5 bi\u1ebfn<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>L\u00fd thuy\u1ebft s\u1ebd d\u1ec5 hi\u1ec3u h\u01a1n khi \u0111i k\u00e8m v\u1edbi v\u00ed d\u1ee5 th\u1ef1c t\u1ebf. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1ch kh\u00e1i ni\u1ec7m \u0111\u1ed1i s\u1ed1 v\u00e0 c\u00e1c ki\u1ec3u truy\u1ec1n \u0111\u1ed1i s\u1ed1 \u0111\u01b0\u1ee3c th\u1ec3 hi\u1ec7n trong hai ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh r\u1ea5t ph\u1ed5 bi\u1ebfn v\u1edbi ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u: Python v\u00e0 JavaScript.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Vi-du-voi-Python\"><\/span>V\u00ed d\u1ee5 v\u1edbi Python<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Python h\u1ed7 tr\u1ee3 \u0111\u1ea7y \u0111\u1ee7 c\u00e1c c\u00e1ch truy\u1ec1n \u0111\u1ed1i s\u1ed1 ch\u00fang ta \u0111\u00e3 th\u1ea3o lu\u1eadn: positional, keyword, default, v\u00e0 variable-length (<code>*args<\/code>, <code>**kwargs<\/code>).<\/p>\n<p>Python<\/p>\n<pre><code class=\"language-plaintext\"># \u0110\u1ecbnh ngh\u0129a h\u00e0m v\u1edbi c\u00e1c lo\u1ea1i tham s\u1ed1 kh\u00e1c nhau\r\ndef thong_tin_san_pham(ten_sp, gia, so_luong=1, *ghi_chu, **thong_so_ky_thuat):\r\n  \"\"\"H\u00e0m m\u00f4 t\u1ea3 th\u00f4ng tin s\u1ea3n ph\u1ea9m \u0111a d\u1ea1ng.\"\"\"\r\n  print(f\"--- Th\u00f4ng tin s\u1ea3n ph\u1ea9m ---\")\r\n  print(f\"T\u00ean: {ten_sp}\")\r\n  print(f\"Gi\u00e1: {gia} VND\")\r\n  print(f\"S\u1ed1 l\u01b0\u1ee3ng: {so_luong}\") # Tham s\u1ed1 c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh\r\n\r\n  if ghi_chu: # X\u1eed l\u00fd *args (tuple)\r\n    print(\"Ghi ch\u00fa th\u00eam:\")\r\n    for note in ghi_chu:\r\n      print(f\"- {note}\")\r\n\r\n  if thong_so_ky_thuat: # X\u1eed l\u00fd **kwargs (dictionary)\r\n    print(\"Th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt:\")\r\n    for key, value in thong_so_ky_thuat.items():\r\n      print(f\"- {key}: {value}\")\r\n  print(\"-\" * 25)\r\n\r\n# --- C\u00e1c c\u00e1ch g\u1ecdi h\u00e0m ---\r\n\r\n# 1. Ch\u1ec9 d\u00f9ng Positional Arguments\r\nthong_tin_san_pham(\"Laptop XYZ\", 20000000)\r\n\r\n# 2. K\u1ebft h\u1ee3p Positional v\u00e0 Default (s\u1ed1 l\u01b0\u1ee3ng s\u1ebd l\u00e0 1)\r\nthong_tin_san_pham(\"B\u00e0n ph\u00edm c\u01a1\", 1500000)\r\n\r\n# 3. S\u1eed d\u1ee5ng Keyword Arguments (ghi \u0111\u00e8 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh)\r\nthong_tin_san_pham(ten_sp=\"M\u00e0n h\u00ecnh ABC\", gia=5000000, so_luong=2)\r\n\r\n# 4. S\u1eed d\u1ee5ng *args\r\nthong_tin_san_pham(\"Chu\u1ed9t kh\u00f4ng d\u00e2y\", 300000, 5, \"B\u1ea3o h\u00e0nh 1 n\u0103m\", \"Pin s\u1ea1c\")\r\n\r\n# 5. S\u1eed d\u1ee5ng **kwargs\r\nthong_tin_san_pham(\"Webcam HD\", 800000, mau_sac=\"\u0110en\", do_phan_giai=\"1080p\")\r\n\r\n# 6. K\u1ebft h\u1ee3p t\u1ea5t c\u1ea3\r\nthong_tin_san_pham(\"Tai nghe Bluetooth\", 1200000, 3, \"Ch\u1ed1ng \u1ed3n\", \"Pin 8h\", hang=\"Sony\", ket_noi=\"Bluetooth 5.0\")\r\n<\/code><\/pre>\n<p><strong>Gi\u1ea3i th\u00edch Output (v\u00ed d\u1ee5 6):<\/strong><\/p>\n<ul>\n<li><code>\"Tai nghe Bluetooth\"<\/code> v\u00e0 <code>1200000<\/code> l\u00e0 positional arguments cho <code>ten_sp<\/code> v\u00e0 <code>gia<\/code>.<\/li>\n<li><code>3<\/code> l\u00e0 positional argument ghi \u0111\u00e8 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh c\u1ee7a <code>so_luong<\/code>.<\/li>\n<li><code>\"Ch\u1ed1ng \u1ed3n\"<\/code> v\u00e0 <code>\"Pin 8h\"<\/code> \u0111\u01b0\u1ee3c gom v\u00e0o tuple <code>ghi_chu<\/code> (*args).<\/li>\n<li><code>hang=\"Sony\"<\/code> v\u00e0 <code>ket_noi=\"Bluetooth 5.0\"<\/code> \u0111\u01b0\u1ee3c gom v\u00e0o dictionary <code>thong_so_ky_thuat<\/code> (**kwargs).<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Vi-du-voi-JavaScript\"><\/span>V\u00ed d\u1ee5 v\u1edbi JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>JavaScript c\u0169ng c\u00f3 kh\u00e1i ni\u1ec7m \u0111\u1ed1i s\u1ed1, m\u1eb7c d\u00f9 c\u00e1ch x\u1eed l\u00fd c\u00f3 m\u1ed9t s\u1ed1 kh\u00e1c bi\u1ec7t so v\u1edbi Python, \u0111\u1eb7c bi\u1ec7t l\u00e0 tr\u01b0\u1edbc phi\u00ean b\u1ea3n ES6 (ECMAScript 2015).<\/p>\n<p>JavaScript<\/p>\n<pre><code class=\"language-plaintext\">\/\/ \u0110\u1ecbnh ngh\u0129a h\u00e0m trong JavaScript (ES6+)\r\n\r\nfunction gioiThieuNhanVien(ten, tuoi, chucVu = \"Nh\u00e2n vi\u00ean\", ...cacKyNang) {\r\n  \/\/ chucVu: Tham s\u1ed1 c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh (Default Parameter)\r\n  \/\/ ...cacKyNang: Tham s\u1ed1 c\u00f2n l\u1ea1i (Rest Parameter) - t\u01b0\u01a1ng t\u1ef1 *args\r\n  console.log(\"--- Th\u00f4ng tin nh\u00e2n vi\u00ean ---\");\r\n  console.log(`T\u00ean: ${ten}`);\r\n  console.log(`Tu\u1ed5i: ${tuoi}`);\r\n  console.log(`Ch\u1ee9c v\u1ee5: ${chucVu}`); \/\/ S\u1ebd d\u00f9ng \"Nh\u00e2n vi\u00ean\" n\u1ebfu kh\u00f4ng \u0111\u01b0\u1ee3c truy\u1ec1n\r\n\r\n  if (cacKyNang.length &gt; 0) {\r\n    console.log(\"K\u1ef9 n\u0103ng:\");\r\n    cacKyNang.forEach(kyNang =&gt; { \/\/ cacKyNang l\u00e0 m\u1ed9t Array\r\n      console.log(`- ${kyNang}`);\r\n    });\r\n  }\r\n  console.log(\"-------------------------\");\r\n}\r\n\r\n\/\/ --- C\u00e1c c\u00e1ch g\u1ecdi h\u00e0m ---\r\n\r\n\/\/ 1. Truy\u1ec1n \u0111\u1ed1i s\u1ed1 c\u01a1 b\u1ea3n (Positional)\r\ngioiThieuNhanVien(\"H\u01b0\u01a1ng\", 28); \/\/ chucVu s\u1ebd l\u00e0 \"Nh\u00e2n vi\u00ean\"\r\n\r\n\/\/ 2. Truy\u1ec1n \u0111\u1ed1i s\u1ed1 ghi \u0111\u00e8 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh\r\ngioiThieuNhanVien(\"Minh\", 35, \"Tr\u01b0\u1edfng ph\u00f2ng\");\r\n\r\n\/\/ 3. S\u1eed d\u1ee5ng Rest Parameters (...cacKyNang)\r\ngioiThieuNhanVien(\"Linh\", 24, \"Th\u1ef1c t\u1eadp sinh\", \"JavaScript\", \"React\", \"Node.js\");\r\n\r\n\/\/ L\u01b0u \u00fd: JavaScript kh\u00f4ng c\u00f3 s\u1eb5n keyword arguments nh\u01b0 Python.\r\n\/\/ Tuy nhi\u00ean, b\u1ea1n c\u00f3 th\u1ec3 m\u00f4 ph\u1ecfng b\u1eb1ng c\u00e1ch truy\u1ec1n v\u00e0o m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng (object)\r\n\r\nfunction cauHinhHeThong(config) {\r\n  \/\/ Gi\u1ea3 \u0111\u1ecbnh config l\u00e0 m\u1ed9t object ch\u1ee9a c\u00e1c c\u00e0i \u0111\u1eb7t\r\n  const mayChu = config.mayChu || \"localhost\"; \/\/ Gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh n\u1ebfu kh\u00f4ng c\u00f3\r\n  const cong = config.cong || 8080;\r\n  const cheDo = config.cheDo || \"production\";\r\n\r\n  console.log(\"--- C\u1ea5u h\u00ecnh h\u1ec7 th\u1ed1ng ---\");\r\n  console.log(`M\u00e1y ch\u1ee7: ${mayChu}`);\r\n  console.log(`C\u1ed5ng: ${cong}`);\r\n  console.log(`Ch\u1ebf \u0111\u1ed9: ${cheDo}`);\r\n  console.log(\"------------------------\");\r\n}\r\n\r\n\/\/ G\u1ecdi h\u00e0m b\u1eb1ng c\u00e1ch truy\u1ec1n object (m\u00f4 ph\u1ecfng keyword arguments)\r\ncauHinhHeThong({ cong: 3000, cheDo: \"development\" });\r\ncauHinhHeThong({ mayChu: \"api.example.com\" });\r\n<\/code><\/pre>\n<p><strong>Gi\u1ea3i th\u00edch:<\/strong><\/p>\n<ul>\n<li>JavaScript ES6 gi\u1edbi thi\u1ec7u <strong>Default Parameters<\/strong> (<code>chucVu = \"Nh\u00e2n vi\u00ean\"<\/code>) v\u00e0 <strong>Rest Parameters<\/strong> (<code>...cacKyNang<\/code>) \u0111\u1ec3 x\u1eed l\u00fd c\u00e1c tr\u01b0\u1eddng h\u1ee3p t\u01b0\u01a1ng t\u1ef1 default arguments v\u00e0 <code>*args<\/code> trong Python. Rest parameters gom c\u00e1c \u0111\u1ed1i s\u1ed1 v\u1ecb tr\u00ed c\u00f2n l\u1ea1i th\u00e0nh m\u1ed9t m\u1ea3ng (Array).<\/li>\n<li>\u0110\u1ec3 m\u00f4 ph\u1ecfng <strong>Keyword Arguments<\/strong>, m\u1ed9t k\u1ef9 thu\u1eadt ph\u1ed5 bi\u1ebfn l\u00e0 truy\u1ec1n v\u00e0o h\u00e0m m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng (object literal <code>{}<\/code>) ch\u1ee9a c\u00e1c c\u1eb7p key-value. B\u00ean trong h\u00e0m, b\u1ea1n truy c\u1eadp c\u00e1c thu\u1ed9c t\u00ednh c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u00f3.<\/li>\n<\/ul>\n<p>Qua c\u00e1c v\u00ed d\u1ee5 n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y d\u00f9 c\u00fa ph\u00e1p c\u00f3 th\u1ec3 kh\u00e1c nhau, \u00fd t\u01b0\u1edfng c\u1ed1t l\u00f5i v\u1ec1 vi\u1ec7c s\u1eed d\u1ee5ng \u0111\u1ed1i s\u1ed1 \u0111\u1ec3 truy\u1ec1n d\u1eef li\u1ec7u v\u00e0o h\u00e0m l\u00e0 t\u01b0\u01a1ng \u0111\u1ed3ng gi\u1eefa c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh.<\/p>\n<div style=\"background-color: #e6f2ff; border-radius: 10px; padding: 20px; margin: 20px 0; border: 1px solid #b3d9ff;\">\n<p><strong>C\u00d3 TH\u1ec2 B\u1ea0N QUAN T\u00c2M<\/strong><\/p>\n<p>\u0110\u1ec3 ch\u1ea1y th\u1eed code, ph\u00e1t tri\u1ec3n d\u1ef1 \u00e1n ho\u1eb7c host \u1ee9ng d\u1ee5ng \u1ed5n \u0111\u1ecbnh, m\u1ed9t m\u00f4i tr\u01b0\u1eddng m\u1ea1nh m\u1ebd l\u00e0 r\u1ea5t c\u1ea7n thi\u1ebft. InterData cung c\u1ea5p <strong><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/interdata.vn\/thue-vps\/\">d\u1ecbch v\u1ee5 thu\u00ea VPS gi\u00e1 r\u1ebb &#8211; uy t\u00edn &#8211; t\u1ed1c \u0111\u1ed9 cao<\/a><\/strong> ch\u1ec9 t\u1eeb 3K\/ng\u00e0y, x\u00e2y d\u1ef1ng tr\u00ean n\u1ec1n t\u1ea3ng ph\u1ea7n c\u1ee9ng <a href=\"https:\/\/interdata.vn\/blog\/cpu-amd-epyc\/\">AMD EPYC<\/a> Gen 3th, SSD NVMe U.2 v\u00e0 <a href=\"https:\/\/interdata.vn\/blog\/bang-thong-la-gi\/\">b\u0103ng th\u00f4ng<\/a> cao.<\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Nhung-loi-thuong-gap-khi-lam-viec-voi-Doi-so-va-cach-khac-phuc\"><\/span>Nh\u1eefng l\u1ed7i th\u01b0\u1eddng g\u1eb7p khi l\u00e0m vi\u1ec7c v\u1edbi \u0110\u1ed1i s\u1ed1 v\u00e0 c\u00e1ch kh\u1eafc ph\u1ee5c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Khi m\u1edbi l\u00e0m quen v\u1edbi \u0111\u1ed1i s\u1ed1 v\u00e0 tham s\u1ed1, b\u1ea1n c\u00f3 th\u1ec3 g\u1eb7p m\u1ed9t s\u1ed1 l\u1ed7i ph\u1ed5 bi\u1ebfn. Nh\u1eadn bi\u1ebft \u0111\u01b0\u1ee3c ch\u00fang s\u1ebd gi\u00fap b\u1ea1n g\u1ee1 l\u1ed7i (<a href=\"https:\/\/interdata.vn\/blog\/wordpress-debug-la-gi\/\">debug<\/a>) nhanh h\u01a1n.<\/p>\n<ol>\n<li><strong>L\u1ed7i sai s\u1ed1 l\u01b0\u1ee3ng \u0111\u1ed1i s\u1ed1 (TypeError: missing required positional argument \/ takes X positional arguments but Y were given):<\/strong>\n<ul>\n<li><strong>Nguy\u00ean nh\u00e2n:<\/strong> B\u1ea1n g\u1ecdi h\u00e0m v\u1edbi s\u1ed1 l\u01b0\u1ee3ng \u0111\u1ed1i s\u1ed1 \u00edt h\u01a1n ho\u1eb7c nhi\u1ec1u h\u01a1n s\u1ed1 l\u01b0\u1ee3ng tham s\u1ed1 m\u00e0 h\u00e0m \u0111\u00f3 y\u00eau c\u1ea7u (\u0111\u1ed1i v\u1edbi c\u00e1c tham s\u1ed1 b\u1eaft bu\u1ed9c, kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh).<\/li>\n<li><strong>Kh\u1eafc ph\u1ee5c:<\/strong> Ki\u1ec3m tra l\u1ea1i \u0111\u1ecbnh ngh\u0129a h\u00e0m \u0111\u1ec3 xem n\u00f3 c\u1ea7n bao nhi\u00eau tham s\u1ed1 b\u1eaft bu\u1ed9c. \u0110\u1ea3m b\u1ea3o b\u1ea1n cung c\u1ea5p \u0111\u1ee7 s\u1ed1 l\u01b0\u1ee3ng \u0111\u1ed1i s\u1ed1 t\u01b0\u01a1ng \u1ee9ng khi g\u1ecdi h\u00e0m.<\/li>\n<\/ul>\n<\/li>\n<li><strong>L\u1ed7i sai ki\u1ec3u d\u1eef li\u1ec7u \u0111\u1ed1i s\u1ed1 (TypeError \/ ValueError):<\/strong>\n<ul>\n<li><strong>Nguy\u00ean nh\u00e2n:<\/strong> B\u1ea1n truy\u1ec1n v\u00e0o m\u1ed9t \u0111\u1ed1i s\u1ed1 c\u00f3 ki\u1ec3u d\u1eef li\u1ec7u kh\u00f4ng ph\u00f9 h\u1ee3p v\u1edbi ph\u00e9p to\u00e1n ho\u1eb7c x\u1eed l\u00fd b\u00ean trong h\u00e0m (v\u00ed d\u1ee5: truy\u1ec1n chu\u1ed7i v\u00e0o h\u00e0m mong \u0111\u1ee3i s\u1ed1 \u0111\u1ec3 t\u00ednh to\u00e1n).<\/li>\n<li><strong>Kh\u1eafc ph\u1ee5c:<\/strong> \u0110\u1ea3m b\u1ea3o ki\u1ec3u d\u1eef li\u1ec7u c\u1ee7a \u0111\u1ed1i s\u1ed1 b\u1ea1n truy\u1ec1n v\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u d\u1eef li\u1ec7u m\u00e0 h\u00e0m mong \u0111\u1ee3i ho\u1eb7c c\u00f3 th\u1ec3 x\u1eed l\u00fd \u0111\u01b0\u1ee3c. \u0110\u1ecdc k\u1ef9 t\u00e0i li\u1ec7u ho\u1eb7c <a href=\"https:\/\/interdata.vn\/blog\/source-code-la-gi\/\">m\u00e3 ngu\u1ed3n<\/a> c\u1ee7a h\u00e0m n\u1ebfu c\u1ea7n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Nh\u1ea7m l\u1eabn th\u1ee9 t\u1ef1 \u0111\u1ed1i s\u1ed1 v\u1ecb tr\u00ed:<\/strong>\n<ul>\n<li><strong>Nguy\u00ean nh\u00e2n:<\/strong> Khi s\u1eed d\u1ee5ng positional arguments, b\u1ea1n truy\u1ec1n c\u00e1c gi\u00e1 tr\u1ecb kh\u00f4ng \u0111\u00fang th\u1ee9 t\u1ef1 so v\u1edbi th\u1ee9 t\u1ef1 tham s\u1ed1 trong \u0111\u1ecbnh ngh\u0129a h\u00e0m. L\u1ed7i n\u00e0y th\u01b0\u1eddng kh\u00f4ng g\u00e2y ra l\u1ed7i ch\u01b0\u01a1ng tr\u00ecnh d\u1eebng l\u1ea1i (crash) nh\u01b0ng d\u1eabn \u0111\u1ebfn k\u1ebft qu\u1ea3 sai logic.<\/li>\n<li><strong>Kh\u1eafc ph\u1ee5c:<\/strong> Ki\u1ec3m tra k\u1ef9 th\u1ee9 t\u1ef1 tham s\u1ed1 trong \u0111\u1ecbnh ngh\u0129a h\u00e0m v\u00e0 \u0111\u1ea3m b\u1ea3o b\u1ea1n truy\u1ec1n \u0111\u1ed1i s\u1ed1 theo \u0111\u00fang th\u1ee9 t\u1ef1 \u0111\u00f3. C\u00e2n nh\u1eafc s\u1eed d\u1ee5ng keyword arguments \u0111\u1ec3 t\u0103ng t\u00ednh r\u00f5 r\u00e0ng v\u00e0 tr\u00e1nh l\u1ed7i n\u00e0y, \u0111\u1eb7c bi\u1ec7t v\u1edbi c\u00e1c h\u00e0m c\u00f3 nhi\u1ec1u tham s\u1ed1.<\/li>\n<\/ul>\n<\/li>\n<li><strong>S\u1eed d\u1ee5ng gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh l\u00e0 \u0111\u1ed1i t\u01b0\u1ee3ng thay \u0111\u1ed5i \u0111\u01b0\u1ee3c (Mutable Default Arguments &#8211; l\u1ed7i ti\u1ec1m \u1ea9n trong Python):<\/strong>\n<ul>\n<li><strong>Nguy\u00ean nh\u00e2n:<\/strong> N\u1ebfu b\u1ea1n d\u00f9ng list ho\u1eb7c dictionary l\u00e0m gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh cho tham s\u1ed1 trong Python, gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh n\u00e0y ch\u1ec9 \u0111\u01b0\u1ee3c t\u1ea1o m\u1ed9t l\u1ea7n khi h\u00e0m \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a. C\u00e1c l\u1ea7n g\u1ecdi h\u00e0m sau \u0111\u00f3 n\u1ebfu s\u1eeda \u0111\u1ed5i \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u00f3 s\u1ebd \u1ea3nh h\u01b0\u1edfng l\u1eabn nhau.<\/li>\n<li><strong>Kh\u1eafc ph\u1ee5c:<\/strong> Quy t\u1eafc ph\u1ed5 bi\u1ebfn l\u00e0 tr\u00e1nh d\u00f9ng list ho\u1eb7c dictionary l\u00e0m gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh tr\u1ef1c ti\u1ebfp. Thay v\u00e0o \u0111\u00f3, h\u00e3y \u0111\u1eb7t gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh l\u00e0 <code>None<\/code> v\u00e0 ki\u1ec3m tra b\u00ean trong h\u00e0m, n\u1ebfu l\u00e0 <code>None<\/code> th\u00ec m\u1edbi kh\u1edfi t\u1ea1o list\/dictionary m\u1edbi.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Vi\u1ec7c ch\u00fa \u00fd \u0111\u1ebfn nh\u1eefng l\u1ed7i n\u00e0y v\u00e0 hi\u1ec3u nguy\u00ean nh\u00e2n s\u1ebd gi\u00fap b\u1ea1n vi\u1ebft code ch\u00ednh x\u00e1c v\u00e0 \u0111\u00e1ng tin c\u1eady h\u01a1n khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c h\u00e0m v\u00e0 \u0111\u1ed1i s\u1ed1 c\u1ee7a ch\u00fang.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>N\u1eafm v\u1eefng c\u00e1ch s\u1eed d\u1ee5ng \u0110\u1ed1i s\u1ed1 (Argument) l\u00e0 b\u01b0\u1edbc quan tr\u1ecdng \u0111\u1ec3 vi\u1ebft code hi\u1ec7u qu\u1ea3 v\u00e0 linh ho\u1ea1t h\u01a1n. B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn b\u1ea1n t\u1eeb A-Z: b\u1eaft \u0111\u1ea7u t\u1eeb kh\u00e1i ni\u1ec7m \u0110\u1ed1i s\u1ed1 l\u00e0 g\u00ec, l\u00fd do n\u00ean d\u00f9ng ch\u00fang, \u0111\u1ebfn vi\u1ec7c ph\u00e2n bi\u1ec7t t\u01b0\u1eddng t\u1eadn v\u1edbi Tham s\u1ed1 (Parameter). Ti\u1ebfp<\/p>\n","protected":false},"author":2,"featured_media":27498,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[140],"tags":[],"class_list":["post-27488","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lap-trinh"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=27488"}],"version-history":[{"count":3,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27488\/revisions"}],"predecessor-version":[{"id":27502,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27488\/revisions\/27502"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/27498"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=27488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=27488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=27488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}