มีวิธียอมรับฟังก์ชั่นใน Python หรือไม่? ยอมรับได้ดังต่อไปนี้หรือไม่?
#########################################################
# Create a new user
#########################################################
def add(self):
มีวิธียอมรับฟังก์ชั่นใน Python หรือไม่? ยอมรับได้ดังต่อไปนี้หรือไม่?
#########################################################
# Create a new user
#########################################################
def add(self):
คำตอบ:
วิธีที่ถูกต้องที่จะทำคือการให้ docstring ด้วยวิธีนี้help(add)จะคายความคิดเห็นของคุณ
def add(self):
"""Create a new user.
Line 2 of comment...
And so on...
"""
นั่นคือสามเครื่องหมายคำพูดคู่เพื่อเปิดความคิดเห็นและอีกสองคำพูดคู่เพื่อจบมัน คุณยังสามารถใช้สตริง Python ที่ถูกต้องได้ ไม่จำเป็นต้องเป็นเครื่องหมายอัญประกาศเดี่ยวและคู่สามารถแทนที่ด้วยเครื่องหมายคำพูดเดี่ยว
ดู: PEP 257
ใช้docstring :
สตริงตัวอักษรที่เกิดขึ้นเป็นคำสั่งแรกในโมดูลฟังก์ชั่นชั้นเรียนหรือวิธีการกำหนด docstring เช่นนั้นจะกลายเป็น
__doc__คุณสมบัติพิเศษของวัตถุนั้นโดยปกติโมดูลทั้งหมดควรมีเอกสารและฟังก์ชั่นและคลาสทั้งหมดที่ส่งออกโดยโมดูลควรมีเอกสารด้วย วิธีการสาธารณะ (รวมถึงตัว
__init__สร้าง) ควรมีเอกสาร แพคเกจอาจได้รับการบันทึกไว้ใน docstring โมดูลของ__init__.pyไฟล์ในไดเรกทอรีแพคเกจตัวอักษรสตริงที่เกิดขึ้นที่อื่นในรหัสหลามอาจทำหน้าที่เป็นเอกสาร พวกเขาไม่ได้รับการยอมรับจากคอมไพเลอร์ Python bytecode และไม่สามารถเข้าถึงได้เป็นคุณลักษณะวัตถุรันไทม์ (เช่นไม่ได้กำหนดให้
__doc__) แต่ docstrings พิเศษสองประเภทอาจถูกดึงออกมาโดยเครื่องมือซอฟต์แวร์:
- สตริงตัวอักษรที่เกิดขึ้นทันทีหลังจากการมอบหมายอย่างง่ายที่ระดับบนสุดของโมดูลคลาสหรือ
__init__วิธีการที่เรียกว่า "attribute docstrings"- สตริงตัวอักษรที่เกิดขึ้นทันทีหลังจาก docstring อื่นเรียกว่า "docstrings เพิ่มเติม"
โปรดดูPEP 258 , "Docutils Design Specification" [2] , สำหรับคำอธิบายโดยละเอียดของคุณสมบัติและเอกสารเพิ่มเติม ...
หลักการของการแสดงความคิดเห็นที่ดีมีความเป็นส่วนตัว แต่นี่คือแนวทางบางประการ:
อ่านเกี่ยวกับการใช้docstringsในรหัสหลามของคุณ
ตามระเบียบของdocstring Python :
docstring สำหรับฟังก์ชั่นหรือวิธีการควรสรุปพฤติกรรมและจัดทำเอกสารของอาร์กิวเมนต์ค่าส่งคืนผลข้างเคียงข้อยกเว้นที่เพิ่มขึ้นและข้อ จำกัด เกี่ยวกับเมื่อสามารถเรียกใช้ได้ (ทั้งหมดถ้ามี) ควรระบุอาร์กิวเมนต์เพิ่มเติม ควรบันทึกไว้ว่าอาร์กิวเมนต์ของคำหลักเป็นส่วนหนึ่งของส่วนต่อประสานหรือไม่
จะไม่มีกฎทองคำ แต่ให้ความเห็นที่มีความหมายกับนักพัฒนาคนอื่น ๆ ในทีมของคุณ (ถ้าคุณมี) หรือแม้แต่กับตัวคุณเองเมื่อคุณกลับมาใช้มันอีกหกเดือน
ฉันจะไปอีกขั้นมากกว่าแค่พูดว่า "ใช้ docstring" เลือกเครื่องมือสร้างเอกสารเช่น pydoc หรือ epydoc (ฉันใช้ epydoc ใน pyparsing) และใช้ไวยากรณ์มาร์กอัปที่เครื่องมือดังกล่าวรู้จัก เรียกใช้เครื่องมือนั้นบ่อยครั้งขณะที่คุณทำการพัฒนาเพื่อระบุช่องโหว่ในเอกสารของคุณ ในความเป็นจริงคุณอาจได้รับประโยชน์จากการเขียนเอกสารสำหรับสมาชิกของชั้นเรียนก่อนที่จะดำเนินการชั้นเรียน
นี่คือการประชุมที่แนะนำในตัวในPyCharmสำหรับความคิดเห็นคำอธิบายฟังก์ชัน:
def test_function(p1, p2, p3):
"""
my function does blah blah blah
:param p1:
:param p2:
:param p3:
:return:
"""
def) (ไม่ใช่คำถามเชิงโวหาร)
ขณะที่ฉันเห็นว่าเรื่องนี้ไม่ควรที่จะแสดงความคิดเห็น แต่ docstring เป็นส่วนใหญ่ (ทั้งหมด?) คำตอบที่แนะนำให้ผมต้องการที่จะเพิ่มnumpydoc (เป็นคู่มือสไตล์ docstring)
หากคุณทำสิ่งนี้คุณสามารถ (1) สร้างเอกสารโดยอัตโนมัติและ (2) คนรู้จักและอ่านรหัสของคุณได้ง่ายขึ้น
คุณสามารถใช้สามคำพูดเพื่อทำมัน
คุณสามารถใช้เครื่องหมายคำพูดเดี่ยว:
def myfunction(para1,para2):
'''
The stuff inside the function
'''
หรือเครื่องหมายคำพูดคู่:
def myfunction(para1,para2):
"""
The stuff inside the function
"""