Python: variable arguments | Tecnobits

ອັບເດດຫຼ້າສຸດ: 28/10/2023

ໃນໂລກ ຂອງ​ໂຄງ​ການ​, Python: variable arguments | Tecnobits ມັນເປັນຫົວຂໍ້ທີ່ສໍາຄັນທີ່ນັກພັດທະນາທຸກຄົນຕ້ອງເປັນແມ່ບົດ. ການໂຕ້ຖຽງຕົວແປໃນ Python ອະນຸຍາດໃຫ້ນັກຂຽນໂປລແກລມສາມາດຜ່ານຈໍານວນອາກິວເມັນທີ່ຕົນເອງມັກໄປຫາຟັງຊັນ, ເຊິ່ງເປັນປະໂຫຍດຫຼາຍໃນສະຖານະການທີ່ທ່ານບໍ່ຮູ້ລ່ວງຫນ້າວ່າເຈົ້າຕ້ອງການຈໍານວນການໂຕ້ຖຽງເທົ່າໃດ. ດ້ວຍຄວາມຊ່ອຍເຫລືອຂອງການໂຕ້ຖຽງຕົວແປ, ມັນເປັນໄປໄດ້ທີ່ຈະຂຽນລະຫັດທີ່ມີຄວາມຍືດຫຍຸ່ນແລະຮັກສາໄດ້ຫຼາຍຂຶ້ນ. ໃນບົດຄວາມນີ້, ພວກເຮົາຈະຄົ້ນຫາຢ່າງເລິກເຊິ່ງກ່ຽວກັບການນໍາໃຊ້ການໂຕ້ຖຽງຕົວແປໃນ Python ແລະວິທີການທີ່ຈະໄດ້ຮັບຜົນປະໂຫຍດສູງສຸດໃນໂຄງການຂອງພວກເຮົາ. ອ່ານເພື່ອກາຍເປັນຜູ້ຊ່ຽວຊານໃນລັກສະນະທີ່ມີປະສິດທິພາບຂອງພາສາ Python!

ຂັ້ນຕອນໂດຍຂັ້ນຕອນ ➡️ Python: variable arguments | Tecnobits

Python: variable arguments | Tecnobits

  • ການໂຕ້ຖຽງຕົວແປແມ່ນຫຍັງ: ອາກິວເມັນຕົວແປໃນ Python ອະນຸຍາດໃຫ້ທ່ານຜ່ານຈໍານວນຕົວແປຂອງ argument ໄປຫາຟັງຊັນ. ນີ້ຫມາຍຄວາມວ່າພວກເຮົາບໍ່ຈໍາເປັນຕ້ອງກໍານົດລ່ວງຫນ້າວ່າຈໍານວນ arguments ຈະຖືກສົ່ງກັບຫນ້າທີ່.
  • ປະໂຫຍດຂອງການໂຕ້ຖຽງຕົວແປ: ການໂຕ້ຖຽງຕົວແປແມ່ນເປັນປະໂຫຍດເມື່ອພວກເຮົາບໍ່ຮູ້ວ່າພວກເຮົາຈໍາເປັນຕ້ອງໄດ້ສົ່ງຕໍ່ໄປຫາຫນ້າທີ່ໃດນຶ່ງ. ນີ້ເຮັດໃຫ້ພວກເຮົາມີຄວາມຍືດຫຍຸ່ນແລະອະນຸຍາດໃຫ້ພວກເຮົາຂຽນລະຫັດທີ່ມີປະສິດທິພາບແລະສະອາດກວ່າ.
  • ວິທີການໃຊ້ argument ຕົວແປໃນ Python: ເພື່ອໃຊ້ອາກິວເມັນຕົວແປໃນ Python, ພວກເຮົາໃຊ້ສັນຍາລັກດາວ (*) ຕາມດ້ວຍຊື່ຕົວແປ. ສໍາລັບຕົວຢ່າງ, ກໍານົດຫນ້າທີ່ຄ້າຍຄື def mi_funcion(*args) ຈະອະນຸຍາດໃຫ້ພວກເຮົາຜ່ານຈໍານວນຕົວແປຂອງ argument ກັບຟັງຊັນນັ້ນ.
  • ການເຂົ້າເຖິງອາກິວເມັນຕົວແປພາຍໃນຟັງຊັນ: ພາຍໃນຟັງຊັນ, ການໂຕ້ຖຽງທີ່ປ່ຽນແປງໄດ້ຖືກປະຕິບັດເປັນ tuple. ພວກເຮົາສາມາດເຂົ້າເຖິງແຕ່ລະ argument ແຕ່ລະຄົນໂດຍໃຊ້ indexing ຫຼື loop ຜ່ານພວກມັນໂດຍໃຊ້ for loop.
  • ຕົວ​ຢ່າງ​ການ​ນໍາ​ໃຊ້​: ຈິນຕະນາການວ່າພວກເຮົາຕ້ອງການຂຽນຫນ້າທີ່ຄິດໄລ່ຄ່າສະເລ່ຍຂອງຕົວເລກທີ່ກໍານົດໄວ້. ດ້ວຍການໂຕ້ຖຽງຕົວແປ, ພວກເຮົາສາມາດເຮັດໄດ້ດັ່ງນີ້:

    def calcular_promedio(*numeros):

        suma = sum(numeros)

        promedio = suma / len(numeros)

        return promedio

    ດຽວນີ້ພວກເຮົາສາມາດໂທຫາຟັງຊັນນີ້ຜ່ານຕົວເລກໃດ ໜຶ່ງ ທີ່ເປັນການໂຕ້ຖຽງ. ຍົກ​ຕົວ​ຢ່າງ, calcular_promedio(2, 4, 6, 8) ມັນຈະສົ່ງຄ່າສະເລ່ຍຂອງຕົວເລກເຫຼົ່ານັ້ນ.

  • ຂໍ້ຈຳກັດຂອງອາກິວເມັນທີ່ປ່ຽນແປງໄດ້: ເຖິງແມ່ນວ່າການໂຕ້ຖຽງທີ່ປ່ຽນແປງໄດ້ເປັນປະໂຫຍດຫຼາຍ, ມີຂໍ້ຈໍາກັດບາງຢ່າງທີ່ຈະຈື່ໄວ້. ຕົວຢ່າງ, ພວກເຮົາບໍ່ສາມາດສົມທົບການ arguments ທີ່ມີຊື່ໃນຫນ້າທີ່ດຽວກັນ.
  • ຂໍ້ສະຫຼຸບ: ການໂຕ້ຖຽງຕົວແປໃນ Python ແມ່ນຄຸນສົມບັດທີ່ມີປະສິດທິພາບທີ່ຊ່ວຍໃຫ້ພວກເຮົາຂຽນລະຫັດທີ່ມີຄວາມຍືດຫຍຸ່ນແລະມີປະສິດທິພາບຫຼາຍຂຶ້ນ. ພວກມັນມີປະໂຫຍດໂດຍສະເພາະເມື່ອພວກເຮົາບໍ່ຮູ້ວ່າພວກເຮົາຕ້ອງການຄ່າຫຼາຍເທົ່າໃດເພື່ອສົ່ງຕໍ່ຫນ້າທີ່ໃດຫນຶ່ງ. ດ້ວຍການນໍາໃຊ້ທີ່ຖືກຕ້ອງ, ພວກເຮົາສາມາດປັບປຸງລະຫັດຂອງພວກເຮົາແລະເຮັດໃຫ້ມັນມີຄວາມຫລາກຫລາຍຫຼາຍຂຶ້ນ.

ຖາມ & A

1. ການໂຕ້ຖຽງຕົວແປໃນ Python ແມ່ນຫຍັງ?

arguments ຕົວແປໃນ Python ແມ່ນຜູ້ທີ່ອະນຸຍາດໃຫ້ຟັງຊັນທີ່ຈະໄດ້ຮັບຈໍານວນຕົວແປຂອງຕົວກໍານົດການ. ອັນນີ້ເປັນປະໂຫຍດເມື່ອພວກເຮົາບໍ່ຮູ້ລ່ວງໜ້າຈໍານວນການໂຕ້ແຍ້ງທີ່ແນ່ນອນທີ່ຈະຖືກສົ່ງໄປຫາຟັງຊັນໃດໜຶ່ງ.

  1. ການໂຕ້ຖຽງຕົວແປໃນ Python ອະນຸຍາດໃຫ້ມີຄວາມຍືດຫຍຸ່ນໃນຈໍານວນພາລາມິເຕີທີ່ສາມາດສົ່ງກັບຫນ້າທີ່ໃດຫນຶ່ງ.
  2. ພວກເຂົາສາມາດຖືກນໍາໃຊ້ໃນທັງສອງຫນ້າທີ່ກໍານົດໂດຍຜູ້ໃຊ້ແລະຫນ້າທີ່ພາສາທີ່ກໍານົດໄວ້ກ່ອນ.
  3. ອາກິວເມັນຕົວແປແມ່ນສະແດງດ້ວຍເຄື່ອງໝາຍດາວ (*) ກ່ອນຊື່ພາຣາມິເຕີໃນນິຍາມຟັງຊັນ.
  4. ຄ່າຂອງອາກິວເມັນຕົວແປແມ່ນໄດ້ຮັບເປັນ tuple ພາຍໃນຟັງຊັນ.

2. ການໂຕ້ຖຽງຕົວແປຖືກໃຊ້ໃນ Python ແນວໃດ?

ເພື່ອໃຊ້ການໂຕ້ຖຽງຕົວແປໃນ Python, ວິທີການຕໍ່ໄປນີ້ຄວນປະຕິບັດຕາມ:

  1. ກຳນົດຟັງຊັນທີ່ມີຢ່າງໜ້ອຍໜຶ່ງພາຣາມິເຕີທີ່ເປັນຕົວແທນຂອງອາກິວເມັນທີ່ປ່ຽນແປງໄດ້, ໂດຍໃຊ້ເຄື່ອງໝາຍດາວ (*) ກ່ອນຊື່ພາຣາມິເຕີ.
  2. ໃຊ້ຄ່າຂອງອາກິວເມັນຕົວແປພາຍໃນຟັງຊັນຕາມຄວາມຕ້ອງການ.

3. ຂໍ້ດີຂອງການໃຊ້ arguments ປ່ຽນແປງໃນ Python ແມ່ນຫຍັງ?

ຂໍ້ດີຂອງການໃຊ້ການໂຕ້ຖຽງຕົວແປໃນ Python ແມ່ນດັ່ງຕໍ່ໄປນີ້:

  1. ມັນອະນຸຍາດໃຫ້ຈັດການຈໍານວນຕົວແປຂອງການໂຕ້ຖຽງການປ້ອນຂໍ້ມູນ, ໂດຍບໍ່ຈໍາເປັນຕ້ອງກໍານົດຫນ້າທີ່ຫຼາຍສໍາລັບກໍລະນີທີ່ແຕກຕ່າງກັນ.
  2. ເຮັດໃຫ້ລະຫັດງ່າຍຂຶ້ນໂດຍການຫຼີກເວັ້ນຄວາມຕ້ອງການທີ່ຈະລະບຸການໂຕ້ຖຽງທັງຫມົດກ່ອນ.
  3. ເພີ່ມຄວາມຢືດຢຸ່ນຂອງລະຫັດ ແລະການນຳໃຊ້ຄືນໄດ້.

4. ມັນເປັນການບັງຄັບທີ່ຈະໃຊ້ arguments ປ່ຽນແປງໃນຟັງຊັນ Python ບໍ?

ບໍ່, ມັນບໍ່ແມ່ນຂໍ້ບັງຄັບທີ່ຈະໃຊ້ arguments ຕົວແປໃນຟັງຊັນ Python. ການນໍາໃຊ້ຂອງມັນຂຶ້ນກັບຄວາມຕ້ອງການໂດຍສະເພາະຂອງລະຫັດທີ່ຖືກພັດທະນາ. ຖ້າຕົວເລກທີ່ແນ່ນອນຂອງອາກິວເມັນທີ່ຈະຖືກສົ່ງກັບຟັງຊັນຫນຶ່ງແມ່ນຮູ້ຈັກລ່ວງຫນ້າ, ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ arguments ປ່ຽນແປງໄດ້.

5. ການໂຕ້ຖຽງຕົວແປສາມາດຖືກລວມເຂົ້າກັບພາລາມິເຕີອື່ນໆໃນຟັງຊັນ Python ໄດ້ບໍ?

ແມ່ນແລ້ວ, ທ່ານສາມາດສົມທົບການໂຕ້ຖຽງຕົວແປກັບພາລາມິເຕີອື່ນໆໃນຟັງຊັນ Python. ເມື່ອກໍານົດຟັງຊັນ, arguments ຕົວແປຕ້ອງຖືກວາງໄວ້ຫຼັງຈາກພາລາມິເຕີອື່ນໆ.

  1. ທ່ານສາມາດກໍານົດຕົວກໍານົດການປົກກະຕິອື່ນໆກ່ອນການໂຕ້ຖຽງຕົວແປ.
  2. ການໂຕ້ຖຽງຕົວແປຈະເກັບກໍາຄ່າເພີ່ມເຕີມໃດໆທີ່ສົ່ງກັບຟັງຊັນ.

6. ສາມາດ arguments ປ່ຽນແປງໄດ້ກັບຟັງຊັນ Python ທີ່ກໍານົດໄວ້ກ່ອນ?

ແມ່ນແລ້ວ, ອາກິວເມັນທີ່ປ່ຽນແປງໄດ້ສາມາດຖືກສົ່ງຕໍ່ກັບຟັງຊັນ Python ທີ່ກຳນົດໄວ້ລ່ວງໜ້າໄດ້ ຕາບໃດທີ່ຟັງຊັນຍອມຮັບຈຳນວນຕົວແປຂອງອາກິວເມັນ.

  1. ກວດເບິ່ງເອກະສານສໍາລັບຟັງຊັນທີ່ກໍານົດໄວ້ກ່ອນເພື່ອກໍານົດວ່າມັນຍອມຮັບການໂຕ້ຖຽງຕົວແປ.
  2. ຖ້າຟັງຊັນຍອມຮັບການໂຕ້ຖຽງຕົວແປ, ທ່ານສາມາດຜ່ານພວກມັນໄດ້ໃນລັກສະນະດຽວກັນກັບຫນ້າທີ່ກໍານົດໂດຍຜູ້ໃຊ້.

7. ເມື່ອໃດທີ່ມັນເປັນປະໂຫຍດທີ່ຈະໃຊ້ການໂຕ້ຖຽງຕົວແປໃນ Python?

ການໂຕ້ຖຽງຕົວແປໃນ Python ແມ່ນເປັນປະໂຫຍດໃນສະຖານະການຕໍ່ໄປນີ້:

  1. ເມື່ອທ່ານຕ້ອງການສ້າງຟັງຊັນທີ່ສາມາດຮັບຈໍານວນຕົວແປຂອງການໂຕ້ຖຽງໂດຍບໍ່ຈໍາເປັນຕ້ອງກໍານົດຫຼາຍຫນ້າທີ່.
  2. ເມື່ອທ່ານຕ້ອງການເຮັດໃຫ້ລະຫັດງ່າຍດາຍໂດຍການຫລີກລ້ຽງຄວາມຕ້ອງການທີ່ຈະລະບຸການໂຕ້ຖຽງທັງຫມົດກ່ອນ.
  3. ໃນເວລາທີ່ຊອກຫາເພື່ອເພີ່ມຄວາມຍືດຫຍຸ່ນແລະການນໍາໃຊ້ລະຫັດຄືນໃຫມ່.

8. ການໂຕ້ຖຽງຕົວແປແຕກຕ່າງຈາກປະເພດພາລາມິເຕີອື່ນໆໃນ Python ແນວໃດ?

ການໂຕ້ຖຽງຕົວແປແຕກຕ່າງຈາກປະເພດພາລາມິເຕີອື່ນໆໃນ Python ໃນລັກສະນະຕໍ່ໄປນີ້:

  1. ການໂຕ້ຖຽງຕົວແປອະນຸຍາດໃຫ້ທ່ານໄດ້ຮັບຈໍານວນຕົວແປຂອງຄ່າ, ໃນຂະນະທີ່ປະເພດພາລາມິເຕີອື່ນໆມີຈໍານວນຄົງທີ່.
  2. ອາກິວເມັນຕົວແປແມ່ນສະແດງດ້ວຍເຄື່ອງໝາຍດາວ (*) ກ່ອນຊື່ພາຣາມິເຕີໃນຄຳນິຍາມຟັງຊັນ, ບໍ່ຄືກັບພາຣາມິເຕີອື່ນໆທີ່ບໍ່ຕ້ອງການສັນຍາລັກນີ້.

9. ຂໍ້ຜິດພາດເກີດຂື້ນໃນເວລາທີ່ໃຊ້ arguments ປ່ຽນແປງໃນ Python?

ຄວາມຜິດພາດສາມາດເກີດຂຶ້ນໄດ້ເມື່ອໃຊ້ arguments ປ່ຽນແປງໄດ້ໃນ Python ໃນສະຖານະການຕໍ່ໄປນີ້:

  1. ຄວາມລົ້ມເຫຼວທີ່ຈະໃຊ້ເຄື່ອງໝາຍດາວ (*) ກ່ອນຊື່ພາຣາມິເຕີໃນນິຍາມຟັງຊັນຈະສົ່ງຜົນໃຫ້ syntax ຜິດພາດ.
  2. ຖ້າຈໍານວນ argument ທີ່ບໍ່ຖືກຕ້ອງຖືກຜ່ານໃນເວລາໂທຫາຟັງຊັນ, ຂໍ້ຜິດພາດຈະເກີດຂື້ນໃນເວລາແລ່ນ.

10. arguments ປ່ຽນແປງໄດ້ສະເພາະກັບ Python ບໍ?

ບໍ່, ອາກິວເມັນທີ່ປ່ຽນແປງໄດ້ບໍ່ສະເພາະກັບ Python. ພາສາການຂຽນໂປລແກລມອື່ນໆກໍ່ມີກົນໄກທີ່ຄ້າຍຄືກັນສໍາລັບການຈັດການຈໍານວນຕົວແປຂອງການໂຕ້ຖຽງໃນຫນ້າທີ່.

  1. ແຕ່ລະພາສາການຂຽນໂປລແກລມອາດຈະມີວິທີການຂອງຕົນເອງເພື່ອປະຕິບັດການໂຕ້ຖຽງຕົວແປ.
  2. ແນວຄວາມຄິດພື້ນຖານຂອງການໂຕ້ຖຽງຕົວແປແມ່ນຄ້າຍຄືກັນໃນພາສາການຂຽນໂປຼແກຼມຕ່າງໆ.
ເນື້ອຫາສະເພາະ - ຄລິກທີ່ນີ້  ສາມາດສົ່ງຮູບພາບຈາກແອັບຯ Tantan ໄດ້ບໍ?