หากคุณไม่ต้องการfrom __future__ import print_function
คุณสามารถทำสิ่งต่อไปนี้:
a = 100
b = True
print a if b else "", # Note the comma!
print "see no new line"
สิ่งที่พิมพ์:
100 see no new line
หากคุณไม่ได้ใช้from __future__ import print_function
หรือใช้ python 3 หรือใหม่กว่า:
from __future__ import print_function
a = False
b = 100
print(b if a else "", end = "")
การเพิ่มสิ่งอื่นเป็นการเปลี่ยนแปลงเพียงอย่างเดียวที่คุณต้องทำเพื่อให้รหัสของคุณถูกต้องทางไวยากรณ์คุณต้องมีสิ่งอื่นสำหรับนิพจน์เงื่อนไข ("ในบรรทัดถ้าบล็อกอื่น")
เหตุผลที่ฉันไม่ได้ใช้None
หรือ0
เหมือนคนอื่น ๆ ในหัวข้อได้ใช้เป็นเพราะใช้None/0
จะทำให้โปรแกรมprint None
หรือprint 0
ในกรณีที่เป็นb
False
หากคุณต้องการอ่านเกี่ยวกับหัวข้อนี้ฉันได้รวมลิงก์ไปยังบันทึกประจำรุ่นสำหรับแพทช์ที่ฟีเจอร์นี้ถูกเพิ่มไปยัง Python
'รูปแบบ' ด้านบนคล้ายกับรูปแบบที่แสดงใน PEP 308:
ไวยากรณ์นี้อาจดูแปลกและย้อนกลับ ทำไมเงื่อนไขถึงอยู่ตรงกลางของการแสดงออกและไม่ได้อยู่ข้างหน้าเหมือนกับใน C's? x: y การตัดสินใจถูกตรวจสอบโดยใช้ไวยากรณ์ใหม่กับโมดูลในไลบรารีมาตรฐานและดูว่าโค้ดผลลัพธ์อ่านอย่างไร ในหลายกรณีที่มีการใช้นิพจน์แบบมีเงื่อนไขค่าหนึ่งดูเหมือนว่าจะเป็น 'กรณีทั่วไป' และหนึ่งค่าเป็น 'กรณีพิเศษ' ใช้เฉพาะในกรณีที่หายากเท่านั้นเมื่อไม่ตรงตามเงื่อนไข ไวยากรณ์ตามเงื่อนไขทำให้รูปแบบนี้ชัดเจนยิ่งขึ้น:
เนื้อหา = ((doc + '\ n') ถ้า doc อื่น '')
ดังนั้นฉันคิดว่าโดยรวมนี่เป็นวิธีที่เหมาะสมในการอนุมัติ แต่คุณไม่สามารถโต้แย้งด้วยความเรียบง่ายของ:
if logging: print data