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

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

6
SQLAlchemy IN clause
ฉันพยายามที่จะทำแบบสอบถามนี้ใน sqlalchemy SELECT id, name FROM user WHERE id IN (123, 456) ฉันต้องการผูกรายการ[123, 456]ณ เวลาดำเนินการ
237 python  sqlalchemy 

7
การกำหนดค่าเริ่มต้นอาร์เรย์ NumPy (เติมด้วยค่าที่เหมือนกัน)
ฉันต้องการที่จะสร้างอาร์เรย์ NumPy ของความยาวองค์ประกอบของซึ่งแต่ละnv มีอะไรที่ดีไปกว่า: a = empty(n) for i in range(n): a[i] = v ฉันรู้zerosและonesจะทำงานกับ v = 0, 1 ฉันสามารถใช้งานv * ones(n)ได้ แต่มันจะไม่ทำงานเมื่อvเป็นNoneและจะช้ากว่ามาก
237 python  arrays  numpy 

18
Python ไม่ทำงานในบรรทัดคำสั่งของ git bash
Python จะไม่ทำงานใน git bash (Windows) เมื่อฉันพิมพ์หลามในบรรทัดคำสั่งมันจะพาฉันไปที่บรรทัดว่างโดยไม่บอกว่ามันได้ป้อนไพ ธ อน 2.7.10 เช่นเดียวกับที่ทำใน Powershell มันไม่ได้ให้ข้อความข้อผิดพลาดแก่ฉัน แต่ python ก็ไม่ได้ทำงาน ฉันได้ตรวจสอบแล้วว่าตัวแปรสภาพแวดล้อมใน PATH รวมอยู่c:\python27ด้วย ฉันจะตรวจสอบอะไรอีก เซสชันที่ปัญหานี้เกิดขึ้นมีลักษณะดังนี้: user@hostname MINGW64 ~ $ type python python is /c/Python27/python user@hostname MINGW64 ~ $ python ... นั่งอยู่ตรงนั้นโดยไม่กลับไปที่พรอมต์

9
จะตรวจสอบว่าตัวแปรเป็นคลาสได้หรือไม่?
ฉันสงสัยว่าจะตรวจสอบได้อย่างไรว่าตัวแปรเป็นคลาส (ไม่ใช่อินสแตนซ์!) หรือไม่ ฉันพยายามใช้ฟังก์ชั่นisinstance(object, class_or_type_or_tuple)การทำเช่นนี้ แต่ฉันไม่ทราบว่าชั้นเรียนจะมีประเภทใด ตัวอย่างเช่นในรหัสต่อไปนี้ class Foo: pass isinstance(Foo, **???**) # i want to make this return True. ฉันพยายามแทนที่ " class" ด้วย??? แต่ฉันรู้ว่าclassเป็นคำหลักในหลาม
236 python  reflection 

16
ลบอักขระพิเศษเครื่องหมายวรรคตอนและช่องว่างทั้งหมดออกจากสตริง
ฉันต้องลบอักขระพิเศษเครื่องหมายวรรคตอนและช่องว่างทั้งหมดออกจากสตริงเพื่อให้ฉันมีตัวอักษรและตัวเลขเท่านั้น
236 python  regex  string 

9
ฉันจะเปรียบเทียบหมายเลขรุ่นใน Python ได้อย่างไร
sys.pathฉันกำลังเดินไดเรกทอรีที่มีไข่เพื่อเพิ่มไข่เหล่านั้น หากมี .egg เดียวกันสองรุ่นในไดเรกทอรีฉันต้องการเพิ่มเฉพาะเวอร์ชันล่าสุด ฉันมีการแสดงออกปกติr"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$เพื่อแยกชื่อและรุ่นจากชื่อไฟล์ ปัญหาคือการเปรียบเทียบหมายเลขรุ่นซึ่งเป็นสตริงเช่น2.3.1ปัญหาคือการเปรียบเทียบจำนวนรุ่นซึ่งเป็นสายเช่น เนื่องจากฉันเปรียบเทียบสตริงมี 2 ประเภทที่สูงกว่า 10 แต่ก็ไม่ถูกต้องสำหรับเวอร์ชัน >>> "2.3.1" > "10.1.1" True ฉันสามารถแยกวิเคราะห์ชี้ขาดไปยัง int ฯลฯ และในที่สุดฉันก็จะได้รับการแก้ปัญหา แต่นี้เป็นงูหลามไม่ Java มีวิธีที่สวยงามเพื่อเปรียบเทียบสตริงรุ่น?

15
จะรับชื่อพารามิเตอร์วิธีได้อย่างไร
รับฟังก์ชั่น Python: def a_method(arg1, arg2): pass ฉันจะแยกจำนวนและชื่อของอาร์กิวเมนต์ได้อย่างไร คือให้ที่ฉันมีการอ้างอิงถึงfuncผมต้องการที่จะกลับมาfunc.[something]("arg1", "arg2") สถานการณ์การใช้งานสำหรับสิ่งนี้คือฉันมีมัณฑนากรและฉันต้องการใช้อาร์กิวเมนต์เมธอดตามลำดับเดียวกับที่ปรากฏสำหรับฟังก์ชันจริงเป็นคีย์ คือมัณฑนากรจะพิมพ์ออกมา"a,b"เมื่อฉันโทรได้a_method("a", "b")อย่างไร

9
วิธีที่ถูกต้องในการแปลงไบต์เป็นสตริงเลขฐานสิบหกใน Python 3 คืออะไร
วิธีที่ถูกต้องในการแปลงไบต์เป็นสตริงเลขฐานสิบหกใน Python 3 คืออะไร ฉันเห็นการอ้างสิทธิ์ของbytes.hexวิธีการbytes.decodeตัวแปลงสัญญาณและได้ลองฟังก์ชั่นอื่น ๆ ที่เป็นไปได้อย่างน่าประหลาดใจอย่างน้อยที่สุดโดยไม่มีประโยชน์ ฉันแค่อยากให้ไบต์เป็นเลขฐานสิบหก!
236 python  python-3.x  hex 

3
การเพิ่มค่าพารามิเตอร์เริ่มต้นด้วยคำใบ้ประเภทใน Python
ถ้าฉันมีฟังก์ชั่นเช่นนี้: def foo(name, opts={}): pass และฉันต้องการเพิ่มคำแนะนำประเภทให้กับพารามิเตอร์ฉันจะทำอย่างไร วิธีที่ฉันคิดว่าจะทำให้ฉันมีข้อผิดพลาดทางไวยากรณ์: def foo(name: str, opts={}: dict) -> str: pass ต่อไปนี้ไม่ได้เกิดข้อผิดพลาดทางไวยากรณ์ แต่ดูเหมือนจะเป็นวิธีที่ใช้งานง่ายในการจัดการกรณีนี้: def foo(name: str, opts: dict={}) -> str: pass ฉันไม่พบสิ่งใดในtypingเอกสารหรือในการค้นหาของ Google แก้ไข: ฉันไม่ทราบว่าอาร์กิวเมนต์เริ่มต้นทำงานอย่างไรใน Python แต่เพื่อคำถามนี้ฉันจะเก็บตัวอย่างข้างต้น โดยทั่วไปการทำสิ่งต่อไปนี้ดีกว่ามาก: def foo(name: str, opts: dict=None) -> str: if not opts: opts={} pass

10
Matplotlib 2 แผนการย่อย, 1 Colorbar
ฉันใช้เวลานานเกินไปในการค้นคว้าวิธีรับสอง subplots เพื่อแชร์แกน y เดียวกันกับ colorbar เดียวที่แชร์ระหว่าง Matplotlib สิ่งที่เกิดขึ้นคือเมื่อฉันเรียกใช้colorbar()ฟังก์ชั่นอย่างใดอย่างหนึ่งsubplot1หรือsubplot2มันจะปรับขนาดพล็อตแบบอัตโนมัติเพื่อให้ colorbar บวกกับพล็อตจะพอดีภายในกล่อง 'subplot' ขอบเขต ขนาด เพื่อหลีกเลี่ยงปัญหานี้ฉันพยายามสร้างแผนย่อยที่สามซึ่งฉันถูกแฮ็กเพื่อทำให้ไม่มีพล็อตที่มีแถบสีอยู่ ปัญหาเดียวคือตอนนี้ความสูงและความกว้างของทั้งสองแปลงไม่เท่ากันและฉันไม่สามารถหาวิธีที่จะทำให้มันดูโอเค นี่คือรหัสของฉัน: from __future__ import division import matplotlib.pyplot as plt import numpy as np from matplotlib import patches from matplotlib.ticker import NullFormatter # SIS Functions TE = 1 # Einstein radius g1 = lambda x,y: …

9
ทำไม PEP-8 ระบุความยาวบรรทัดสูงสุด 79 ตัวอักษร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ทำไมในสหัสวรรษนี้ Python PEP-8จึงควรระบุความยาวบรรทัดสูงสุด 79 ตัวอักษร? แทบทุกตัวแก้ไขโค้ดภายใต้ดวงอาทิตย์สามารถจัดการกับบรรทัดที่ยาวกว่าได้ สิ่งที่ควรทำเมื่อมีการตัดควรเป็นทางเลือกของผู้บริโภคเนื้อหาไม่ใช่ความรับผิดชอบของผู้สร้างเนื้อหา มีเหตุผลที่ดี (ที่ถูกต้อง) ในการยึดถืออักขระ 79 ตัวในยุคนี้หรือไม่
235 python  pep8 

18
วิธีการเปิดใช้งาน virtualenv?
ฉันผ่านการค้นหาและทดลองใช้ทางเลือกต่าง ๆ โดยไม่ประสบความสำเร็จและใช้เวลาหลายวันในตอนนี้ - ทำให้ฉันเป็นบ้า ทำงานบน Red Hat Linux กับ Python 2.5.2 เริ่มใช้ Virtualenv ล่าสุด แต่ไม่สามารถเปิดใช้งานได้ฉันพบว่ามีบางรุ่นที่แนะนำรุ่นก่อนหน้านี้ที่จำเป็นดังนั้นฉันจึงใช้ Virtualenv 1.6.4 ตามที่ควรจะใช้กับ Python 2.6 ดูเหมือนว่าจะติดตั้งสภาพแวดล้อมเสมือนจริง [necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual New python executable in virtual/bin/python Installing setuptools............done. Installing pip...............done. สภาพแวดล้อมดูโอเค [necrailk@server6 ~]$ cd virtual [necrailk@server6 ~/virtual]$ dir bin include lib พยายามเปิดใช้งาน [necrailk@server6 ~/virtual]$ …
235 python  linux  virtualenv 

4
การเลือกด้วยเกณฑ์ที่ซับซ้อนจาก pandas.DataFrame
ตัวอย่างเช่นฉันมี DF ง่าย import pandas as pd from random import randint df = pd.DataFrame({'A': [randint(1, 9) for x in xrange(10)], 'B': [randint(1, 9)*10 for x in xrange(10)], 'C': [randint(1, 9)*100 for x in xrange(10)]}) ฉันสามารถเลือกค่าจาก 'A' ซึ่งค่าที่สอดคล้องกันสำหรับ 'B' จะมากกว่า 50 และสำหรับ 'C' - ไม่เท่ากับ 900 โดยใช้วิธีการและสำนวนของ Pandas?
235 python  pandas 


9
อ่านกระบวนการ stdout ย่อยโดยบรรทัด
สคริปต์ python ของฉันใช้กระบวนการย่อยเพื่อเรียกใช้ยูทิลิตี linux ที่มีเสียงดังมาก ฉันต้องการเก็บผลลัพธ์ทั้งหมดไปยังล็อกไฟล์และแสดงบางส่วนแก่ผู้ใช้ ฉันคิดว่าสิ่งต่อไปนี้ใช้งานได้ แต่เอาต์พุตไม่ปรากฏขึ้นในแอปพลิเคชันของฉันจนกว่ายูทิลิตี้จะสร้างเอาต์พุตจำนวนมาก #fake_utility.py, just generates lots of output over time import time i = 0 while True: print hex(i)*512 i += 1 time.sleep(0.5) #filters output import subprocess proc = subprocess.Popen(['python','fake_utility.py'],stdout=subprocess.PIPE) for line in proc.stdout: #the real code does filtering here print "test:", line.rstrip() พฤติกรรมที่ฉันต้องการจริงๆคือสคริปต์ตัวกรองเพื่อพิมพ์แต่ละบรรทัดตามที่ได้รับจากกระบวนการย่อย …
235 python  subprocess 

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