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


9
รับชื่อคลาสของอินสแตนซ์?
ฉันจะหาชื่อของคลาสที่สร้างอินสแตนซ์ของวัตถุใน Python ได้อย่างไรถ้าฟังก์ชันที่ฉันทำนี้เป็นคลาสพื้นฐานที่คลาสของอินสแตนซ์ได้รับมา กำลังคิดว่าบางทีโมดูลตรวจสอบอาจช่วยฉันที่นี่ แต่ดูเหมือนจะไม่ให้สิ่งที่ฉันต้องการ และขาดการแยก__class__สมาชิกฉันไม่แน่ใจว่าจะรับข้อมูลนี้ได้อย่างไร

25
มีฟังก์ชันในตัวเพื่อพิมพ์คุณสมบัติและค่าปัจจุบันของวัตถุทั้งหมดหรือไม่?
ดังนั้นสิ่งที่ฉันกำลังมองหาที่นี่คือสิ่งที่ต้องการฟังก์ชั่นprint_rของ PHP นี่คือเพื่อให้ฉันสามารถแก้จุดบกพร่องสคริปต์ของฉันโดยดูว่าสถานะของวัตถุที่เป็นปัญหา

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

10
รับชื่อคลาสแบบเต็มของอ็อบเจ็กต์ใน Python
สำหรับวัตถุประสงค์ในการบันทึกฉันต้องการดึงชื่อคลาสแบบเต็มของอ็อบเจ็กต์ Python (ด้วยคุณสมบัติครบถ้วนฉันหมายถึงชื่อคลาสรวมถึงแพ็คเกจและชื่อโมดูล) ฉันรู้x.__class__.__name__แต่มีวิธีง่ายๆในการรับแพ็คเกจและโมดูลหรือไม่?

5
การใช้การแบ่งส่วนใน __getitem__
ฉันกำลังพยายามใช้ฟังก์ชัน slice สำหรับคลาสที่ฉันกำลังสร้างซึ่งสร้างการแสดงเวกเตอร์ จนถึงตอนนี้ฉันมีรหัสนี้ซึ่งฉันเชื่อว่าจะใช้ชิ้นส่วนได้อย่างถูกต้อง แต่เมื่อใดก็ตามที่ฉันทำการโทรเช่นv[4]ที่ v เป็นเวกเตอร์หลามส่งกลับข้อผิดพลาดเกี่ยวกับการมีพารามิเตอร์ไม่เพียงพอ ดังนั้นฉันจึงพยายามหาวิธีกำหนดgetitemวิธีพิเศษในชั้นเรียนของฉันเพื่อจัดการทั้งดัชนีธรรมดาและการแบ่งส่วน def __getitem__(self, start, stop, step): index = start if stop == None: end = start + 1 else: end = stop if step == None: stride = 1 else: stride = step return self.__data[index:end:stride]

5
ฉันควรใช้ __ne__ เป็นการปฏิเสธ __eq__ ใน Python หรือไม่
ฉันมีคลาสที่ฉันต้องการจะลบล้าง__eq__เมธอด ดูเหมือนว่าฉันควรจะลบล้าง__ne__เมธอดนี้ด้วย ฉันควรใช้__ne__เป็นการปฏิเสธ__eq__เช่นนี้หรือเป็นความคิดที่ไม่ดี? class A: def __init__(self, state): self.state = state def __eq__(self, other): return self.state == other.state def __ne__(self, other): return not self.__eq__(other)

6
รับคลาสที่กำหนดวิธีการ
ฉันจะรับคลาสที่กำหนดเมธอดใน Python ได้อย่างไร ฉันต้องการให้ตัวอย่างต่อไปนี้พิมพ์ " __main__.FooClass": class FooClass: def foo_method(self): print "foo" class BarClass(FooClass): pass bar = BarClass() print get_class_that_defined_method(bar.foo_method)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.