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

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



2
ผู้ดูแลระบบหลายรุ่น / มุมมองสำหรับรุ่นเดียวกันในผู้ดูแลระบบ Django
ฉันจะสร้างมากกว่าหนึ่ง ModelAdmin สำหรับรุ่นเดียวกันโดยแต่ละแบบกำหนดเองแตกต่างกันและเชื่อมโยงกับ URL ที่แตกต่างกันอย่างไร สมมติว่าฉันมีรุ่น Django ชื่อกระทู้ ตามค่าเริ่มต้นมุมมองผู้ดูแลระบบของรุ่นนี้จะแสดงรายการวัตถุโพสต์ทั้งหมด ฉันรู้ว่าฉันสามารถปรับแต่งรายการของวัตถุที่แสดงบนหน้าในรูปแบบต่างๆโดยการตั้งค่าตัวแปรเช่น list_display หรือแทนที่querysetวิธีการใน ModelAdmin ของฉันเช่น: class MyPostAdmin(admin.ModelAdmin): list_display = ('title', 'pub_date') def queryset(self, request): request_user = request.user return Post.objects.filter(author=request_user) admin.site.register(MyPostAdmin, Post) โดยค่าเริ่มต้นนี้จะสามารถเข้าถึงได้ที่ /admin/myapp/postURL อย่างไรก็ตามฉันต้องการมีหลายมุมมอง / ModelAdmins ของโมเดลเดียวกัน เช่น/admin/myapp/postจะแสดงรายการออบเจกต์ทั้งหมดและ/admin/myapp/mypostsจะแสดงรายการโพสต์ทั้งหมดที่เป็นของผู้ใช้และ/admin/myapp/draftpostอาจแสดงรายการโพสต์ทั้งหมดที่ยังไม่ได้เผยแพร่ (นี่เป็นเพียงตัวอย่างกรณีการใช้จริงของฉันซับซ้อนกว่า) คุณไม่สามารถลงทะเบียนมากกว่าหนึ่ง ModelAdmin สำหรับรุ่นเดียวกัน (ผลลัพธ์นี้มีAlreadyRegisteredข้อยกเว้น) เป็นการดีที่ฉันจะทำสิ่งนี้ให้สำเร็จโดยไม่ต้องใส่ทุกอย่างไว้ใน ClassAdmin ชั้นเดียวและเขียนฟังก์ชั่น 'urls' ของตัวเองเพื่อส่งคืนชุดสืบค้นที่แตกต่างกันขึ้นอยู่กับ URL ฉันเคยดูที่ Django …

6
เหตุใดรุ่นของ django จึงไม่บันทึก full_clean ()
ฉันแค่อยากรู้ว่าใครรู้ว่ามีเหตุผลที่ดีว่าทำไม orm ของ django ไม่เรียก 'full_clean' ในแบบจำลองเว้นแต่ว่ามันถูกบันทึกไว้เป็นส่วนหนึ่งของแบบจำลอง โปรดทราบว่า full_clean () จะไม่ถูกเรียกโดยอัตโนมัติเมื่อคุณเรียกเมธอด save () ของแบบจำลองของคุณ คุณจะต้องเรียกมันด้วยตนเองเมื่อคุณต้องการเรียกใช้การตรวจสอบความถูกต้องแบบขั้นตอนเดียวสำหรับรุ่นที่คุณสร้างขึ้นเอง เอกสารฉบับเต็มของ django (หมายเหตุ: การอัพเดทใบเสนอราคาสำหรับ Django 1.6 ... เอกสาร django ก่อนหน้ามีข้อแม้เกี่ยวกับ ModelForms ด้วย) มีเหตุผลที่ดีที่ผู้คนไม่ต้องการพฤติกรรมนี้หรือไม่? ฉันคิดว่าถ้าคุณใช้เวลาในการเพิ่มการตรวจสอบความถูกต้องให้กับแบบจำลองคุณจะต้องการให้การตรวจสอบความถูกต้องทำงานทุกครั้งที่แบบจำลองนั้นได้รับการบันทึก ฉันรู้วิธีทำให้ทุกอย่างทำงานอย่างถูกต้องฉันแค่มองหาคำอธิบาย

6
วิธีที่ถูกต้องและดีในการติดตั้ง __hash __ () คืออะไร
วิธีที่ถูกต้องและดีในการใช้__hash__()คืออะไร? ฉันกำลังพูดถึงฟังก์ชั่นที่คืนค่าแฮชโค้ดที่ใช้แทรกวัตถุลงในพจนานุกรมแฮชเทเบิลหรือที่รู้จักกันในชื่อ เมื่อ__hash__()คืนค่าจำนวนเต็มและใช้สำหรับวัตถุ "binning" ใน hashtables ฉันคิดว่าค่าของจำนวนเต็มที่ส่งคืนควรกระจายอย่างสม่ำเสมอสำหรับข้อมูลทั่วไป (เพื่อลดการชน) การปฏิบัติที่ดีในการรับค่าดังกล่าวคืออะไร การชนเป็นปัญหาหรือไม่ ในกรณีของฉันฉันมีชั้นเรียนขนาดเล็กซึ่งทำหน้าที่เป็นคลาสคอนเทนเนอร์ที่มี ints บางอย่างลอยบางและสตริง

1
เร็วกว่า bit-shift สองเท่าสำหรับ Python 3.x จำนวนเต็ม?
ฉันดูที่แหล่งที่มาของsort_containersและรู้สึกประหลาดใจที่เห็นบรรทัดนี้ : self._load, self._twice, self._half = load, load * 2, load >> 1 นี่loadคือจำนวนเต็ม เหตุใดจึงใช้การเลื่อนบิตในที่เดียวและการคูณในที่อื่น ดูเหมือนว่าเหตุผลที่การเลื่อนบิตอาจเร็วกว่าการหารหนึ่งด้วย 2 แต่ทำไมไม่เปลี่ยนการคูณด้วยการเลื่อนด้วย? ฉันเปรียบเทียบกรณีต่อไปนี้: (คูณหาร) (กะกะ) (ครั้งกะ) (กะหาร) และพบว่า # 3 นั้นเร็วกว่าตัวเลือกอื่น ๆ เสมอ: # self._load, self._twice, self._half = load, load * 2, load >> 1 import random import timeit import pandas as pd x …

4
เป็นไปได้หรือไม่ที่จะละเว้นบรรทัดเดียวที่มี pylint?
ฉันมีบรรทัดต่อไปนี้ในส่วนหัวของฉัน: import config.logging_settings นี่เป็นการเปลี่ยนการตั้งค่าการบันทึกของหลาม แต่ pylint คิดว่าเป็นการอิมพอร์ตที่ไม่ได้ใช้ ฉันไม่ต้องการลบunused-importคำเตือนโดยทั่วไปดังนั้นจึงเป็นไปได้ไหมที่จะละเว้นบรรทัดนี้ ฉันไม่รังเกียจที่จะมี.pylintrcโครงการนี้ดังนั้นคำตอบที่เปลี่ยนไฟล์ config จะได้รับการยอมรับ มิเช่นนั้นสิ่งนี้จะได้รับการชื่นชม: import config.logging_settings # pylint: disable-this-line-in-some-way
150 python  pylint 

16
อ่าน N บรรทัดแรกของไฟล์ในหลาม
เรามีไฟล์ข้อมูลดิบขนาดใหญ่ที่เราต้องการตัดให้มีขนาดที่ระบุ ฉันมีประสบการณ์ใน. net c # อย่างไรก็ตามต้องการทำสิ่งนี้ใน python เพื่อทำให้สิ่งต่าง ๆ และเป็นที่สนใจง่ายขึ้น ฉันจะไปเกี่ยวกับการรับ N บรรทัดแรกของไฟล์ข้อความในหลามได้อย่างไร ระบบปฏิบัติการที่ใช้จะมีผลต่อการนำไปใช้งานหรือไม่?
150 python  file  head 

9
ฟังก์ชั่นหลามเยาะเย้ยตามข้อโต้แย้งอินพุต
เราใช้Mockกับ python มาระยะหนึ่งแล้ว ตอนนี้เรามีสถานการณ์ที่เราต้องการจำลองฟังก์ชั่น def foo(self, my_param): #do something here, assign something to my_result return my_result โดยปกติวิธีการเยาะเย้ยนี้จะเป็น (สมมติว่าเป็นส่วนหนึ่งของวัตถุ foo) self.foo = MagicMock(return_value="mocked!") แม้ว่าฉันจะโทรหา foo () สองครั้งฉันก็สามารถใช้ได้ self.foo = MagicMock(side_effect=["mocked once", "mocked twice!"]) ตอนนี้ฉันกำลังเผชิญสถานการณ์ที่ฉันต้องการคืนค่าคงที่เมื่อพารามิเตอร์อินพุตมีค่าเฉพาะ ถ้าสมมุติว่า "my_param" เท่ากับ "อะไรบางอย่าง" แล้วฉันต้องการคืน "my_cool_mock" ดูเหมือนว่าจะมีให้ในmockito สำหรับไพ ธ อน when(dummy).foo("something").thenReturn("my_cool_mock") ฉันค้นหาวิธีการที่จะประสบความสำเร็จกับ Mock โดยไม่ประสบความสำเร็จได้อย่างไร ความคิดใด ๆ

8
สตริงเลขฐานสิบหกเป็นอาร์เรย์ไบต์ในไพ ธ อน
ฉันมีสตริง Hex ยาวที่แสดงถึงชุดของค่าที่แตกต่างกัน ฉันต้องการแปลง Hex String นี้เป็นอาร์เรย์ไบต์เพื่อให้ฉันสามารถเลื่อนแต่ละค่าออกมาและแปลงเป็นประเภทข้อมูลที่เหมาะสม
150 python  bytearray 

12
การแทนที่ค่าว่าง (white space) ด้วย NaN ใน pandas
ฉันต้องการค้นหาค่าทั้งหมดใน Pandas dataframe ที่มีช่องว่าง (จำนวนเท่าใดก็ได้) และแทนที่ค่าเหล่านั้นด้วย NaNs ความคิดใด ๆ ที่สามารถปรับปรุงได้? โดยทั่วไปฉันต้องการที่จะเปิดนี้: A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo 2 2000-01-04 0.814772 baz 2000-01-05 -0.222552 4 2000-01-06 -1.176781 qux เป็นนี้ A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo …
150 python  pandas  dataframe 

2
เครื่องมือในการแปลงรหัส MATLAB เป็น Python [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันมีรหัส MATLAB จำนวนมากจากวิทยานิพนธ์ MS ของฉันซึ่งตอนนี้ฉันต้องการแปลงเป็น Python (โดยใช้ numpy / scipy และ matplotlib) และแจกจ่ายเป็น open-source ฉันรู้ว่าความคล้ายคลึงกันระหว่างห้องสมุดทางวิทยาศาสตร์ของ MATLAB และ Python และการแปลงด้วยตนเองจะไม่เกินสองสัปดาห์ (หากฉันทำงานต่อทุกวันเป็นระยะเวลาหนึ่ง) ฉันสงสัยว่ามีเครื่องมือใด ๆ ที่สามารถทำการแปลงได้หรือไม่

30
แยกรายการออกเป็นส่วนต่าง ๆ ที่มีความยาวเท่ากันโดยประมาณ
เป็นวิธีที่ดีที่สุดในการแบ่งรายการออกเป็นส่วนเท่าๆกันคืออะไร ตัวอย่างเช่นหากรายการมี 7 องค์ประกอบและแบ่งออกเป็น 2 ส่วนเราต้องการรับ 3 องค์ประกอบในส่วนหนึ่งส่วนอื่น ๆ ควรมีองค์ประกอบ 4 รายการ ฉันกำลังมองหาบางอย่างeven_split(L, n)ที่แตกLออกเป็นnส่วน ๆ def chunks(L, n): """ Yield successive n-sized chunks from L. """ for i in range(0, len(L), n): yield L[i:i+n] รหัสข้างต้นให้ชิ้นส่วนจำนวน 3 ชิ้นแทนที่จะเป็น 3 ชิ้น ฉันสามารถแปลง (ทำซ้ำสิ่งนี้และรับองค์ประกอบแรกของแต่ละคอลัมน์เรียกส่วนนั้นจากนั้นนำส่วนที่สองมาใส่ในส่วนที่สอง ฯลฯ ) แต่นั่นเป็นการทำลายการเรียงลำดับของรายการ
150 python  list  chunks 

15
วิธีรับไดเรกทอรีย่อยทั้งหมดทันทีใน Python
ฉันกำลังพยายามเขียนสคริปต์ Python แบบง่ายที่จะคัดลอก index.tpl ไปยัง index.html ในไดเรกทอรีย่อยทั้งหมด (มีข้อยกเว้นเล็กน้อย) ฉันจมอยู่กับการพยายามหารายชื่อไดเรกทอรีย่อย
150 python  file 

10
คุณเห็นประวัติคำสั่งทั้งหมดใน Python แบบโต้ตอบได้อย่างไร
ฉันกำลังทำงานกับตัวแปลหลามเริ่มต้นบน Mac OS X และฉันCmd+ K(ลบ) คำสั่งก่อนหน้าของฉัน ฉันสามารถผ่านพวกเขาทีละคนโดยใช้ปุ่มลูกศร แต่มีตัวเลือกเช่น - ตัวเลือกประวัติใน bash shell ซึ่งแสดงคำสั่งทั้งหมดที่คุณป้อนจนถึงตอนนี้หรือไม่?
150 python  macos 

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