คำถามติดแท็ก pep

6
ทำไมไม่มีฟังก์ชั่น xrange ใน Python3
เมื่อเร็ว ๆ นี้ฉันเริ่มใช้ Python3 และมันก็ไม่มีความเจ็บปวด xrange ตัวอย่างง่ายๆ: 1) Python2: from time import time as t def count(): st = t() [x for x in xrange(10000000) if x%4 == 0] et = t() print et-st count() 2) Python3: from time import time as t def xrange(x): return iter(range(x)) def count(): st …
273 python  python-3.x  pep  xrange 

8
ฟังก์ชันเช่น sum () แต่สำหรับการคูณคืออะไร ผลิตภัณฑ์ ()?
sum()ฟังก์ชันPython ส่งคืนผลรวมของตัวเลขใน iterable sum([3,4,5]) == 3 + 4 + 5 == 12 ฉันกำลังมองหาฟังก์ชั่นที่ส่งคืนผลิตภัณฑ์แทน somelib.somefunc([3,4,5]) == 3 * 4 * 5 == 60 ฉันค่อนข้างแน่ใจว่ามีฟังก์ชั่นดังกล่าวอยู่ แต่ฉันหามันไม่เจอ
206 python  product  built-in  pep 


8
ดีกว่าที่จะ 'ลอง' บางอย่างและตรวจจับข้อยกเว้นหรือทดสอบว่าเป็นไปได้ก่อนเพื่อหลีกเลี่ยงข้อยกเว้นหรือไม่?
ฉันควรทดสอบifสิ่งที่ถูกต้องหรือเพียงtryเพื่อทำและตรวจจับข้อยกเว้น? มีเอกสารประกอบที่ระบุว่าควรใช้วิธีเดียวหรือไม่? pythonicทางเดียวมากกว่าหรือไม่? ตัวอย่างเช่นฉันควร: if len(my_list) >= 4: x = my_list[3] else: x = 'NO_ABC' หรือ: try: x = my_list[3] except IndexError: x = 'NO_ABC' ความคิดบางอย่าง ... PEP 20พูดว่า: ข้อผิดพลาดไม่ควรผ่านไปอย่างเงียบ ๆ เว้นแต่จะปิดเสียงไว้อย่างชัดเจน ควรใช้ a tryแทนการifตีความว่าเป็นข้อผิดพลาดที่ผ่านไปอย่างเงียบ ๆ หรือไม่? และถ้าเป็นเช่นนั้นคุณจะปิดเสียงโดยใช้วิธีนี้อย่างชัดเจนหรือไม่ ฉันไม่ได้หมายถึงสถานการณ์ที่คุณสามารถทำได้เพียง 1 ทางเท่านั้น ตัวอย่างเช่น: try: import foo except ImportError: import baz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.