คำถามติดแท็ก python-3.x

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรม Python ที่เฉพาะเจาะจงกับภาษารุ่น 3 ขึ้นไป ใช้แท็ก [หลาม] ทั่วไปมากขึ้นหากคำถามของคุณไม่เฉพาะรุ่น ใช้แท็ก [python-2.x] สำหรับคำถาม Python 2

7
ฉันจะใช้ raw_input ใน Python 3 ได้อย่างไร
import sys print(sys.platform) print(2**100) raw_input() ฉันใช้ Python 3.1 และไม่สามารถraw_input"หยุด" ป๊อปอัป dos ได้ หนังสือที่ฉันกำลังอ่านสำหรับ Python 2.5 และฉันใช้ Python 3.1 ฉันควรทำอย่างไรเพื่อแก้ไขปัญหานี้
553 python  python-3.x 


8
UnicodeDecodeError: ตัวแปลงสัญญาณ 'charmap' ไม่สามารถถอดรหัสไบต์ X ในตำแหน่ง Y: อักขระแผนที่ไปยัง <undefined>
ฉันพยายามรับโปรแกรม Python 3 เพื่อทำกิจวัตรกับไฟล์ข้อความที่เต็มไปด้วยข้อมูล อย่างไรก็ตามเมื่อพยายามอ่านไฟล์ฉันได้รับข้อผิดพลาดดังต่อไปนี้: Traceback (most recent call last): File "SCRIPT LOCATION", line NUMBER, in &lt;module&gt; `text = file.read()` File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode `return codecs.charmap_decode(input,self.errors,decoding_table)[0]` UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `&lt;undefined&gt;`

9
รับแผนที่ () เพื่อส่งคืนรายการใน Python 3.x
ฉันพยายามแมปรายการเป็นเลขฐานสิบหกจากนั้นใช้รายการที่อื่น ใน python 2.6 มันง่ายมาก: A: Python 2.6: &gt;&gt;&gt; map(chr, [66, 53, 0, 94]) ['B', '5', '\x00', '^'] อย่างไรก็ตามใน Python 3.1 ข้างต้นจะส่งคืนวัตถุแผนที่ B: Python 3.1: &gt;&gt;&gt; map(chr, [66, 53, 0, 94]) &lt;map object at 0x00AF5570&gt; ฉันจะดึงรายการที่แมป (เช่นเดียวกับAข้างบน) บน Python 3.x ได้อย่างไร หรือมีวิธีที่ดีกว่าในการทำเช่นนี้? วัตถุรายการเริ่มต้นของฉันมีประมาณ 45 รายการและรหัสชอบแปลงเป็นเลขฐานสิบหก

8
วิธีที่ดีที่สุดในการลบเครื่องหมายเน้นเสียงในสตริง Python unicode คืออะไร
ฉันมีสตริง Unicode ใน Python และฉันต้องการที่จะลบสำเนียงทั้งหมด (กำกับออกเสียง) ฉันพบบนเว็บเป็นวิธีที่ยอดเยี่ยมในการทำเช่นนี้ใน Java: แปลงสตริง Unicode เป็นรูปแบบปกติที่มีความยาว (โดยมีอักขระแยกต่างหากสำหรับตัวอักษรและกำกับเสียง) ลบอักขระทั้งหมดที่มีชนิด Unicode เป็น "diacritic" ฉันจำเป็นต้องติดตั้งไลบรารี่เช่น pyICU หรือเป็นไปได้หรือไม่กับไลบรารี่มาตรฐานของไพ ธ อน และไพ ธ อน 3 เป็นอย่างไร? หมายเหตุสำคัญ: ฉันต้องการหลีกเลี่ยงรหัสที่มีการแมปที่ชัดเจนจากอักขระที่เน้นเสียงไปยังคู่ที่ไม่ได้เน้นเสียง

8
ทำไม“ ไม่ (จริง) ใน [เท็จจริง]” คืนเท็จ?
ถ้าฉันทำสิ่งนี้: &gt;&gt;&gt; False in [False, True] True Trueที่ส่งกลับ เพียงเพราะFalseอยู่ในรายการ แต่ถ้าฉันทำ: &gt;&gt;&gt; not(True) in [False, True] False Falseที่ส่งกลับ โดยที่not(True)เท่ากับFalse: &gt;&gt;&gt; not(True) False ทำไม?

7
-> หมายถึงอะไรในนิยามฟังก์ชันของ Python
ฉันเพิ่งสังเกตเห็นสิ่งที่น่าสนใจเมื่อดูข้อมูลจำเพาะของไวยากรณ์ Python 3.3 : funcdef: 'def' NAME parameters ['-&gt;' test] ':' suite บล็อก 'ลูกศร' ไม่ปรากฏใน Python 2 และฉันไม่พบข้อมูลใด ๆ เกี่ยวกับความหมายของมันใน Python 3 ปรากฎว่านี่เป็น Python ที่ถูกต้องและเป็นที่ยอมรับโดยล่าม: def f(x) -&gt; 123: return x ฉันคิดว่านี่อาจเป็นรูปแบบของเงื่อนไขเบื้องต้น แต่: ฉันไม่สามารถทดสอบได้xที่นี่เพราะมันยังไม่ได้กำหนด ไม่ว่าฉันจะวางลูกศรไว้ที่ใด (เช่น2 &lt; 1) มันไม่ส่งผลกระทบต่อการทำงานของฟังก์ชัน ใครบ้างที่คุ้นเคยกับไวยากรณ์นี้จะอธิบายหรือไม่

8
StringIO ใน Python3
ฉันใช้ Python 3.2.1 และฉันไม่สามารถนำเข้าStringIOโมดูล ผมใช้ io.StringIOและการทำงาน แต่ฉันไม่สามารถใช้กับnumpy's genfromtxtเช่นนี้ x="1 3\n 4.5 8" numpy.genfromtxt(io.StringIO(x)) ฉันได้รับข้อผิดพลาดต่อไปนี้: TypeError: Can't convert 'bytes' object to str implicitly และเมื่อฉันเขียนimport StringIOมันบอกว่า ImportError: No module named 'StringIO'
474 python  python-3.x  io 


4
พจนานุกรมสั่งใน Python 3.6+ หรือไม่
พจนานุกรมมีการเรียงลำดับใน Python 3.6 (ภายใต้การใช้งาน CPython เป็นอย่างน้อย) ไม่เหมือนในสาขาก่อนหน้า ดูเหมือนจะเป็นการเปลี่ยนแปลงที่สำคัญ แต่เป็นเพียงย่อหน้าสั้น ๆ ในเอกสาร มันอธิบายว่าเป็นรายละเอียดการใช้งาน CPython มากกว่าคุณสมบัติภาษา แต่ก็บอกเป็นนัยว่าสิ่งนี้อาจกลายเป็นมาตรฐานในอนาคต การใช้พจนานุกรมใหม่ทำงานได้ดีกว่ารุ่นเก่าในขณะที่รักษาลำดับองค์ประกอบอย่างไร นี่คือข้อความจากเอกสาร: dict()ตอนนี้ใช้เป็น“เล็ก” เป็นตัวแทนผู้บุกเบิกโดย PyPy การใช้หน่วยความจำของ dict ใหม่ () อยู่ระหว่าง 20% ถึง 25% เล็กกว่าเมื่อเปรียบเทียบกับ Python 3.5 PEP 468 (การรักษาลำดับของ ** kwargs ในฟังก์ชั่น) ถูกใช้งานโดยสิ่งนี้ ด้านการรักษาลำดับของการใช้งานใหม่นี้ถือว่าเป็นรายละเอียดการใช้งานและไม่ควรพึ่งพา (อาจเปลี่ยนแปลงได้ในอนาคต แต่เป็นที่ต้องการที่จะมีการใช้งาน dict ใหม่นี้ในภาษาสำหรับรุ่นไม่กี่ก่อนที่จะเปลี่ยนข้อมูลจำเพาะภาษา เพื่อมอบอำนาจความหมายเพื่อรักษาคำสั่งซื้อสำหรับการใช้งาน Python ปัจจุบันและอนาคตทั้งหมดนี้ยังช่วยรักษาความเข้ากันได้ย้อนหลังกับภาษารุ่นเก่าที่คำสั่งการสุ่มซ้ำยังคงมีผลเช่น Python 3.5) (สนับสนุนโดย INADA …

6
ข้อผิดพลาด: วัตถุ“ 'dict' ไม่มีแอตทริบิวต์ 'iteritems'”
ฉันพยายามใช้ NetworkX เพื่ออ่าน Shapefile และใช้ฟังก์ชันwrite_shp()เพื่อสร้าง Shapefiles ที่จะมีโหนดและขอบ แต่เมื่อฉันพยายามเรียกใช้รหัสมันทำให้ฉันมีข้อผิดพลาดต่อไปนี้: Traceback (most recent call last): File "C:/Users/Felipe/PycharmProjects/untitled/asdf.py", line 4, in &lt;module&gt; nx.write_shp(redVial, "shapefiles") File "C:\Python34\lib\site-packages\networkx\readwrite\nx_shp.py", line 192, in write_shp for key, data in e[2].iteritems(): AttributeError: 'dict' object has no attribute 'iteritems' ฉันใช้ Python 3.4 และติดตั้ง NetworkX ผ่านการติดตั้ง pip ก่อนที่ข้อผิดพลาดนี้จะให้อีกอันหนึ่งที่บอกว่า "ไม่มี xrange" หรืออะไรทำนองนั้นดังนั้นฉันจึงค้นหาและเปลี่ยนxrangeเป็นrangeในไฟล์ …

17
จะติดตั้งแพ็คเกจเวอร์ชัน python3 ผ่าน pip บน Ubuntu ได้อย่างไร?
ฉันมีทั้งpython2.7และpython3.2ติดตั้งUbuntu 12.04มา เชื่อมโยงสัญลักษณ์เชื่อมโยงไปยังpythonpython2.7 เมื่อฉันพิมพ์: sudo pip install package-name มันจะเริ่มต้นติดตั้งรุ่นของpython2package-name แพคเกจบางคนสนับสนุนทั้งสองและpython2 จะติดตั้งเวอร์ชั่นผ่านได้อย่างไร?python3python3package-namepip

4
ฉันจะระบุได้อย่างไรว่าชนิดการคืนค่าของเมธอดนั้นเหมือนกับคลาสของตัวเอง?
ฉันมีรหัสต่อไปนี้ในหลาม 3: class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Position) -&gt; Position: return Position(self.x + other.x, self.y + other.y) แต่บรรณาธิการของฉัน (PyCharm) บอกว่าตำแหน่งอ้างอิงไม่สามารถแก้ไขได้ (ใน__add__วิธีการ) ฉันจะระบุได้อย่างไรว่าฉันต้องการประเภทการส่งคืนเป็นประเภทPositionใด แก้ไข: ฉันคิดว่านี่เป็นปัญหา PyCharm จริง ๆ แล้วมันใช้ข้อมูลในการเตือนและการทำให้โค้ดเสร็จสมบูรณ์ แต่แก้ไขให้ฉันถ้าฉันผิดและจำเป็นต้องใช้ไวยากรณ์อื่น ๆ

8
“ SyntaxError: การขาดวงเล็บในการเรียกเพื่อ 'พิมพ์'” หมายถึงอะไรใน Python
เมื่อฉันพยายามที่จะใช้printคำสั่งใน Python มันทำให้ฉันมีข้อผิดพลาดนี้: &gt;&gt;&gt; print "Hello, World!" File "&lt;stdin&gt;", line 1 print "Hello, World!" ^ SyntaxError: Missing parentheses in call to 'print' นั่นหมายความว่าอย่างไร?
389 python  python-3.x 


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.