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

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

3
PyCharm สามารถแสดงรายการข้อผิดพลาด Python ทั้งหมดในโครงการได้หรือไม่
ฉันใช้ python 2.7 ในสภาพแวดล้อมเสมือนและ PyCharm 2.7 (สร้างใหม่เมื่อ 07 กุมภาพันธ์ 2013) เมื่อใดก็ตามที่ฉันเปิดไฟล์ python ซึ่งมีข้อผิดพลาดที่ชัดเจน (เทียบเท่ากับข้อผิดพลาดในการคอมไพล์ในภาษาอื่น ๆ เช่นการใช้ตัวแปรที่ไม่ได้ประกาศเรียกฟังก์ชันที่ไม่มีอยู่) จะแสดงแถบสีแดงในรางน้ำของไฟล์ ดังนั้นฉันจึงค้นพบข้อผิดพลาดแบบสุ่มเมื่อฉันบังเอิญไปยังไฟล์ที่มีอยู่ สิ่งที่ฉันต้องการจริงๆคือสามารถแสดงรายการข้อผิดพลาด python ทั้งหมดในหน้าต่างแยกต่างหาก Visual Studio 2005/2008/2010 / ... IDE มีมุมมอง "ข้อผิดพลาด" แยกต่างหากซึ่งแสดงรายการทั้งหมดพร้อมชื่อไฟล์และหมายเลขบรรทัดและทำให้ฉันสามารถคลิกที่ข้อผิดพลาดข้อใดข้อหนึ่งเหล่านี้และไปที่ แหล่งที่มา PyCharm มีอะไรแบบนี้ไหม?

4
ค่าเริ่มต้นของฟิลด์โมเดล Django อิงจากฟิลด์อื่นในโมเดลเดียวกัน
ฉันมีแบบจำลองที่ฉันต้องการมีชื่อวิชาและชื่อย่อของพวกเขา (ข้อมูลเขาค่อนข้างไม่ระบุตัวตนและติดตามด้วยชื่อย่อ) ตอนนี้ฉันเขียน class Subject(models.Model): name = models.CharField("Name", max_length=30) def subject_initials(self): return ''.join(map(lambda x: '' if len(x)==0 else x[0], self.name.split(' '))) # Next line is what I want to do (or something equivalent), but doesn't work with # NameError: name 'self' is not defined subject_init = models.CharField("Subject Initials", max_length=5, default=self.subject_initials) …

3
วิธีที่ดีที่สุดในการสร้างรายการ "ย้อนกลับ" ใน Python?
ใน Python วิธีใดที่ดีที่สุดในการสร้างรายการใหม่ที่มีรายการเหมือนกับรายการอื่น ๆ แต่เรียงลำดับย้อนกลับ (ฉันไม่ต้องการแก้ไขรายการที่มีอยู่) นี่คือทางออกหนึ่งที่เกิดขึ้นกับฉัน: new_list = list(reversed(old_list)) นอกจากนี้ยังสามารถทำซ้ำold_listจากนั้นย้อนกลับรายการที่ซ้ำกันได้: new_list = list(old_list) # or `new_list = old_list[:]` new_list.reverse() มีตัวเลือกที่ดีกว่าที่ฉันเคยมองข้ามไปหรือไม่? หากไม่เป็นเช่นนั้นมีเหตุผลที่น่าสนใจ (เช่นประสิทธิภาพ) ที่จะใช้วิธีใดวิธีหนึ่งข้างต้นมากกว่าอีกวิธีหนึ่งหรือไม่?

20
การแปลงฐาน 62
คุณจะแปลงจำนวนเต็มเป็นฐาน 62 ได้อย่างไร (เช่นเลขฐานสิบหก แต่ใช้ตัวเลขเหล่านี้: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') ฉันพยายามหาไลบรารี Python ที่ดีสำหรับมัน แต่ดูเหมือนว่าทั้งหมดจะถูกครอบครองด้วยการแปลงสตริง โมดูล Python base64 ยอมรับเฉพาะสตริงและเปลี่ยนตัวเลขหลักเดียวเป็นสี่อักขระ ฉันกำลังมองหาบางอย่างที่คล้ายกับสิ่งที่ตัวย่อ URL ใช้
92 python  math  base62 

5
วิธีสร้างหลายแปลงในหน้าเดียวโดยใช้ matplotlib
ฉันเขียนโค้ดที่เปิด 16 ตัวเลขพร้อมกัน ปัจจุบันทั้งหมดเปิดเป็นกราฟแยกกัน ฉันต้องการให้พวกเขาเปิดทั้งหมดในหน้าเดียวกัน ไม่ใช่กราฟเดียวกัน ฉันต้องการ 16 กราฟแยกกันในหน้าเดียว / หน้าต่าง ด้วยเหตุผลบางประการรูปแบบของตัวเลขและค่าเริ่มต้นจะไม่ถือรูปที่ 1 ที่ผ่านมาฉันจำเป็นต้องใช้คำสั่ง subplot หรือไม่? ฉันไม่เข้าใจว่าทำไมฉันต้องทำ แต่คิดไม่ออกว่าจะทำอะไรอีก? import csv import scipy.stats import numpy import matplotlib.pyplot as plt for i in range(16): plt.figure(i) filename= easygui.fileopenbox(msg='Pdf distance 90m contour', title='select file', filetypes=['*.csv'], default='X:\\herring_schools\\') alt_file=open(filename) a=[] for row in csv.DictReader(alt_file): a.append(row['Dist_90m(nmi)']) y= …

5
การเรียก "ชื่อส่วนกลาง" foo "ไม่ได้กำหนดไว้" ด้วยเวลาของ Python
ฉันพยายามค้นหาว่าต้องใช้เวลาเท่าไรในการดำเนินการคำสั่ง Python ดังนั้นฉันจึงดูออนไลน์และพบว่าไลบรารีมาตรฐานมีโมดูลที่เรียกว่าtimeitซึ่งอ้างว่าจะทำอย่างนั้น: import timeit def foo(): # ... contains code I want to time ... def dotime(): t = timeit.Timer("foo()") time = t.timeit(1) print "took %fs\n" % (time,) dotime() อย่างไรก็ตามสิ่งนี้ก่อให้เกิดข้อผิดพลาด: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in dotime File "/usr/local/lib/python2.6/timeit.py", …
92 python  scope  timeit 

4
แอตทริบิวต์ __dict __.__ dict__ ของคลาส Python คืออะไร?
>>> class A(object): pass ... >>> A.__dict__ <dictproxy object at 0x173ef30> >>> A.__dict__.__dict__ Traceback (most recent call last): File "<string>", line 1, in <fragment> AttributeError: 'dictproxy' object has no attribute '__dict__' >>> A.__dict__.copy() {'__dict__': <attribute '__dict__' of 'A' objects> ... } >>> A.__dict__['__dict__'] <attribute '__dict__' of 'A' objects> # What …

2
วิธีการขยายคลาสใน python
ใน python คุณจะขยายคลาสได้อย่างไร? ตัวอย่างเช่นถ้าฉันมี color.py class Color: def __init__(self, color): self.color = color def getcolor(self): return self.color color_extended.py import Color class Color: def getcolor(self): return self.color + " extended!" แต่มันไม่ได้ผล ... ฉันคาดว่าถ้าฉันใช้งานได้color_extended.pyเมื่อฉันสร้างวัตถุสีและใช้getcolorฟังก์ชั่นมันจะส่งคืนวัตถุด้วยสตริง "ขยาย!" ในตอนท้าย. นอกจากนี้ควรมี gotton เริ่มต้นจากการนำเข้า สมมติ python 3.1 ขอบคุณ

2
การฝึกสตริง Python
แม้ว่าคำถามนี้จะไม่มีการใช้งานจริงในทางปฏิบัติ แต่ฉันก็อยากรู้ว่า Python ใช้งานสตริงได้อย่างไร ฉันสังเกตเห็นสิ่งต่อไปนี้ >>> "string" is "string" True นี่เป็นไปตามที่ฉันคาดไว้ คุณยังสามารถทำได้ >>> "strin"+"g" is "string" True และนั่นก็ค่อนข้างฉลาด! แต่คุณไม่สามารถทำได้ >>> s1 = "strin" >>> s2 = "string" >>> s1+"g" is s2 False เหตุใด Python จึงไม่ประเมินs1+"g"และตระหนักว่ามันเหมือนกับs2และชี้ไปที่ที่อยู่เดียวกัน เกิดอะไรขึ้นในบล็อกสุดท้ายที่จะให้มันกลับมาFalse?

15
Mac + Virtualenv + pip + postgresql = ข้อผิดพลาด: ไม่พบ pg_config ปฏิบัติการ
ฉันพยายามติดตั้ง postgres สำหรับบทpipช่วยสอน แต่ทำให้ฉันมีข้อผิดพลาด: pip install psycopg ข้อผิดพลาดเล็กน้อยที่ฉันได้รับ: Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or specify the full executable path with the option: python setup.py build_ext --pg-config /path/to/pg_config build ... or with the pg_config option in 'setup.cfg'. อยู่ที่ไหนpg_configใน Virtualenv ของฉัน? จะกำหนดค่าได้อย่างไร? ฉันใช้ …

9
การเขียนพจนานุกรมลงในไฟล์ csv โดยมีหนึ่งบรรทัดสำหรับทุก 'key: value'
ฉันมีพจนานุกรม: mydict = {key1: value_a, key2: value_b, key3: value_c} ฉันต้องการเขียนข้อมูลลงในไฟล์ dict.csv ในรูปแบบนี้: key1: value_a key2: value_b key3: value_c ฉันเขียน: import csv f = open('dict.csv','wb') w = csv.DictWriter(f,mydict.keys()) w.writerow(mydict) f.close() แต่ตอนนี้ฉันมีคีย์ทั้งหมดในแถวเดียวและค่าทั้งหมดในแถวถัดไป .. เมื่อฉันจัดการเขียนไฟล์แบบนี้ฉันก็อยากจะอ่านมันกลับไปที่พจนานุกรมใหม่ด้วย เพื่ออธิบายรหัสของฉันพจนานุกรมมีค่าและบูลจาก textctrls และช่องทำเครื่องหมาย (โดยใช้ wxpython) ฉันต้องการเพิ่มปุ่ม "บันทึกการตั้งค่า" และ "โหลดการตั้งค่า" บันทึกการตั้งค่าควรเขียนพจนานุกรมลงในไฟล์ด้วยวิธีที่กล่าวถึง (เพื่อให้ง่ายขึ้นสำหรับผู้ใช้ในการแก้ไขไฟล์ csv โดยตรง) การตั้งค่าโหลดควรอ่านจากไฟล์และอัปเดต textctrls และช่องทำเครื่องหมาย
92 python  csv  dictionary 

1
วิธีการบีบอัดรายการในรายการ
ฉันต้องการซิปรายการต่อไปนี้: >>> zip([[1,2], [3,4], [5,6]]) [[1,3,5], [2,4,6]] สิ่งนี้สามารถทำได้ด้วยการzipใช้งานปัจจุบันก็ต่อเมื่อรายการถูกแบ่งออกเป็นแต่ละองค์ประกอบ: >>> zip([1,2], [3,4], [5,6]) (1, 3, 5), (2, 4, 6)] คิดไม่ออกว่าจะแบ่งรายการและส่งต่อองค์ประกอบแต่ละรายการไปยังzipอย่างไร ต้องการโซลูชันที่ใช้งานได้จริง

6
แปลงชุดหมีแพนด้าเป็น DataFrame
ฉันมีซีรีส์ Pandas sf: email email1@email.com [1.0, 0.0, 0.0] email2@email.com [2.0, 0.0, 0.0] email3@email.com [1.0, 0.0, 0.0] email4@email.com [4.0, 0.0, 0.0] email5@email.com [1.0, 0.0, 3.0] email6@email.com [1.0, 5.0, 0.0] และฉันต้องการแปลงเป็น DataFrame ต่อไปนี้: index | email | list _____________________________________________ 0 | email1@email.com | [1.0, 0.0, 0.0] 1 | email2@email.com | [2.0, 0.0, …

10
การรับ TypeError: __init __ () ขาดอาร์กิวเมนต์ตำแหน่งที่ต้องการ 1 รายการ: 'on_delete' เมื่อพยายามเพิ่มตารางหลักหลังตารางลูกด้วยรายการ
ฉันมีสองชั้นเรียนในฐานข้อมูล SQLite ของฉันตารางผู้ปกครองที่มีชื่อและตารางเด็กที่เรียกว่าCategorie Articleฉันสร้างคลาสตารางลูกก่อนแล้วเพิ่มรายการ ก่อนอื่นฉันมีสิ่งนี้: class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de parution" ) def __str__(self): return self.titre และหลังจากที่ฉันเพิ่มตารางหลักแล้วตอนนี้models.pyหน้าตาของฉันก็เป็นแบบนี้ from django.db import models # Create your models here. class Categorie(models.Model): nom = models.CharField(max_length=30) def __str__(self): return self.nom class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de …


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