Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คุณคิดว่าการประกาศภายในคลาส Python เทียบเท่ากับการประกาศภายในวิธี __init__ หรือไม่?


การประกาศที่ใดก็ได้ในคลาส (นอกเหนือจากใน __init__) และการประกาศใน __init__method ไม่เหมือนกัน รหัสต่อไปนี้แสดงว่าสิ่งนี้เป็นจริง

ตัวอย่าง

import sys
class foo():
    print 'within class'
    def __init__(self):
        print 'within init'
    def do_smthng(self):
        print 'do something'

def main():
    f=foo()
    f.do_smthng()
    return 0
if __name__ == '__main__':
    sys.exit( main() )

ผลลัพธ์

within class
within init
do something