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

Python เป็นภาษาการเขียนโปรแกรมแบบหลายกระบวนทัศน์แบบไดนามิกพิมพ์อเนกประสงค์ มันถูกออกแบบมาให้เรียนรู้เข้าใจและใช้งานได้อย่างรวดเร็วและบังคับใช้ไวยากรณ์ที่สะอาดและสม่ำเสมอ โปรดทราบว่า Python 2 สนับสนุนอย่างเป็นทางการตั้งแต่วันที่ 01-01-2020 สำหรับคำถาม Python เฉพาะรุ่นให้เพิ่มแท็ก [python-2.7] หรือ [python-3.x] เมื่อใช้ตัวแปรหรือไลบรารี Python (เช่น Jython, PyPy, Pandas, Numpy) โปรดรวมไว้ในแท็ก

8
__future__ คืออะไรใน Python ที่ใช้และวิธีการใช้งานเมื่อไรและมันทำงานอย่างไร
__future__มักปรากฏในโมดูล Python ฉันไม่เข้าใจสิ่งที่__future__เป็นและวิธีการ / เมื่อจะใช้งานได้แม้กระทั่งหลังจากที่ได้อ่านหลามของ__future__เอกสาร มีใครอธิบายได้บ้างไหม? คำตอบเล็ก ๆ น้อย ๆ เกี่ยวกับการใช้งานพื้นฐานที่__future__ฉันได้รับนั้นถูกต้อง อย่างไรก็ตามฉันต้องเข้าใจอีกสิ่งหนึ่งเกี่ยวกับวิธีการ__future__ทำงาน: แนวคิดที่สับสนมากที่สุดสำหรับฉันคือวิธีที่ไพ ธ อนรีลีสปัจจุบันมีคุณสมบัติสำหรับรีลีสในอนาคตและวิธีการที่โปรแกรมที่ใช้ฟีเจอร์จากรีลีสในอนาคตสามารถรวบรวมได้สำเร็จใน Python เวอร์ชันปัจจุบัน ฉันเดาว่ารุ่นปัจจุบันบรรจุด้วยคุณสมบัติที่เป็นไปได้สำหรับอนาคต อย่างไรก็ตามคุณสมบัตินี้มีให้ใช้งานโดยใช้เพียงอย่างเดียว__future__เพราะไม่ใช่มาตรฐานปัจจุบัน แจ้งให้เราทราบหากฉันถูก
694 python  python-2.x 

25
ฉันจะตรวจสอบว่าตัวแปร Python เป็นฟังก์ชันได้อย่างไร
ฉันมีตัวแปรxและฉันต้องการทราบว่ามันชี้ไปที่ฟังก์ชั่นหรือไม่ ฉันหวังว่าฉันจะทำสิ่งที่ชอบ: >>> isinstance(x, function) แต่นั่นทำให้ฉัน: Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'function' is not defined เหตุผลที่ฉันเลือกนั่นเป็นเพราะ >>> type(x) <type 'function'>
687 python 

25
จะตรวจสอบเวอร์ชั่นของโมดูลหลามได้อย่างไร?
ฉันเพิ่งติดตั้งโมดูลหลาม: constructและstatlibด้วยsetuptoolsสิ่งนี้: # Install setuptools to be able to download the following sudo apt-get install python-setuptools # Install statlib for lightweight statistical tools sudo easy_install statlib # Install construct for packing/unpacking binary data sudo easy_install construct ฉันต้องการตรวจสอบเวอร์ชันของพวกเขา (โดยทางโปรแกรม) มีเทียบเท่ากับpython --versionฉันสามารถเรียกใช้จากบรรทัดคำสั่งหรือไม่ 2.7.3รุ่นหลามของฉันคือ
687 python 

6
pip ติดตั้งจากสาขา git repo
กำลังพยายามpipติดตั้งสาขาเฉพาะของ repo Google บอกให้ฉันทำ pip ติดตั้ง git + https://github.com/user/repo.git@branch ชื่อของสาขาคือissue/34/oscar-0.6ดังนั้นฉันได้pip install https://github.com/tangentlabs/django-oscar-paypal.git@/issue/34/oscar-0.6แต่กลับ 404 ฉันจะติดตั้งสาขานี้ได้อย่างไร
686 python  git  pip 

8
วิธีสร้าง GUID / UUID ใน Python
ฉันจะสร้าง GUID ใน Python ที่เป็นอิสระจากแพลตฟอร์มได้อย่างไร ฉันได้ยินว่ามีวิธีการใช้ ActivePython บน Windows แต่เป็น Windows เท่านั้นเนื่องจากใช้ COM มีวิธีการใช้ Python ธรรมดาหรือไม่?

12
ทำไมฉันไม่ควรใช้ PyPy กับ CPython ถ้า PyPy เร็วกว่า 6.3 เท่า?
ฉันได้ยินมามากมายเกี่ยวกับโครงการPyPy พวกเขาอ้างว่ามันคือ 6.3 ครั้งเร็วกว่าCPythonล่ามบนเว็บไซต์ของพวกเขา เมื่อใดก็ตามที่เราพูดถึงภาษาไดนามิกเช่น Python ความเร็วเป็นหนึ่งในปัญหาอันดับต้น ๆ เพื่อแก้ปัญหานี้พวกเขาบอกว่า PyPy เร็วขึ้น 6.3 เท่า ปัญหาที่สองคือการขนานกันInterpreter Lock (GIL) ที่น่าอับอาย สำหรับเรื่องนี้ PyPy บอกว่ามันสามารถให้ GIL น้อยหลาม หาก PyPy สามารถแก้ปัญหาความท้าทายที่ยิ่งใหญ่เหล่านี้อะไรคือจุดอ่อนที่ป้องกันการยอมรับในวงกว้าง? นั่นคือจะบอกว่าสิ่งที่ป้องกันไม่ให้คนอย่างผมซึ่งเป็นผู้พัฒนาหลามทั่วไปจากการเปลี่ยนไป PyPy ในขณะนี้ ?

12
ลบสตริงว่างออกจากรายการของสตริง
ฉันต้องการลบสตริงที่ว่างเปล่าทั้งหมดออกจากรายการของสตริงในไพ ธ อน ความคิดของฉันมีลักษณะเช่นนี้: while '' in str_list: str_list.remove('') มีวิธี pythonic เพิ่มเติมที่จะทำเช่นนี้?
683 python  string  list 

22
วิธีการพิมพ์วันที่ในรูปแบบปกติ?
นี่คือรหัสของฉัน: import datetime today = datetime.date.today() print(today) พิมพ์นี้: 2008-11-22ซึ่งเป็นสิ่งที่ฉันต้องการ แต่ฉันมีรายการฉันจะต่อท้ายแล้วทุกอย่างก็จะ "สกปรก" นี่คือรหัส: import datetime mylist = [] today = datetime.date.today() mylist.append(today) print(mylist) สิ่งนี้จะพิมพ์สิ่งต่อไปนี้: [datetime.date(2008, 11, 22)] ฉันจะได้รับวันที่ง่ายๆได้2008-11-22อย่างไร
683 python  datetime  date 

13
ฉันจะกำหนดขนาดของวัตถุใน Python ได้อย่างไร
ฉันต้องการทราบวิธีรับขนาดของวัตถุเช่นสตริงจำนวนเต็ม ฯลฯ ใน Python คำถามที่เกี่ยวข้อง: มีกี่ไบต์ต่อองค์ประกอบในรายการ Python (tuple) ฉันใช้ไฟล์ XML ซึ่งมีฟิลด์ขนาดที่ระบุขนาดของค่า ฉันต้องแยกวิเคราะห์ XML นี้และทำการเข้ารหัสของฉัน เมื่อฉันต้องการเปลี่ยนค่าของฟิลด์ใดฟิลด์หนึ่งฉันจะตรวจสอบฟิลด์ขนาดของค่านั้น ที่นี่ฉันต้องการเปรียบเทียบว่าค่าใหม่ที่ฉันป้อนฆ้องมีขนาดเดียวกันกับใน XML ฉันต้องตรวจสอบขนาดของค่าใหม่ ในกรณีของสตริงฉันสามารถพูดความยาวได้ แต่ในกรณีของ int, float ฯลฯ ฉันสับสน


30
จัดแต่งทรงผมแบบหลายเงื่อนไขในงบ 'ถ้า'? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดเมื่อเดือนที่แล้ว บางครั้งฉันแบ่งเงื่อนไขที่ยาวifเป็นหลายบรรทัด วิธีที่ชัดเจนที่สุดในการทำเช่นนี้คือ: if (cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something ไม่ดึงดูดสายตามากนักเพราะการกระทำนั้นกลมกลืนกับเงื่อนไข อย่างไรก็ตามเป็นวิธีที่เป็นธรรมชาติโดยใช้การย่อหน้า Python ที่ถูกต้องจำนวน 4 ช่อง สำหรับช่วงเวลาที่ฉันใช้: if ( cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): do_something …

13
วิธีการนำเข้าคลาสภายในไดเรกทอรีเดียวกันหรือไดเรกทอรีย่อยได้อย่างไร
ฉันมีไดเรกทอรีที่เก็บไฟล์. pyทั้งหมด bin/ main.py user.py # where class User resides dir.py # where class Dir resides ฉันต้องการที่จะใช้เรียนจากuser.pyและdir.pyในmain.py ฉันจะนำเข้าคลาส Python เหล่านี้ไปยังmain.py ได้อย่างไร นอกจากนี้ฉันจะนำเข้าคลาสได้Userอย่างไรหากuser.pyอยู่ในไดเรกทอรีย่อย bin/ dir.py main.py usr/ user.py

19
การเขียนรายการไปยังไฟล์ด้วย Python
นี่เป็นวิธีที่สะอาดที่สุดในการเขียนรายการลงในไฟล์เนื่องจากwritelines()ไม่ได้แทรกอักขระบรรทัดใหม่หรือไม่ file.writelines(["%s\n" % item for item in list]) ดูเหมือนว่าจะมีวิธีมาตรฐาน ...
674 python  file  list  file-io  newline 

7
ฉันจะเปิดหลายไฟล์โดยใช้“ with open” ใน Python ได้อย่างไร
ฉันต้องการเปลี่ยนไฟล์สองสามไฟล์ในครั้งเดียวถ้าฉันสามารถเขียนไฟล์ทั้งหมดได้ ฉันสงสัยว่าฉันจะสามารถรวมการโทรแบบเปิดหลายสายกับwithคำสั่งได้หรือไม่: try: with open('a', 'w') as a and open('b', 'w') as b: do_something() except IOError as e: print 'Operation failed: %s' % e.strerror หากเป็นไปไม่ได้โซลูชันที่สง่างามของปัญหานี้จะเป็นอย่างไร
672 python  file-io 

18
เปรียบเทียบความเร็วกับ Project Euler: C กับ Python เทียบกับ Erlang และ Haskell
ฉันได้นำปัญหา # 12จากProject Euler มาเป็นแบบฝึกหัดการเขียนโปรแกรมและเพื่อเปรียบเทียบการใช้งานของฉันใน C, Python, Erlang และ Haskell เพื่อให้ได้เวลาดำเนินการที่สูงขึ้นฉันค้นหาหมายเลขสามเหลี่ยมแรกที่มีตัวหารมากกว่า 1,000 ตัวแทนที่จะเป็น 500 ตามที่ระบุในปัญหาดั้งเดิม ผลที่ได้คือ: ค: lorenzo@enzo:~/erlang$ gcc -lm -o euler12.bin euler12.c lorenzo@enzo:~/erlang$ time ./euler12.bin 842161320 real 0m11.074s user 0m11.070s sys 0m0.000s งูหลาม: lorenzo@enzo:~/erlang$ time ./euler12.py 842161320 real 1m16.632s user 1m16.370s sys 0m0.250s Python กับ PyPy: lorenzo@enzo:~/Downloads/pypy-c-jit-43780-b590cf6de419-linux64/bin$ time ./pypy …

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