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

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

8
วิธี Pythonic ส่วนใหญ่ในการจัดเตรียมตัวแปรการกำหนดค่าส่วนกลางใน config.py? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิด5 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ในภารกิจที่ไม่มีที่สิ้นสุดของฉันในเรื่องง่าย ๆ ที่ซับซ้อนเกินไปฉันกำลังค้นคว้าวิธี 'Pythonic' ส่วนใหญ่เพื่อจัดหาตัวแปรการกำหนดค่าส่วนกลางภายใน ' config.py ' ทั่วไปที่พบในแพ็คเกจไข่ Python วิธีดั้งเดิม (aah, good ol ' #define !) มีดังนี้: MYSQL_PORT = 3306 MYSQL_DATABASE = 'mydb' MYSQL_DATABASE_TABLES = ['tb_users', 'tb_groups'] ดังนั้นการนำเข้าตัวแปรส่วนกลางด้วยวิธีใดวิธีหนึ่งต่อไปนี้: from config import * dbname = MYSQL_DATABASE for table in MYSQL_DATABASE_TABLES: print …

7
มุมมองตามคลาส Django: ฉันจะส่งผ่านพารามิเตอร์เพิ่มเติมไปยังเมธอด as_view ได้อย่างไร
ฉันมีมุมมองตามคลาสที่กำหนดเอง # myapp/views.py from django.views.generic import * class MyView(DetailView): template_name = 'detail.html' model = MyModel def get_object(self, queryset=None): return queryset.get(slug=self.slug) ฉันต้องการส่งผ่านพารามิเตอร์ slug (หรือพารามิเตอร์อื่น ๆ ไปยังมุมมอง) เช่นนี้ MyView.as_view(slug='hello_world') ฉันต้องลบล้างวิธีการใด ๆ จึงจะสามารถทำได้หรือไม่?

10
วิธีการแปลงไฟล์ CSV เป็น JSON หลายบรรทัด
นี่คือรหัสของฉันสิ่งง่ายๆจริงๆ ... import csv import json csvfile = open('file.csv', 'r') jsonfile = open('file.json', 'w') fieldnames = ("FirstName","LastName","IDNumber","Message") reader = csv.DictReader( csvfile, fieldnames) out = json.dumps( [ row for row in reader ] ) jsonfile.write(out) ประกาศชื่อฟิลด์บางฟิลด์ผู้อ่านใช้ CSV เพื่ออ่านไฟล์และชื่อที่ยื่นเพื่อดัมพ์ไฟล์เป็นรูปแบบ JSON นี่คือปัญหา ... แต่ละระเบียนในไฟล์ CSV อยู่คนละแถวกัน ฉันต้องการให้เอาต์พุต JSON เป็นแบบเดียวกัน ปัญหาคือมันทิ้งมันทั้งหมดลงบนเส้นยักษ์เส้นยาว ฉันได้ลองใช้บางอย่างเช่นfor line in …
100 python  json  csv 

3
แบบสอบถามกรณีไม่ไวต่อ Flask-SQLAlchemy
ฉันใช้ Flask-SQLAlchemy เพื่อค้นหาจากฐานข้อมูลของผู้ใช้ อย่างไรก็ตามในขณะที่ user = models.User.query.filter_by(username="ganye").first() จะกลับมา <User u'ganye'> ทำ user = models.User.query.filter_by(username="GANYE").first() ผลตอบแทน None ฉันสงสัยว่ามีวิธีสืบค้นฐานข้อมูลแบบไม่คำนึงถึงตัวพิมพ์หรือไม่เพื่อให้ตัวอย่างที่สองยังคงกลับมา <User u'ganye'>

6
วิธีการคงที่ - จะเรียกวิธีการจากวิธีอื่นได้อย่างไร?
เมื่อฉันมีเมธอดปกติในการเรียกเมธอดอื่นในคลาสฉันต้องทำสิ่งนี้ class test: def __init__(self): pass def dosomething(self): print "do something" self.dosomethingelse() def dosomethingelse(self): print "do something else" แต่เมื่อฉันมีวิธีคงที่ฉันไม่สามารถเขียนได้ self.dosomethingelse() เนื่องจากไม่มีอินสแตนซ์ ฉันต้องทำอย่างไรใน Python เพื่อเรียก Static Method จาก Static Method อื่นของคลาสเดียวกัน แก้ไข: สิ่งที่เป็นระเบียบ โอเคฉันแก้ไขคำถามกลับเป็นคำถามเดิม ฉันมีคำตอบสำหรับคำถามที่สองอยู่ในความคิดเห็นของ Peter Hansen แล้ว หากคุณคิดว่าฉันควรเปิดคำถามอื่นสำหรับคำตอบที่ฉันมีอยู่แล้วโปรดบอกฉัน

6
แปลว่าอะไร?
ฉันกำลังวิเคราะห์โค้ด Python และไม่รู้ว่าอะไร pop = population[:] หมายถึง. มันเป็นรายการอาร์เรย์ใน Java หรือเหมือนอาร์เรย์สองมิติหรือไม่?
100 python  arrays  syntax  slice 

6
วิธีหมุนป้ายติ๊กแกน x ใน Pandas barplot
ด้วยรหัสต่อไปนี้: import matplotlib matplotlib.style.use('ggplot') import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame({ 'celltype':["foo","bar","qux","woz"], 's1':[5,9,1,7], 's2':[12,90,13,87]}) df = df[["celltype","s1","s2"]] df.set_index(["celltype"],inplace=True) df.plot(kind='bar',alpha=0.75) plt.xlabel("") ฉันสร้างพล็อตนี้: ฉันจะหมุนป้ายขีดแกน x เป็น 0 องศาได้อย่างไร ฉันพยายามเพิ่มสิ่งนี้ แต่ไม่ได้ผล: plt.set_xticklabels(df.index,rotation=90)

7
VSCode - วิธีตั้งค่าไดเร็กทอรีการทำงานสำหรับการดีบัก
ฉันกำลังเริ่มใช้ vscode สำหรับ Python ฉันมีโปรแกรมทดสอบง่ายๆ ฉันต้องการเรียกใช้ภายใต้การดีบักและฉันต้องตั้งค่าไดเร็กทอรีการทำงานสำหรับการรัน ฉันจะทำอย่างไร / ที่ไหน

8
ฉันจะวิเคราะห์โค้ด Python เพื่อระบุพื้นที่ที่มีปัญหาได้อย่างไร
ฉันมีที่เก็บซอร์สขนาดใหญ่ที่แบ่งออกเป็นหลายโปรเจ็กต์ ฉันต้องการจัดทำรายงานเกี่ยวกับความสมบูรณ์ของซอร์สโค้ดโดยระบุประเด็นปัญหาที่ต้องได้รับการแก้ไข โดยเฉพาะอย่างยิ่งฉันต้องการเรียกกิจวัตรที่มีความซับซ้อนของวัฏจักรสูงระบุการทำซ้ำและอาจเรียกใช้การวิเคราะห์แบบคงที่คล้ายขุยเพื่อตรวจหาโครงสร้างที่น่าสงสัย (และมีแนวโน้มที่จะผิดพลาด) ฉันจะสร้างรายงานดังกล่าวได้อย่างไร

14
จะติดตั้ง MySQLdb (Python data access library ไปยัง MySQL) บน MacOS X ได้อย่างไร
ฉันเป็นมือใหม่ Python แต่ฉันเพิ่งใช้เวลาหนึ่งวันในการหาวิธีทำให้ MySQLdb ทำงานได้อย่างถูกต้องและจักรวาลตาม google ก็มีการอ้างอิงมากมายเกี่ยวกับ PITA และคำแนะนำจำนวนมากที่ดูเหมือนจะเป็น เก่า. เนื่องจากไซต์นี้มีจุดประสงค์เพื่อแก้ไขปัญหาประเภทนี้และฉันรู้ว่าฉันจะต้องมีการอ้างอิงถึงวิธีแก้ปัญหาในอนาคตฉันจะถามคำถามให้คำตอบและดูว่ามีอะไรอีกบ้างที่ลอยมาที่ พื้นผิว คำถามคือจะทำให้MySQLdbทำงานบน Mac OS X ได้อย่างไร?
99 python  mysql  macos 

12
มี Visual profiler สำหรับ Python หรือไม่? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ตอนนี้ฉันใช้cProfileแต่ฉันคิดว่ามันน่าเบื่อที่จะเขียนโค้ด pstats เพื่อค้นหาข้อมูลสถิติ ฉันกำลังมองหาเครื่องมือภาพที่แสดงให้ฉันเห็นว่ารหัส Python ของฉันกำลังทำอะไรในแง่ของเวลา CPU และการจัดสรรหน่วยความจำ ตัวอย่างบางส่วนจากโลก Java เป็นVisualVMและJProfiler สิ่งนี้มีอยู่จริงหรือไม่? มี IDE ที่ทำสิ่งนี้หรือไม่? dtraceจะช่วยได้ไหม ฉันรู้เกี่ยวกับKCachegrindสำหรับ Linux แต่ฉันต้องการบางอย่างที่สามารถรันบน Windows / Mac ได้โดยไม่ต้องติดตั้ง KDE

3
Python: ใช้อัลกอริทึมแบบเรียกซ้ำเป็นตัวสร้าง
เมื่อเร็ว ๆ นี้ฉันได้เขียนฟังก์ชันเพื่อสร้างลำดับบางอย่างโดยมีข้อ จำกัด ที่ไม่สำคัญ ปัญหามาพร้อมกับวิธีแก้ซ้ำตามธรรมชาติ ตอนนี้มันเกิดขึ้นว่าแม้จะมีอินพุตที่ค่อนข้างเล็ก แต่ลำดับก็มีหลายพันดังนั้นฉันจึงต้องการใช้อัลกอริทึมของฉันเป็นตัวสร้างแทนที่จะใช้มันเพื่อเติมเต็มรายการด้วยลำดับทั้งหมด นี่คือตัวอย่าง สมมติว่าเราต้องการคำนวณการเรียงสับเปลี่ยนทั้งหมดของสตริงด้วยฟังก์ชันวนซ้ำ อัลกอริทึมไร้เดียงสาต่อไปนี้ใช้อาร์กิวเมนต์พิเศษ 'ที่เก็บข้อมูล' และต่อท้ายการเปลี่ยนแปลงเมื่อใดก็ตามที่พบ: def getPermutations(string, storage, prefix=""): if len(string) == 1: storage.append(prefix + string) # <----- else: for i in range(len(string)): getPermutations(string[:i]+string[i+1:], storage, prefix+string[i]) storage = [] getPermutations("abcd", storage) for permutation in storage: print permutation (โปรดอย่าสนใจเกี่ยวกับความไม่มีประสิทธิภาพนี่เป็นเพียงตัวอย่างเท่านั้น) ตอนนี้ฉันต้องการเปลี่ยนฟังก์ชั่นของฉันให้เป็นเครื่องกำเนิดไฟฟ้ากล่าวคือให้การเปลี่ยนแปลงแทนที่จะผนวกเข้ากับรายการพื้นที่เก็บข้อมูล: def getPermutations(string, prefix=""): …

7
ทำไม Python จึงใช้ 'magic method'?
เมื่อเร็ว ๆ นี้ฉันได้เล่นกับ Python และสิ่งหนึ่งที่ฉันพบว่าแปลกนิดหน่อยคือการใช้ 'วิธีการมายากล' อย่างกว้างขวางเช่นเพื่อให้มีความยาววัตถุใช้วิธีการdef __len__(self)และจากนั้นจะเรียกเมื่อ len(obj)คุณเขียน ฉันแค่สงสัยว่าทำไมอ็อบเจกต์ไม่เพียงแค่กำหนดlen(self)เมธอดและเรียกมันว่าเป็นสมาชิกของอ็อบเจ็กต์โดยตรงเช่นobj.len()? ฉันแน่ใจว่าต้องมีเหตุผลที่ดีที่ Python จะทำเช่นนั้น แต่ในฐานะมือใหม่ฉันยังไม่ได้รู้ว่ามันคืออะไร

8
วิธีคาดเดาการเข้ารหัสระหว่าง MacRoman, CP1252, Latin1, UTF-8 และ ASCII ได้อย่างน่าเชื่อถือ
ในที่ทำงานดูเหมือนว่าจะไม่มีสัปดาห์ใดผ่านไปโดยไม่มีการเชื่อมต่อที่เกี่ยวข้องกับการเข้ารหัสภัยพิบัติหรือหายนะ ปัญหามักเกิดจากโปรแกรมเมอร์ที่คิดว่าสามารถประมวลผลไฟล์ "ข้อความ" ได้อย่างน่าเชื่อถือโดยไม่ต้องระบุการเข้ารหัส แต่คุณทำไม่ได้ ดังนั้นจึงมีการตัดสินใจที่จะห้ามไม่ให้ไฟล์มีชื่อที่ลงท้ายด้วย*.txtหรือ*.text. แนวคิดก็คือส่วนขยายเหล่านั้นทำให้โปรแกรมเมอร์ทั่วไปเข้าใจผิดว่าเป็นความพึงพอใจที่น่าเบื่อเกี่ยวกับการเข้ารหัสและสิ่งนี้นำไปสู่การจัดการที่ไม่เหมาะสม เกือบจะดีกว่าที่จะไม่มีส่วนขยายเลยเพราะอย่างน้อยคุณก็รู้ว่าคุณไม่รู้ว่าคุณมีอะไรบ้าง อย่างไรก็ตามเราจะไม่ไปไกลขนาดนั้น คุณจะต้องใช้ชื่อไฟล์ที่ลงท้ายด้วยการเข้ารหัสแทน ดังนั้นสำหรับไฟล์ข้อความเช่นเหล่านี้จะเป็นสิ่งที่ชอบREADME.ascii, README.latin1, README.utf8ฯลฯ สำหรับไฟล์ที่ต้องการนามสกุลเฉพาะหากสามารถระบุการเข้ารหัสภายในไฟล์ได้เช่นใน Perl หรือ Python คุณจะต้องทำเช่นนั้น สำหรับไฟล์เช่นซอร์ส Java ที่ไม่มีสิ่งอำนวยความสะดวกดังกล่าวอยู่ภายในไฟล์คุณจะต้องใส่การเข้ารหัสก่อนนามสกุลเช่นSomeClass-utf8.java. สำหรับเอาต์พุต UTF-8 เป็นที่ต้องการอย่างยิ่ง แต่สำหรับการป้อนข้อมูลที่เราจำเป็นต้องคิดหาวิธีที่จะจัดการกับพันไฟล์ใน codebase *.txtของเราชื่อ เราต้องการเปลี่ยนชื่อทั้งหมดให้เข้ากับมาตรฐานใหม่ของเรา แต่เราไม่สามารถมองเห็นพวกมันได้ทั้งหมด ดังนั้นเราจึงต้องการไลบรารีหรือโปรแกรมที่ใช้งานได้จริง สิ่งเหล่านี้มีหลากหลายใน ASCII, ISO-8859-1, UTF-8, Microsoft CP1252 หรือ Apple MacRoman แม้ว่าเราจะรู้ว่าเราสามารถบอกได้ว่ามีบางอย่างเป็น ASCII หรือไม่และเรามีการเปลี่ยนแปลงที่ดีในการรู้ว่าบางสิ่งอาจเป็น UTF-8 หรือไม่ แต่เราก็นิ่งงันเกี่ยวกับการเข้ารหัส 8 บิต เนื่องจากเราทำงานในสภาพแวดล้อม Unix แบบผสม …

2
ฉันจะจัดระเบียบซอร์สโค้ด Python ได้อย่างไร [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังเริ่มต้นกับ Python (ถึงเวลาแล้วที่ฉันจะยิงมัน) และฉันกำลังมองหาแนวทางปฏิบัติที่ดีที่สุด โครงการแรกของฉันคือคิวที่เรียกใช้การทดสอบบรรทัดคำสั่งในหลายเธรด ฉันเริ่มได้main.pyไฟล์ที่ยาวมากและฉันต้องการแยกไฟล์ออก โดยทั่วไปฉันกำลังมองหา: โปรแกรมเมอร์ python จะจัดระเบียบไฟล์ซอร์สหลายไฟล์ได้อย่างไร มีโครงสร้างเฉพาะที่เหมาะกับคุณหรือไม่? คำถามเฉพาะของฉัน ได้แก่ : แต่ละคลาสควรอยู่ในไฟล์แยกกันหรือไม่? ฉันจะจัดการทดสอบหน่วยที่เกี่ยวข้องกับซอร์สโค้ดได้อย่างไร ฉันควรใส่ข้อคิดเห็นเกี่ยวกับเอกสารไว้ที่ใดโดยเฉพาะสำหรับการดำเนินการบรรทัดคำสั่ง หากฉันใช้หลายไดเรกทอรีฉันจะนำเข้าคลาสระหว่างพวกเขาได้อย่างไร ฉันอาจจะสามารถวาดบางส่วนของข้อสรุปของตัวเองที่นี่โดยการทดลองและข้อผิดพลาด แต่ผมอยากจะเริ่มต้นจากสิ่งที่ดี

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