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

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

9
วิธีที่ดีที่สุดในการตั้งค่า login_required ของ Django เป็นค่าเริ่มต้น
ฉันกำลังทำงานกับแอป Django ขนาดใหญ่ซึ่งส่วนใหญ่ต้องใช้การเข้าสู่ระบบเพื่อเข้าถึง ซึ่งหมายความว่าทั้งหมดในแอปของเราเราได้โรย: @login_required def view(...): ไม่เป็นไรและใช้งานได้ดีตราบใดที่เราอย่าลืมเพิ่มเข้าไปทุกที่ ! น่าเศร้าที่บางครั้งเราลืมไปและความล้มเหลวมักไม่ปรากฏให้เห็นอย่างชัดเจน หากลิงก์เดียวไปยังข้อมูลพร็อพเพอร์ตี้อยู่ในหน้า @login_required คุณจะไม่สังเกตเห็นว่าคุณสามารถเข้าถึงมุมมองนั้นได้โดยไม่ต้องเข้าสู่ระบบ แต่ผู้ไม่หวังดีอาจสังเกตเห็นซึ่งเป็นปัญหา ความคิดของฉันคือการย้อนกลับระบบ แทนที่จะต้องพิมพ์ @login_required ทุกที่ แต่ฉันต้องการ: @public def public_view(...): เพียงเพื่อสิ่งสาธารณะ ฉันพยายามใช้สิ่งนี้กับมิดเดิลแวร์บางตัวและดูเหมือนจะไม่สามารถใช้งานได้ ทุกสิ่งที่ฉันพยายามโต้ตอบกับมิดเดิลแวร์อื่น ๆ ที่เราใช้ไม่ดีฉันคิดว่า ต่อไปฉันลองเขียนบางอย่างเพื่อสำรวจรูปแบบ URL เพื่อตรวจสอบว่าทุกสิ่งที่ไม่ใช่ @ สาธารณะถูกทำเครื่องหมายเป็น @login_required อย่างน้อยเราก็จะได้รับข้อผิดพลาดอย่างรวดเร็วหากเราลืมบางสิ่ง แต่แล้วฉันก็คิดไม่ออกว่าจะบอกได้อย่างไรว่า @login_required ถูกนำไปใช้กับมุมมอง ... แล้ววิธีที่ถูกต้องคืออะไร? ขอบคุณสำหรับความช่วยเหลือ!
103 python  django 

6
PEP 8 ทำไมไม่มีช่องว่างรอบ ๆ '=' ในอาร์กิวเมนต์คำหลักหรือค่าพารามิเตอร์เริ่มต้น
ทำไมPEP 8 แนะนำไม่ได้มีช่องว่าง=ในการโต้แย้งคำหลักหรือค่าพารามิเตอร์เริ่มต้น ? สิ่งนี้ไม่สอดคล้องกับการแนะนำช่องว่างรอบ ๆ เหตุการณ์อื่น ๆ=ในรหัส Python หรือไม่ อย่างไร: func(1, 2, very_long_variable_name=another_very_long_variable_name) ดีกว่า: func(1, 2, very_long_variable_name = another_very_long_variable_name) ลิงก์ไปยังการสนทนา / คำอธิบายโดยBDFLของ Python จะได้รับการชื่นชม ในใจคำถามนี้เกี่ยวกับ kwargs มากกว่าค่าเริ่มต้นฉันเพิ่งใช้วลีจาก PEP 8 ฉันไม่ได้ร้องขอความคิดเห็น ฉันกำลังขอเหตุผลเบื้องหลังการตัดสินใจนี้ มันเหมือนกับการถามว่าทำไมฉันถึงใช้{บรรทัดเดียวกับifคำสั่งในโปรแกรม C ไม่ใช่ว่าฉันควรใช้หรือไม่

8
ค่าเบี่ยงเบนมาตรฐานของรายการ
ฉันต้องการหาค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของ 1, 2, ... หลักของรายการ (Z) หลายตัว ตัวอย่างเช่นฉันมี A_rank=[0.8,0.4,1.2,3.7,2.6,5.8] B_rank=[0.1,2.8,3.7,2.6,5,3.4] C_Rank=[1.2,3.4,0.5,0.1,2.5,6.1] # etc (up to Z_rank )... ตอนนี้ฉันต้องการหาค่าเฉลี่ยและมาตรฐานของ*_Rank[0]ค่าเฉลี่ยและมาตรฐานของ*_Rank[1]ฯลฯ (เช่นค่าเฉลี่ยและค่ามาตรฐานของหลักที่ 1 จากรายการ (A..Z) _rank ทั้งหมด ค่าเฉลี่ยและมาตรฐานของหลักที่ 2 จาก ทั้งหมด (A..Z) _ รายการอันดับ; ค่าเฉลี่ยและมาตรฐานของหลักที่ 3 ... ; ฯลฯ )

3
วิธีทำคณิตศาสตร์ในเทมเพลต Django
ฉันต้องการทำสิ่งนี้: 100 - {{ object.article.rating_score }} ตัวอย่างเช่นผลลัพธ์จะเป็น20ถ้า{{ object.article.rating_score }}เท่า80กัน ฉันจะทำสิ่งนี้ในระดับเทมเพลตได้อย่างไร ฉันไม่มีสิทธิ์เข้าถึงรหัส Python


20
os.walk โดยไม่ต้องขุดเข้าไปในไดเรกทอรีด้านล่าง
ฉันจะ จำกัดos.walkให้ส่งคืนเฉพาะไฟล์ในไดเร็กทอรีที่ฉันให้ไว้ได้อย่างไร def _dir_list(self, dir_name, whitelist): outputList = [] for root, dirs, files in os.walk(dir_name): for f in files: if os.path.splitext(f)[1] in whitelist: outputList.append(os.path.join(root, f)) else: self._email_to_("ignore") return outputList
103 python  file  os.walk 

5
จะพิมพ์สตริงในความกว้างคงที่ได้อย่างไร?
ฉันมีรหัสนี้ (พิมพ์การเกิดการเรียงสับเปลี่ยนทั้งหมดในสตริง) def splitter(str): for i in range(1, len(str)): start = str[0:i] end = str[i:] yield (start, end) for split in splitter(end): result = [start] result.extend(split) yield result el =[]; string = "abcd" for b in splitter("abcd"): el.extend(b); unique = sorted(set(el)); for prefix in unique: if prefix != "": print …

11
วิธีทำให้ตัวแปล python จัดการอักขระที่ไม่ใช่ ASCII ในการดำเนินการสตริงได้อย่างถูกต้อง?
ฉันมีสตริงที่ดูเหมือน: 6Â 918Â 417Â 712 วิธีตัดที่ชัดเจนในการตัดแต่งสตริงนี้ (ตามที่ฉันเข้าใจ Python) คือการบอกว่าสตริงอยู่ในตัวแปรที่เรียกว่าsเราได้รับ: s.replace('Â ', '') ที่ควรทำเคล็ดลับ แต่แน่นอนมันบ่นว่าอักขระที่ไม่ใช่ ASCII '\xc2'ในไฟล์ blabla.py ไม่ได้เข้ารหัส ฉันไม่เคยเข้าใจวิธีการสลับระหว่างการเข้ารหัสต่างๆ นี่คือรหัสจริงๆมันเหมือนกับด้านบน แต่ตอนนี้มันอยู่ในบริบท ไฟล์จะถูกบันทึกเป็น UTF-8 ในแผ่นจดบันทึกและมีส่วนหัวต่อไปนี้: #!/usr/bin/python2.4 # -*- coding: utf-8 -*- รหัส: f = urllib.urlopen(url) soup = BeautifulSoup(f) s = soup.find('div', {'id':'main_count'}) #making a print 's' here goes well. it shows …
103 python  unicode 

5
Python: พิมพ์นิพจน์ตัวสร้าง?
ใน Python shell ถ้าฉันป้อนข้อมูลความเข้าใจรายการเช่น: >>> [x for x in string.letters if x in [y for y in "BigMan on campus"]] ฉันได้รับผลการพิมพ์ที่สวยงาม: ['a', 'c', 'g', 'i', 'm', 'n', 'o', 'p', 's', 'u', 'B', 'M'] เหมือนกันสำหรับความเข้าใจในพจนานุกรม: >>> {x:x*2 for x in range(1,10)} {1: 2, 2: 4, 3: 6, 4: 8, 5: 10, …
103 python 

8
matplotlib ใช้เวลาในการนำเข้า
ฉันเพิ่งอัปเกรดเป็นเวอร์ชันเสถียรล่าสุดของmatplotlib(1.5.1) และทุกครั้งที่ฉันนำเข้า matplotlib ฉันได้รับข้อความนี้: /usr/local/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment. warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.') ... ซึ่งมักจะหยุดนิ่งไม่กี่วินาที นี่คือพฤติกรรมที่คาดหวังหรือไม่? เมื่อก่อนก็เหมือนกัน แต่ไม่มีข้อความที่พิมพ์ออกมา?
103 python  matplotlib 


16
การทำงานและการใช้งาน Bitwise
พิจารณารหัสนี้: x = 1 # 0001 x << 2 # Shift left 2 bits: 0100 # Result: 4 x | 2 # Bitwise OR: 0011 # Result: 3 x & 1 # Bitwise AND: 0001 # Result: 1 ฉันสามารถเข้าใจตัวดำเนินการทางคณิตศาสตร์ใน Python (และภาษาอื่น ๆ ) ได้ แต่ฉันไม่เคยเข้าใจตัวดำเนินการ 'bitwise' ค่อนข้างดี ในตัวอย่างด้านบน (จากหนังสือ Python) …

4
จะสร้างฐานข้อมูลใหม่โดยใช้ SQLAlchemy ได้อย่างไร?
การใช้ SQLAlchemy อ็อบเจ็กต์ Engine ถูกสร้างขึ้นเช่นนี้: from sqlalchemy import create_engine engine = create_engine("postgresql://localhost/mydb") การเข้าถึงengineล้มเหลวหากไม่มีฐานข้อมูลที่ระบุในอาร์กิวเมนต์ถึงcreate_engine(ในกรณีนี้mydb) เป็นไปได้หรือไม่ที่จะบอกให้ SQLAlchemy สร้างฐานข้อมูลใหม่หากไม่มีฐานข้อมูลที่ระบุ
103 python  sqlalchemy 


1
การพล็อตด้วยทะเลโดยใช้อินเตอร์เฟสเชิงวัตถุ matplotlib
ฉันชอบใช้matplotlibในรูปแบบ OOP เป็นอย่างยิ่ง: f, axarr = plt.subplots(2, sharex=True) axarr[0].plot(...) axarr[1].plot(...) ทำให้ง่ายต่อการติดตามตัวเลขและพล็อตย่อยหลายรายการ คำถาม: วิธีการใช้ทะเลบอร์นด้วยวิธีนี้? หรือจะเปลี่ยนตัวอย่างนี้เป็นสไตล์ OOP ได้อย่างไร? วิธีการบอกseabornฟังก์ชั่นการวางแผนเช่นlmplotที่FigureหรือAxesแปลงมันไป?

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