ພິມ() ໃນ Python. Syntax, ຂໍ້ຜິດພາດ, ສິ້ນສຸດແລະ sep arguments

ພິມ() – ອາດ​ຈະ​ເປັນ​ຄໍາ​ສັ່ງ​ທໍາ​ອິດ​ທີ່​ຜູ້​ເລີ່ມ​ຕົ້ນ​ໄດ້​ພົບ​ເຫັນ​ໃນ​ເວ​ລາ​ທີ່​ການ​ຮຽນ​ຮູ້ Python ຈາກ scratch​. ເກືອບທຸກຄົນເລີ່ມຕົ້ນດ້ວຍການທັກທາຍງ່າຍໆໃນຫນ້າຈໍແລະຍ້າຍໄປສຶກສາຕື່ມອີກກ່ຽວກັບ syntax, ຫນ້າທີ່ແລະວິທີການຂອງພາສາ, ໂດຍບໍ່ມີການຄິດກ່ຽວກັບລັກສະນະເພີ່ມເຕີມ. ພິມ (). ຢ່າງໃດກໍຕາມ, ໃນ Python 3 ຄໍາ​ສັ່ງ​ນີ້​ສະ​ຫນອງ​ການ​ເຂົ້າ​ເຖິງ​ການ​ທໍາ​ງານ​ການ​ຜະ​ລິດ​ຂໍ້​ມູນ​ພື້ນ​ຖານ​ທີ່​ມີ​ຕົວ​ກໍາ​ນົດ​ການ​ແລະ​ຄວາມ​ສາ​ມາດ​ຂອງ​ຕົນ​. ການຮູ້ລັກສະນະເຫຼົ່ານີ້ຈະຊ່ວຍໃຫ້ທ່ານສາມາດເພີ່ມປະສິດທິພາບຜົນຜະລິດຂອງຂໍ້ມູນສໍາລັບແຕ່ລະກໍລະນີສະເພາະ.

ຜົນປະໂຫຍດດ້ານຄຸນນະສົມບັດ ພິມ() ໃນ Python 3

ໃນສະບັບທີສາມຂອງ Python ພິມ() ລວມຢູ່ໃນຊຸດພື້ນຖານຂອງຫນ້າທີ່. ເມື່ອປະຕິບັດການກວດສອບ ປະເພດ(ພິມ) ຂໍ້​ມູນ​ສະ​ແດງ​ໃຫ້​ເຫັນ​: ລະດັບ 'ປຸກສ້າງ_ຫນ້າທີ່_or_ວິທີການ'. ຄຳ ປຸກສ້າງ ຊີ້ບອກວ່າຟັງຊັນທີ່ຖືກທົດສອບຢູ່ໃນແຖວ.

ບໍ່ເຄີຍໃຈhໃນ 3 ວັດຖຸຜົນຜະລິດ (ຈຸດ​ປະ​ສົງs) ຖືກຈັດໃສ່ໃນວົງເລັບຫຼັງຈາກຄໍາ ພິມ. ໃນຕົວຢ່າງຂອງຜົນໄດ້ຮັບຂອງການທັກທາຍແບບດັ້ງເດີມ, ມັນຈະມີລັກສະນະນີ້:

ສໍາລັບການ Python 3: ພິມ('ສະບາຍດີ, ໂລກ!').

ໃນ Python 2, ຄໍາຖະແຫຼງທີ່ຖືກນໍາໃຊ້ໂດຍບໍ່ມີວົງເລັບ: ພິມ 'ສະບາຍດີ, ໂລກ! '

ຜົນໄດ້ຮັບໃນທັງສອງຮຸ່ນຈະຄືກັນ: ສະບາຍດີ, ໂລກ!

ຖ້າຢູ່ໃນສະບັບທີສອງຂອງ Python ຄ່າຫຼັງຈາກ ພິມ ໃສ່ໃນວົງເລັບ, ຫຼັງຈາກນັ້ນ tuple ຈະຖືກສະແດງ - ປະເພດຂໍ້ມູນທີ່ເປັນບັນຊີລາຍຊື່ທີ່ບໍ່ປ່ຽນແປງໄດ້:

ພິມ (1, 'ທໍາອິດ', 2, 'ທີສອງ')

(1, 'ທຳອິດ', 2, 'ວິນາທີ')

ໃນເວລາທີ່ພະຍາຍາມເອົາວົງເລັບຫຼັງຈາກ ພິມ ໃນສະບັບທີສາມຂອງ Python, ໂຄງການຈະໃຫ້ syntax ຜິດພາດ.

ພິມ ("ສະບາຍດີ, ໂລກ!")
ໄຟລ໌ "", ແຖວທີ 1 ພິມ "ສະບາຍດີ, ໂລກ!" ^ SyntaxError: ຂາດວົງເລັບໃນການໂທຫາ 'ພິມ'. ເຈົ້າຫມາຍຄວາມວ່າພິມ ("ສະບາຍດີ, ໂລກ!")?

 ລັກສະນະພິເສດຂອງ syntax ຂອງ print() ໃນ Python 3

ຟັງຊັນ syntax ພິມ () ລວມເຖິງວັດຖຸ ຫຼືວັດຖຸຕົວຈິງ (ວັດຖຸ), ຊຶ່ງສາມາດເອີ້ນວ່າຄຸນຄ່າ (ຄ່າ) ຫຼື​ອົງ​ປະ​ກອບ (ລາຍການ), ແລະທາງເລືອກຈໍານວນຫນ້ອຍຫນຶ່ງ. ວິທີການສະແດງວັດຖຸແມ່ນຖືກກໍານົດໂດຍສີ່ອາກິວເມັນທີ່ມີຊື່: ຕົວແຍກອົງປະກອບ (ກັນ​ຍາ), ສາຍທີ່ພິມຫຼັງຈາກວັດຖຸທັງໝົດ (ໃນຕອນທ້າຍ), ໄຟລ໌ທີ່ຂໍ້ມູນຖືກສົ່ງອອກ (ໝາກ ອຶ), ແລະພາລາມິເຕີທີ່ຮັບຜິດຊອບສໍາລັບການ buffering ຜົນຜະລິດ (ໄຫຼອອກ).

print(value, ..., sep='', end='n', file=sys.stdout, flush=False)

ການເອີ້ນຟັງຊັນແມ່ນເປັນໄປໄດ້ໂດຍບໍ່ມີການກໍານົດຄ່າພາລາມິເຕີແລະເຖິງແມ່ນວ່າບໍ່ມີວັດຖຸໃດໆ: ພິມ (). ໃນກໍລະນີນີ້, ຕົວກໍານົດການເລີ່ມຕົ້ນຖືກນໍາໃຊ້, ແລະຖ້າບໍ່ມີອົງປະກອບ, ຕົວອັກສອນສະຕຣິງຫວ່າງເປົ່າທີ່ບໍ່ໄດ້ສະແດງຈະສະແດງ - ໃນຄວາມເປັນຈິງ, ມູນຄ່າຂອງພາລາມິເຕີ. ໃນຕອນທ້າຍ - 'n'. ຕົວຢ່າງເຊັ່ນ, ການໂທດັ່ງກ່າວສາມາດໃຊ້ສໍາລັບການຫຍໍ້ຫນ້າແນວຕັ້ງລະຫວ່າງ pins.

argument ທີ່ບໍ່ແມ່ນຄໍາຫລັກ (ວັດຖຸ) ທັງຫມົດຖືກຂຽນໃສ່ກະແສຂໍ້ມູນ, ປ່ຽນເປັນສະຕຣິງທີ່ແຍກອອກໂດຍ ກັນ​ຍາ ແລະສໍາເລັດ ໃນຕອນທ້າຍ. ອາກິວເມັນພາລາມິເຕີ ກັນ​ຍາ и ໃນຕອນທ້າຍ ຍັງມີປະເພດສະຕຣິງ, ພວກມັນອາດຈະບໍ່ຖືກລະບຸໃນເວລາທີ່ໃຊ້ຄ່າເລີ່ມຕົ້ນ.

ພາລາມິເຕີ ກັນ​ຍາ

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

ພິມ(1, 2, 3)

+1 2 3

ເປັນການໂຕ້ຖຽງ ກັນ​ຍາ ທ່ານສາມາດກໍານົດຄ່າອື່ນ, ຕົວຢ່າງ:

  • ຂາດຕົວແຍກ Sep=»;
  • ຜົນຜະລິດເສັ້ນໃຫມ່ Sep ='ບໍ່ ';
  • ຫຼືສາຍໃດນຶ່ງ:

ພິມ(1, 2, 3, sep='ຄຳ​ແຍກ')

1 ຄໍາສັບແຍກ 2 ຄໍາແຍກ 3

ພາລາມິເຕີ ໃນຕອນທ້າຍ

ໂດຍຄ່າເລີ່ມຕົ້ນ ໃນຕອນທ້າຍ='n', ແລະຜົນຜະລິດຂອງວັດຖຸສິ້ນສຸດລົງດ້ວຍເສັ້ນໃຫມ່. ການປ່ຽນຄ່າເລີ່ມຕົ້ນດ້ວຍການໂຕ້ຖຽງອື່ນ, ຕົວຢ່າງ, ໃນຕອນທ້າຍ= “, ຈະປ່ຽນຮູບແບບຂອງຂໍ້ມູນຜົນຜະລິດໄດ້:

ພິມ('one_', end=»)

ພິມ('ສອງ_', ຈົບ=»)

ພິມ('ສາມ')

ຫນຶ່ງ​ສອງ​ສາມ

ພາລາມິເຕີ ໝາກ ອຶ

ຫນ້າທີ່ເຮັດວຽກ ພິມ () ຮອງຮັບການປ່ຽນເສັ້ນທາງຜົນຜະລິດຜ່ານພາລາມິເຕີ ໝາກ ອຶ, ເຊິ່ງໂດຍຄ່າເລີ່ມຕົ້ນຫມາຍເຖິງ sys.stdout - ຜົນ​ຜະ​ລິດ​ມາດ​ຕະ​ຖານ​. ຄ່າສາມາດປ່ຽນເປັນ sys.stdin or sys.stderr. ວັດຖຸໄຟລ໌ stdin ນໍາໃຊ້ກັບການປ້ອນຂໍ້ມູນ, ແລະ stderr ເພື່ອສົ່ງຄໍາແນະນໍານາຍພາສາແລະຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ. ການນໍາໃຊ້ຕົວກໍານົດການ ໝາກ ອຶ ທ່ານສາມາດກໍານົດຜົນຜະລິດເປັນໄຟລ໌. ເຫຼົ່ານີ້ສາມາດເປັນໄຟລ໌ .csv ຫຼື .txt. ວິທີທີ່ເປັນໄປໄດ້ໃນການຂຽນຂໍ້ຄວາມໃສ່ໄຟລ໌:

fileitem = open('printfile.txt','a')

def test(ວັດຖຸ):

ສໍາ​ລັບ​ອົງ​ປະ​ກອບ​ໃນ​ວັດ​ຖຸ​:

print(ອົງປະກອບ, file=fileitem)

fileitem.close()

ການທົດສອບ([10,9,8,7,6,5,4,3,2,1])

ຢູ່ທີ່ຜົນຜະລິດ, ອົງປະກອບຂອງບັນຊີລາຍຊື່ຈະຖືກຂຽນໃສ່ ໄຟລ໌ພິມ.txt ຫນຶ່ງຕໍ່ແຖວ.

ພາລາມິເຕີ ໄຫຼອອກ

ພາລາມິເຕີນີ້ກ່ຽວຂ້ອງກັບ buffering ກະແສຂໍ້ມູນແລະເນື່ອງຈາກມັນເປັນ boolean ມັນສາມາດໃຊ້ສອງຄ່າ − ທີ່ແທ້ຈິງ и ທີ່ບໍ່ຖືກຕ້ອງ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ທາງເລືອກຖືກປິດໃຊ້ງານ: ໄຫຼອອກ=ທີ່ບໍ່ຖືກຕ້ອງ. ນີ້ຫມາຍຄວາມວ່າການບັນທຶກຂໍ້ມູນຈາກ buffer ພາຍໃນກັບໄຟລ໌ຈະເກີດຂຶ້ນພຽງແຕ່ຫຼັງຈາກໄຟລ໌ຖືກປິດຫຼືຫຼັງຈາກການໂທຫາໂດຍກົງກັບ. ລ້າງ (). ເພື່ອບັນທຶກຫຼັງຈາກການໂທແຕ່ລະຄັ້ງ ພິມ () ພາລາມິເຕີຕ້ອງໄດ້ຮັບການກໍານົດຄ່າ ທີ່ແທ້ຈິງ:

file_flush = ເປີດ(r'file_flush.txt', 'a')

ພິມ(«ການບັນທຶກສາຍвເອກະສານ«, file=file_flush, flush=True)

ພິມ(«ການບັນທຶກຄັ້ງທີສອງສາຍвເອກະສານ«, file=file_flush, flush=True)

file_flush.close()

ຕົວຢ່າງອື່ນຂອງການໃຊ້ພາລາມິເຕີ ໄຫຼອອກ ໃຊ້ໂມດູນເວລາ:

ພິມ() ໃນ Python. Syntax, ຂໍ້ຜິດພາດ, ສິ້ນສຸດແລະ sep arguments

ໃນກໍລະນີນີ້, ການໂຕ້ຖຽງ ທີ່ແທ້ຈິງ ພາລາມິເຕີ ໄຫຼອອກ ຈະອະນຸຍາດໃຫ້ສະແດງຕົວເລກຫນຶ່ງຕໍ່ເວລາໃນສາມວິນາທີ, ໃນຂະນະທີ່ໂດຍຄ່າເລີ່ມຕົ້ນ, ຕົວເລກທັງຫມົດຈະຖືກສະແດງຢູ່ໃນຫນ້າຈໍຫຼັງຈາກ 15 ວິນາທີ. ເພື່ອເບິ່ງເຫັນຜົນກະທົບຂອງພາລາມິເຕີ ໄຫຼອອກ, ມັນດີກວ່າທີ່ຈະດໍາເນີນການ script ໃນ console. ຄວາມຈິງແລ້ວແມ່ນວ່າເມື່ອນໍາໃຊ້ບາງເວັບແກະ, ໂດຍສະເພາະ, Jupyter Notebook, ໂຄງການໄດ້ຖືກປະຕິບັດແຕກຕ່າງກັນ (ໂດຍບໍ່ຄໍານຶງເຖິງພາລາມິເຕີ. ໄຫຼອອກ).

ການພິມຄ່າຕົວແປດ້ວຍການພິມ()

ເມື່ອສະແດງສະຕຣິງທີ່ມີຄ່າທີ່ກຳນົດໃຫ້ກັບຕົວແປ, ມັນພຽງພໍທີ່ຈະລະບຸຕົວລະບຸທີ່ຕ້ອງການ (ຊື່ຕົວແປ) ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ. ປະເພດຂອງຕົວແປບໍ່ຄວນຖືກກໍານົດ, ເພາະວ່າ ພິມ ປ່ຽນຂໍ້ມູນປະເພດໃດນຶ່ງເປັນສະຕຣິງ. ນີ້ແມ່ນຕົວຢ່າງ:

ເຖິງ = 0

b = 'Python ຈາກ scratch'

ພິມ(a,'– ຈໍານວນ, а',b,'– ອອນໄລນ໌.')

0 ແມ່ນຕົວເລກແລະ Python ຈາກ scratch ເປັນ string.

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

ເຖິງ = 0

b = 'Python ຈາກ scratch'

ພິມ('{0} ແມ່ນຕົວເລກ ແລະ {1} ແມ່ນສະຕຣິງ.'.ຮູບແບບ(a,b))

0 ແມ່ນຕົວເລກແລະ Python ຈາກ scratch ເປັນ string.

ແທນ​ທີ່ ຮູບແບບ ສັນຍາລັກ % ສາມາດຖືກນໍາໃຊ້, ເຊິ່ງເຮັດວຽກຢູ່ໃນຫຼັກການດຽວກັນຂອງຕົວຍຶດ (ໃນຕົວຢ່າງທີ່ຜ່ານມາ, ວົງເລັບ curly ເຮັດຫນ້າທີ່ເປັນຕົວຍຶດ). ໃນ​ກໍ​ລະ​ນີ​ນີ້​, ຕົວ​ເລກ​ດັດ​ຊະ​ນີ​ແມ່ນ​ຖືກ​ທົດ​ແທນ​ໂດຍ​ປະ​ເພດ​ຂໍ້​ມູນ​ທີ່​ສົ່ງ​ຄືນ​ໂດຍ​ການ​ທໍາ​ງານ​:

  • ຕົວຍຶດ %d ຖືກໃຊ້ສໍາລັບຂໍ້ມູນຕົວເລກ;
  • ຕົວຍຶດ %s ແມ່ນສຳລັບສະຕຣິງ.

ເຖິງ = 0

b = 'Python ຈາກ scratch'

ພິມ('%d ເປັນຕົວເລກ ແລະ %s – ສະຕຣິງ.'%(a,b))

0 ແມ່ນຕົວເລກແລະ Python ຈາກ scratch ເປັນ string.

ຖ້າແທນທີ່ຈະເປັນຕົວຍຶດສໍາລັບຈໍານວນເຕັມ %d ລະບຸ %sຫນ້າທີ່ ພິມ ຈະປ່ຽນຕົວເລກເປັນສະຕຣິງ ແລະລະຫັດຈະເຮັດວຽກຢ່າງຖືກຕ້ອງ. ແຕ່ເມື່ອປ່ຽນແທນ %s on %d ຂໍ້​ຄວາມ​ຜິດ​ພາດ​ຈະ​ໄດ້​ຮັບ​ການ​ສະ​ແດງ​ເນື່ອງ​ຈາກ​ວ່າ​ການ​ປ່ຽນ​ໃຈ​ເຫລື້ອມ​ໃສ​ບໍ່​ໄດ້​ປະ​ຕິ​ບັດ​.

ພິມ() ໃນ Python. Syntax, ຂໍ້ຜິດພາດ, ສິ້ນສຸດແລະ sep arguments

ສະຫຼຸບ

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

ອອກຈາກ Reply ເປັນ