เมื่อใช้ PyCharm ฉันสังเกตว่ามันเสนอให้แปลงตัวอักษรตามคำบอก :
d = {
'one': '1',
'two': '2',
}
เป็นตัวสร้าง dict :
d = dict(one='1', two='2')
วิธีการที่แตกต่างกันเหล่านี้แตกต่างกันไปในวิธีที่สำคัญหรือไม่?
(ในขณะที่เขียนคำถามนี้ฉันสังเกตเห็นว่าการใช้dict()
ดูเหมือนว่าเป็นไปไม่ได้ที่จะระบุคีย์ตัวเลข .. d = {1: 'one', 2: 'two'}
เป็นไปได้ แต่เห็นได้ชัดว่าdict(1='one' ...)
ไม่ใช่สิ่งอื่นใด)
dict(abc = 123)
ตัวสร้างผลิตพจนานุกรมด้วยปุ่มไบต์สตริง'abc'
ซึ่งอาจจะเป็นที่น่าแปลกใจถ้าคุณกำลังใช้unicode_literals
และคาดหวังคีย์พจนานุกรมจะเป็น u'abc'
Unicode ดูstackoverflow.com/questions/20357210/...
dict()
รับรายการคู่คีย์ - ค่าเช่นเดียวกับการอนุญาตให้พารามิเตอร์ที่มีชื่อดังนั้นมันสามารถใช้เพื่อสร้าง dict ชนิดใดก็ได้โดยไม่ต้องใช้ไวยากรณ์ที่คุณใช้ นอกจากนี้ยังอาจไม่มีค่าใด ๆ ที่มีข้อผิดพลาด ( youtrack.jetbrains.net/issue/PY-2512 ) ใน pyCharm โดยเฉพาะเนื่องจากสิ่งที่คุณค้นพบซึ่งได้รับการแก้ไขแล้ว)