PythonµÄÄÚ´æÐ¹Â©¼°gcÄ£¿éµÄʹÓÃ
PythonµÄÄÚ´æÐ¹Â©¼°gcÄ£¿éµÄʹÓÃ
-- 6.11ÈÕ´íÎóÐÞÕý°æ
Horin|ºØÇÚ
Email: horin153@msn.com
Blog:
http://blog.csdn.net/horin153/
ÔÚ Python
ÖУ¬ÎªÁ˽â¾öÄÚ´æÐ¹Â©ÎÊÌ⣬²ÉÓÃÁ˶ÔÏóÒýÓüÆÊý£¬²¢»ùÓÚÒýÓüÆÊýʵÏÖ×Ô¶¯À¬»ø»ØÊÕ¡£
ÒòΪ Python
ÓÐÁË×Ô¶¯À¬»ø»ØÊÕ¹¦ÄÜ£¬²»ÉÙ³õѧÕß¾ÍÈÏΪ×Ô¼º´Ó´Ë¹ýÉÏÁ˺ÃÈÕ×Ó£¬²»±ØÔÙÊÜÄÚ´æÐ¹Â©µÄɧÈÅÁË¡£µ«Èç¹û²é¿´Ò»Ï Python Îĵµ¶Ô __del__()
º¯ÊýµÄÃèÊö£¬¾ÍÖªµÀºÃÈÕ×ÓÀïÒ²ÊÇÓÐÒõÔÆµÄ¡£ÏÂÃæÕª³Ò»µãÎĵµÄÚÈÝ£º
Some common situations that may
prevent the reference count of an object from going to zero include:
circular references between objects (e.g., a doubly-linked list or a
tree data structure with parent and child pointers); a reference to the
object on the stack frame of a function that caught an exception (the
traceback stored in sys.exc_traceback keeps the stack frame alive); or a
reference to the object on the stack frame that raised an unhandled
exception in interactive mode (the traceback stored in
sys.last_traceback keeps the stack frame alive).
¿É¼û£¬ÓÐ __del__()
º¯ÊýµÄ¶ÔÏó¼äµÄÑ»·ÒýÓÃÊǵ¼ÖÂÄÚ´æÐ¹Â©µÄÖ÷Ðס£Ìرð˵Ã÷£º¶ÔûÓÐ __del__() º¯ÊýµÄ Python
¶ÔÏó¼äµÄÑ»·ÒýÓã¬ÊÇ¿ÉÒÔ±»×Ô¶¯À¬»ø»ØÊÕµôµÄ¡£
ÈçºÎÖªµÀÒ»¸ö¶ÔÏóÊÇ·ñÄÚ´æÐ¹Â©ÁËÄØ£¿
·½·¨Ò»¡¢µ±ÄãÈÏΪһ¸ö¶ÔÏóÓ¦¸Ã±»Ïú»Ùʱ£¨¼´ÒýÓüÆÊýΪ 0£©£¬¿ÉÒÔͨ¹ý sys.getrefcount(obj)
À´»ñÈ¡¶ÔÏóµÄÒýÓüÆÊý£¬²¢¸ù¾Ý·µ»ØÖµÊÇ·ñΪ 0 À´ÅжÏÊÇ·ñÄÚ´æÐ¹Â©¡£Èç¹û·µ»ØµÄÒýÓüÆÊý²»Îª 0£¬ËµÃ÷Ôڴ˿̶ÔÏó obj
ÊDz»Äܱ»À¬»ø»ØÊÕÆ÷»ØÊÕµôµÄ¡£
·½·¨¶þ¡¢Ò²¿ÉÒÔͨ¹ý Python À©Õ¹Ä£¿é gc À´²é¿´²»ÄÜ»ØÊյĶÔÏóµÄÏêϸÐÅÏ¢¡£
Ê×ÏÈ£¬À´¿´Ò»¶ÎÕý³£µÄ²âÊÔ´úÂ룺
#--------------- code begin --------------
#
-*- coding: utf-8 -
Ïà¹ØÎĵµ£º
PLYÄ£¿é ÊÇLex/YACCPython µÄʵÏÖ£¬¿ÉÒÔÓÃÀ´ÊµÏÖ´Ê·¨·ÖÎö/Óï·¨·ÖÎö£¬µ«ÈçºÎÓ㬻¹Ã»Ñо¿£¬ÒÔºóÓÐʱ¼äÔÙÑо¿°É£»
Ö÷Ò³: http://www.dabeaz.com/ply/
pycparserÄ£¿é ÊÇʹÓÃPLYÄ£¿é·ÖÎöcÓïÑÔÓï·¨µÄÄ£¿é£¬Ã»Ê²Ã´Îĵµ£¬µ«Ä£¿é×Ô´øÁËÀý×ӺͲâÊÔÓÃÀý¡£
Ö÷Ò³: http://code.google.com/p/pycpa ......
×î½üʹÓÃpython¹ý³ÌÖУ¬python½çÃæµÄ±à³Ì¹¤¾ßGTK-Python£¬µ«ÊǽçÃæµÄÃÀ¹ÛÐÔ²»ÈçQt-CreatorÖеÄQt-Designer£¬ÎÞ·¨ÊµÏÖÉè¼ÆÊÇÊÓͼ»æÖÆ£¬ÓеãÈÃÈËʧÍû¡£
ÍøÉÏ·¢ÏÖÓÐÈ˽éÉÜpython Eric IDE,±È½ÏºÃÆæ£¬°²×°ÉÏ¿´¿´°É£º
&nb ......
Ò»¡¢Ê¹ÓÃPythonÐèÒªÖªµÀµÄ
ÔÚ Windows ÉÏ£¬°²×° Python ÓÐÁ½ÖÖÑ¡Ôñ¡£
1¡¢ActiveState ÖÆ×÷µÄ ActivePython ÊÇרÃÅÕë¶Ô Windows µÄ Python Ì×¼þ£¬Ëü°üº¬ÁËÒ»¸öÍêÕûµÄ Python ·¢²¼¡¢Ò»¸öÊÊÓÃÓÚPython ±à³ÌµÄ IDE ÒÔ¼°Ò»Ð© PythonµÄ Windows À©Õ¹£¬ÌṩÁËÈ«²¿µÄ·ÃÎÊ Windows APIs µÄ·þÎñ£¬ÒÔ¼° Windows×¢²á±íµÄ×¢²áÐÅÏ¢¡£ËäÈ ......
Programming Python, 2nd Edition (O'Reilly)
http://www.osbbs.com/dl/Programming Python, 2nd Edition (O'Reilly).chm
ºÜÈ«ºÜ¾µäÁËpythonѧϰÈëÃÅ×ÊÁÏ
OReilly - Learning Python:
http://www.osbbs.com/dl/OReilly - Learning Python.chm
......
python stringºÍPyQtµÄQStringµÄÇø±ð ÒÔÏÂÔÚPython2.6ºÍPyQt4.4.4 for
Python2,6»·¾³ÏÂÌÖÂÛ£º PythonÖÐÓÐÁ½ÖÖÓйØ×Ö·ûµÄÀàÐÍ£ºPython string objectºÍPython Unicode
object¡£Ö÷ҪʹÓÃPython string object½øÐÐÊý¾ÝÊäÈëÊä³ö¡£ PyQtÖÐÓëÖ®Ïà¶ÔÓ¦µÄ×Ö·ûÓйØÀà
python stringºÍPyQtµÄQStringµÄÇø±ð
ÒÔÏÂÔÚPython2.6ºÍPyQt4 ......