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

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

3
ทำไม x ** 4.0 เร็วกว่า x ** 4 ใน Python 3
ทำไมจึงx**4.0เร็วกว่าx**4? ฉันใช้ CPython 3.5.2 $ python -m timeit "for x in range(100):" " x**4.0" 10000 loops, best of 3: 24.2 usec per loop $ python -m timeit "for x in range(100):" " x**4" 10000 loops, best of 3: 30.6 usec per loop ฉันพยายามเปลี่ยนพลังที่ฉันยกขึ้นมาเพื่อดูว่ามันทำหน้าที่อย่างไรและตัวอย่างเช่นถ้าฉันเพิ่ม x เป็นพลังของ 10 หรือ 16 มันกระโดดจาก 30 …

7
ความไม่ลงรอยกันของดองของอาร์เรย์ numpy ระหว่าง Python 2 และ 3
ฉันพยายามที่จะโหลดชุด MNIST ที่เชื่อมโยงที่นี่ในหลาม 3.2 ใช้โปรแกรมนี้: import pickle import gzip import numpy with gzip.open('mnist.pkl.gz', 'rb') as f: l = list(pickle.load(f)) print(l) น่าเสียดายที่มันทำให้ฉันมีข้อผิดพลาด: Traceback (most recent call last): File "mnist.py", line 7, in <module> train_set, valid_set, test_set = pickle.load(f) UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in …

14
ข้อผิดพลาด UnicodeDecodeError: ตัวแปลงสัญญาณ 'utf-8' ไม่สามารถถอดรหัสไบต์ 0xff ในตำแหน่ง 0: ไบต์เริ่มต้นที่ไม่ถูกต้อง
https://github.com/affinelayer/pix2pix-tensorflow/tree/master/tools เกิดข้อผิดพลาดเมื่อรวบรวม "process.py" ในเว็บไซต์ด้านบน python tools/process.py --input_dir data -- operation resize --outp ut_dir data2/resize data/0.jpg -> data2/resize/0.png Traceback (การโทรล่าสุดครั้งล่าสุด): File "tools/process.py", line 235, in <module> main() File "tools/process.py", line 167, in main src = load(src_path) File "tools/process.py", line 113, in load contents = open(path).read() File"/home/user/anaconda3/envs/tensorflow_2/lib/python3.5/codecs.py", line 321, in decode (result, …
163 python  python-3.x  utf-8 

7
การโหลดโมดูลที่ให้ NameError: ไม่ได้กำหนดชื่อ 'reload'
ฉันกำลังพยายามโหลดโมดูลที่ฉันได้นำเข้าแล้วใน Python 3 ฉันรู้ว่าคุณจะต้องนำเข้าเพียงครั้งเดียวและดำเนินการimportคำสั่งอีกครั้งจะไม่ทำอะไรเลย กำลังดำเนินการreload(foo)ให้ข้อผิดพลาดนี้: Traceback (most recent call last): File "(stdin)", line 1, in (module) ... NameError: name 'reload' is not defined ข้อผิดพลาดหมายถึงอะไร
162 python  python-3.x 

6
sys.maxint ใน Python 3 คืออะไร
"sys.maxint"ฉันได้รับการพยายามที่จะหาวิธีที่จะเป็นตัวแทนของจำนวนเต็มสูงสุดและฉันได้อ่านกับการใช้งาน อย่างไรก็ตามใน Python 3 เมื่อฉันเรียกว่าฉันจะได้รับ: AttributeError: module 'object' has no attribute 'maxint'
162 python  python-3.x 

3
ข้อความ PyLint: การบันทึกการจัดรูปแบบการแก้ไข
สำหรับรหัสต่อไปนี้: logger.debug('message: {}'.format('test')) pylint สร้างคำเตือนต่อไปนี้: การบันทึก - รูปแบบ - การแก้ไข (W1202): ใช้การจัดรูปแบบ% ในฟังก์ชั่นการบันทึกและส่งผ่านพารามิเตอร์% เป็นอาร์กิวเมนต์ที่ใช้เมื่อคำสั่งการบันทึกมีรูปแบบการโทรเป็น "การบันทึก (format_string.format (format_args ... ))" การเรียกดังกล่าวควรใช้การจัดรูปแบบ% แทน แต่ปล่อยให้การแก้ไขไปยังฟังก์ชันการบันทึกโดยส่งพารามิเตอร์เป็นอาร์กิวเมนต์ ฉันรู้ว่าฉันสามารถปิดคำเตือนนี้ได้ แต่ฉันต้องการที่จะเข้าใจ ฉันถือว่าการใช้format()เป็นวิธีที่เหมาะสมในการพิมพ์คำสั่งใน Python 3 ทำไมจึงไม่เป็นความจริงสำหรับคำสั่ง logger?

5
Python กำหนดว่าจะสร้างคีย์หรือผนวกองค์ประกอบกับคีย์ได้อย่างไร
ฉันมีพจนานุกรมที่ว่างเปล่า ชื่อ: dict_x มันคือการมีกุญแจที่มีค่าเป็นรายการ จากการวนซ้ำแยกกันฉันได้รับคีย์ (เช่น:) key_123และไอเท็ม (tuple) เพื่อวางในรายการdict_xค่าkey_123ของ หากคีย์นี้มีอยู่แล้วฉันต้องการผนวกรายการนี้ หากคีย์นี้ไม่มีอยู่ฉันต้องการสร้างด้วยรายการเปล่าแล้วต่อท้ายหรือต่อเติมหรือสร้างด้วย tuple ในนั้น ในอนาคตเมื่อคีย์นี้ปรากฏขึ้นอีกครั้งเนื่องจากมีอยู่ฉันต้องการให้ผนวกค่าอีกครั้ง รหัสของฉันประกอบด้วย: รับคีย์และค่า ดูว่าไม่dict_xสำคัญที่มีอยู่ใน และถ้าไม่สร้างมัน: dict_x[key] == [] หลังจากนั้น: dict_x[key].append(value) นี่เป็นวิธีที่จะทำหรือไม่ ฉันจะลองใช้try/exceptบล็อคได้หรือไม่

8
วิธีการลบสตริงย่อยเฉพาะจากชุดของสตริงใน Python?
ฉันมีชุดสตริงset1และสตริงทั้งหมดset1มีสตริงย่อยสองรายการที่ฉันไม่ต้องการและต้องการลบ ตัวอย่างอินพุต: set1={'Apple.good','Orange.good','Pear.bad','Pear.good','Banana.bad','Potato.bad'} โดยพื้นฐานแล้วฉันต้องการลบ.goodและ.badสตริงย่อยออกจากสตริงทั้งหมด สิ่งที่ฉันพยายาม: for x in set1: x.replace('.good','') x.replace('.bad','') แต่นี่ดูเหมือนจะไม่ทำงานเลย ไม่มีการเปลี่ยนแปลงอย่างแน่นอนในเอาต์พุตและเหมือนกับอินพุต ฉันลองใช้for x in list(set1)แทนของเดิม แต่มันไม่เปลี่ยนแปลงอะไรเลย
160 python  python-3.x 

12
มีประโยชน์อะไรบ้างสำหรับ“ คำอธิบายประกอบฟังก์ชั่น” ของ Python3
คำอธิบายประกอบฟังก์ชั่น: PEP-3107 ฉันวิ่งข้ามส่วนของรหัสที่แสดงให้เห็นถึงคำอธิบายประกอบของ Python3 แนวคิดนี้เรียบง่าย แต่ฉันคิดไม่ออกเลยว่าทำไมสิ่งเหล่านี้ถึงถูกนำไปใช้ใน Python3 หรือการใช้งานที่ดีสำหรับพวกเขา บางทีอาจจะทำให้ฉันรู้แจ้ง? มันทำงานอย่างไร: def foo(a: 'x', b: 5 + 6, c: list) -> max(2, 9): ... function body ... ทุกอย่างที่ติดตามโคลอนหลังจากอาร์กิวเมนต์คือ 'คำอธิบายประกอบ' และข้อมูลต่อไปนี้->จะเป็นคำอธิบายประกอบสำหรับค่าส่งคืนของฟังก์ชัน foo.func_annotations จะส่งคืนพจนานุกรม: {'a': 'x', 'b': 11, 'c': list, 'return': 9} การมีสิ่งนี้มีความสำคัญอะไร?

1
ทำไม Python 3.x's super () เวทมนต์?
ใน Python 3.x super()สามารถเรียกใช้โดยไม่มีอาร์กิวเมนต์: class A(object): def x(self): print("Hey now") class B(A): def x(self): super().x() >>> B().x() Hey now เพื่อที่จะทำให้งานนี้บางมายากลรวบรวมเวลาที่จะดำเนินการอย่างใดอย่างหนึ่งเป็นผลมาจากที่ซึ่งเป็นรหัสต่อไปนี้ (ซึ่ง rebinds superไปsuper_) ล้มเหลว: super_ = super class A(object): def x(self): print("No flipping") class B(A): def x(self): super_().x() >>> B().x() Traceback (most recent call last): File "<stdin>", line 1, in …
159 python  python-3.x  super 

5
csv.Error: iterator ควรส่งคืนสตริงไม่ใช่ไบต์
Sample.csv มีดังต่อไปนี้: NAME Id No Dept Tom 1 12 CS Hendry 2 35 EC Bahamas 3 21 IT Frank 4 61 EE และไฟล์ Python มีรหัสต่อไปนี้: import csv ifile = open('sample.csv', "rb") read = csv.reader(ifile) for row in read : print (row) เมื่อฉันเรียกใช้รหัสข้างต้นใน Python ฉันได้รับข้อยกเว้นต่อไปนี้: ไฟล์ "csvformat.py" บรรทัดที่ 4 ในแถวที่อ่าน: _csv.Error: …
159 python  python-3.x  csv 

9
จะแทนที่ NaN ด้วยค่านำหน้าใน DataFrame ของแพนด้าได้อย่างไร
สมมติว่าฉันมี DataFrame กับNaNs: >>> import pandas as pd >>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]]) >>> df 0 1 2 0 1 2 3 1 4 NaN NaN 2 NaN NaN 9 สิ่งที่ฉันต้องทำคือแทนที่ทุกค่าด้วยค่าที่NaNไม่ใช่NaNค่าแรกในคอลัมน์เดียวกันด้านบน สันนิษฐานว่าแถวแรกจะไม่มีNaN. ดังนั้นสำหรับตัวอย่างก่อนหน้าผลลัพธ์จะเป็น 0 1 2 0 1 2 3 1 4 2 …

6
pythonw.exe หรือ python.exe?
เรื่องสั้นสั้น ๆ : pythonw.exeไม่ทำอะไรเลยไม่python.exeยอมรับอะไร (ฉันควรใช้อันไหนดี) test.py: print "a" หน้าต่าง CMD: C:\path>pythonw.exe test.py <BLANK LINE> C:\path> C:\path>python.exe test.py File "C:\path\test.py", line 7 print "a" ^ SyntaxError: invalid syntax C:\path> โปรดบอกฉันว่าฉันทำอะไรผิดอย่างร้ายแรง
157 python  python-3.x 

4
“ pkg-resources == 0.0.0” ในเอาต์พุตของคำสั่ง pip freeze คืออะไร
เมื่อฉันเรียกpip freezeฉันเห็น (ในแพคเกจอื่น ๆ pkg-resources==0.0.0คาดว่า) ฉันได้เห็นโพสต์ไม่กี่กล่าวขวัญแพคเกจนี้ (รวมถึงคนนี้ ) pip freezeแต่ไม่มีใครอธิบายว่ามันคืออะไรหรือทำไมมันจะรวมอยู่ในการส่งออกของ เหตุผลหลักที่ฉันสงสัยว่าเป็นเพราะความอยากรู้อยากเห็น แต่ก็ดูเหมือนว่าจะมีบางสิ่งบางอย่างในบางกรณีเมื่อพยายามติดตั้งแพคเกจด้วยrequirements.txtไฟล์ที่สร้างด้วยpip freezeที่มีpkg-resources==0.0.0บรรทัด (ตัวอย่างเช่นเมื่อTravis CIพยายามติดตั้งการอ้างอิงผ่านpipและพบสิ่งนี้) ไลน์). คืออะไรpkg-resourcesและตกลงเพื่อลบบรรทัดนี้ออกrequirements.txtหรือไม่ ปรับปรุง: ฉันได้พบว่าสายนี้เท่านั้นดูเหมือนว่าจะมีอยู่ในการส่งออกของเมื่อผมอยู่ในpip freeze virtualenvฉันยังไม่แน่ใจว่ามันคืออะไรหรือสิ่งที่มันไม่ virtualenvแต่ฉันจะตรวจสอบต่อไปรู้ว่ามันมีแนวโน้มที่จะเกี่ยวข้องกับ

20
ฉันสามารถติดตั้ง Python 3.x และ 2.x บนคอมพิวเตอร์ Windows เครื่องเดียวกันได้หรือไม่
ฉันใช้ Windows และ shell / OS จะรัน Python โดยอัตโนมัติตามการตั้งค่ารีจิสทรีเมื่อคุณเรียกใช้โปรแกรมในบรรทัดคำสั่ง การหยุดพักนี้จะเกิดขึ้นไหมถ้าฉันติดตั้ง Python เวอร์ชั่น 2.x และ 3.x บนเครื่องเดียวกัน ฉันต้องการเล่นกับ Python 3 ในขณะที่ยังสามารถเรียกใช้สคริปต์ 2.x บนเครื่องเดียวกันได้

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