คำถามติดแท็ก python-3.6

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
ModuleNotFoundError: มันหมายความว่าอะไร __main__ ไม่ใช่แพ็คเกจ?
ฉันพยายามเรียกใช้โมดูลจากคอนโซล โครงสร้างของไดเรกทอรีของฉันคือ: ฉันพยายามเรียกใช้โมดูลp_03_using_bisection_search.pyจากproblem_set_02ไดเรกทอรีโดยใช้: $ python3 p_03_using_bisection_search.py รหัสภายในp_03_using_bisection_search.pyคือ: __author__ = 'm' from .p_02_paying_debt_off_in_a_year import compute_balance_after def compute_bounds(balance: float, annual_interest_rate: float) -> (float, float): # there is code here, but I have omitted it to save space pass def compute_lowest_payment(balance: float, annual_interest_rate: float) -> float: # there is code here, but I …

4
จะใช้ newline '\ n' ใน f-string เพื่อจัดรูปแบบเอาต์พุตใน Python 3.6 ได้อย่างไร
ฉันต้องการทราบวิธีจัดรูปแบบเคสนี้ด้วยวิธี Pythonic ด้วย f-strings: names = ['Adam', 'Bob', 'Cyril'] text = f"Winners are:\n{'\n'.join(names)}" print(text) ปัญหาคือ'\'ไม่สามารถใช้ภายใน{...}ส่วนนิพจน์ของ f-string ผลลัพธ์ที่คาดหวัง: Winners are: Adam Bob Cyril

6
ฉันจะแปลง. py เป็น. exe สำหรับ Python ได้อย่างไร
ฉันกำลังพยายามแปลงโปรแกรม Python ที่ค่อนข้างเรียบง่ายเป็นไฟล์ปฏิบัติการและไม่พบสิ่งที่ฉันกำลังมองหาดังนั้นฉันจึงมีคำถามสองสามข้อ (ฉันใช้ Python 3.6): วิธีการทำที่ฉันพบจนถึงตอนนี้มีดังนี้ ดาวน์โหลด Python เวอร์ชันเก่าและใช้ไฟล์ pyinstaller/py2exe การตั้งค่าสภาพแวดล้อมเสมือนใน Python 3.6 ที่จะช่วยให้ฉันทำ 1. ดาวน์โหลดตัวแปลง Python เป็น C ++ และใช้สิ่งนั้น นี่คือสิ่งที่ฉันได้ลอง / สิ่งที่พบปัญหา ฉันติดตั้งpyinstallerก่อนการดาวน์โหลดที่จำเป็นก่อนหน้านั้น (pypi-something) จึงไม่ทำงาน หลังจากดาวน์โหลดไฟล์ข้อกำหนดเบื้องต้นแล้วpyinstallerยังไม่รู้จักไฟล์นั้น ถ้าฉันตั้งค่า Virtualenv ใน Python 2.7 ฉันจำเป็นต้องติดตั้ง Python 2.7 หรือไม่ ในทำนองเดียวกันตัวแปลง python เป็น C ++ ตัวเดียวที่ฉันเห็นว่าใช้งานได้จนถึง Python 3.5 เท่านั้น - ฉันจำเป็นต้องดาวน์โหลดและใช้เวอร์ชันนี้หรือไม่หากพยายามทำเช่นนี้

16
ทำไม Python 3.6.1 ถึงพ่น AttributeError: module 'enum' จึงไม่มีแอตทริบิวต์ 'IntFlag'
ฉันเพิ่งติดตั้ง Python 3.6.1 สำหรับ MacOS X เมื่อฉันพยายามเรียกใช้ Console (หรือรันอะไรก็ตามด้วย Python3) ข้อผิดพลาดนี้จะเกิดขึ้น: AttributeError: module 'enum' has no attribute 'IntFlag' $ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 Failed to import the site module Traceback (most recent call last): File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 544, in <module> main() File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 530, in main known_paths = addusersitepackages(known_paths) File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line …

10
วิธีการเลื่อน / เลื่อนการประเมิน f-strings?
ฉันใช้สตริงเทมเพลตเพื่อสร้างไฟล์บางไฟล์และฉันชอบความกระชับของ f-strings ใหม่เพื่อจุดประสงค์นี้เพื่อลดรหัสเทมเพลตก่อนหน้าของฉันจากสิ่งนี้: template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print (template_a.format(**locals())) ตอนนี้ฉันทำได้แล้วโดยแทนที่ตัวแปรโดยตรง: names = ["foo", "bar"] for name in names: print (f"The current name is {name}") อย่างไรก็ตามบางครั้งมันก็สมเหตุสมผลที่จะกำหนดเทมเพลตไว้ที่อื่น - สูงขึ้นในโค้ดหรือนำเข้าจากไฟล์หรือบางสิ่ง ซึ่งหมายความว่าเทมเพลตเป็นสตริงแบบคงที่ที่มีแท็กการจัดรูปแบบอยู่ในนั้น จะต้องมีบางอย่างเกิดขึ้นกับสตริงเพื่อบอกให้ล่ามแปลความหมายของสตริงเป็นสตริง f ใหม่ แต่ฉันไม่รู้ว่ามีสิ่งนั้นหรือไม่ มีวิธีใดบ้างในการนำสตริงเข้ามาและตีความว่าเป็น f-string เพื่อหลีกเลี่ยงการใช้การ.format(**locals())โทร? ตามหลักการแล้วฉันต้องการโค้ดแบบนี้ ... ( magic_fstring_functionส่วนที่ฉันไม่เข้าใจอยู่ที่ไหน): …

4
ฉันจะใส่คำอธิบายประกอบประเภทใน for-loop ได้อย่างไร
ฉันต้องการใส่คำอธิบายประกอบประเภทของตัวแปรในfor-loop ฉันลองสิ่งนี้: for i: int in range(5): pass แต่มันไม่ได้ผลแน่นอน สิ่งที่ฉันคาดหวังคือการเติมข้อความอัตโนมัติใน PyCharm 2016.3.2 คำอธิบายประกอบล่วงหน้าเช่นนี้: i: int for i in range(5): pass ไม่ได้ช่วย คำอธิบายประกอบล่วงหน้าของ PS ใช้ได้กับ PyCharm> = 2017.1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.