ເນື້ອໃນ
ພິມ() – ອາດຈະເປັນຄໍາສັ່ງທໍາອິດທີ່ຜູ້ເລີ່ມຕົ້ນໄດ້ພົບເຫັນໃນເວລາທີ່ການຮຽນຮູ້ 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()
ຕົວຢ່າງອື່ນຂອງການໃຊ້ພາລາມິເຕີ ໄຫຼອອກ ໃຊ້ໂມດູນເວລາ:
ໃນກໍລະນີນີ້, ການໂຕ້ຖຽງ ທີ່ແທ້ຈິງ ພາລາມິເຕີ ໄຫຼອອກ ຈະອະນຸຍາດໃຫ້ສະແດງຕົວເລກຫນຶ່ງຕໍ່ເວລາໃນສາມວິນາທີ, ໃນຂະນະທີ່ໂດຍຄ່າເລີ່ມຕົ້ນ, ຕົວເລກທັງຫມົດຈະຖືກສະແດງຢູ່ໃນຫນ້າຈໍຫຼັງຈາກ 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.