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

30
วิธีสร้างพีชคณิตทั้งหมดของรายการ?
คุณจะสร้างพีชคณิตทั้งหมดของรายการใน Python โดยไม่ขึ้นกับประเภทขององค์ประกอบในรายการได้อย่างไร ตัวอย่างเช่น: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]

2
__future__ นำเข้า absolute_import ทำอะไรได้จริง
ฉันได้ตอบคำถามเกี่ยวกับการนำเข้าแบบสัมบูรณ์ใน Python ซึ่งฉันคิดว่าฉันเข้าใจโดยอ้างอิงจากการอ่านPython 2.5 changelogและPEP ที่มาพร้อมกัน อย่างไรก็ตามเมื่อติดตั้ง Python 2.5 และพยายามสร้างตัวอย่างของการใช้อย่างถูกต้องfrom __future__ import absolute_importฉันรู้ว่าสิ่งต่าง ๆ ไม่ชัดเจนนัก ตรงจากรายการเชื่อมโยงข้างต้นคำสั่งนี้สรุปความเข้าใจของฉันเกี่ยวกับการเปลี่ยนแปลงการนำเข้าแบบสัมบูรณ์: สมมติว่าคุณมีไดเรกทอรีแพ็คเกจเช่นนี้: pkg/ pkg/__init__.py pkg/main.py pkg/string.py สิ่งนี้จะกำหนดแพ็คเกจpkgที่มีชื่อpkg.mainและpkg.stringsubmodules พิจารณารหัสในโมดูล main.py จะเกิดอะไรขึ้นถ้ามันประมวลผลคำสั่งimport string? ใน Python 2.4 และรุ่นก่อนหน้ามันจะดูในไดเรกทอรีของแพ็คเกจเพื่อดำเนินการนำเข้าแบบสัมพัทธ์ค้นหา pkg / string.py นำเข้าเนื้อหาของไฟล์นั้นเป็นpkg.stringโมดูลและโมดูลนั้นถูกผูกไว้กับชื่อ"string"ในpkg.mainเนมสเปซของโมดูล ดังนั้นฉันจึงสร้างโครงสร้างไดเรกทอรีที่แน่นอนนี้: $ ls -R .: pkg/ ./pkg: __init__.py main.py string.py __init__.pyและstring.pyว่างเปล่า main.pyมีรหัสต่อไปนี้: import string print string.ascii_uppercase …

8
วิธีการตกแต่งชั้นเรียน?
ใน Python 2.5 มีวิธีสร้างมัณฑนากรที่ตกแต่งคลาสหรือไม่? โดยเฉพาะฉันต้องการใช้มัณฑนากรเพื่อเพิ่มสมาชิกในคลาสและเปลี่ยนตัวสร้างเพื่อรับค่าสำหรับสมาชิกนั้น ค้นหาสิ่งต่อไปนี้ (ซึ่งมีข้อผิดพลาดทางไวยากรณ์ใน 'class Foo:': def getId(self): return self.__id class addID(original_class): def __init__(self, id, *args, **kws): self.__id = id self.getId = getId original_class.__init__(self, *args, **kws) @addID class Foo: def __init__(self, value1): self.value1 = value1 if __name__ == '__main__': foo1 = Foo(5,1) print foo1.value1, foo1.getId() foo2 = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.