Python ´¦Àí×Ö½Ú
zz from: http://blog.sina.com.cn/s/blog_4b5039210100f1tu.html
ÔÎÄÓеãС´íÎ󣬸ÄÁËÒ»µãµã¡£
ÎÒÃÇÖªµÀpythonÖ»¶¨ÒåÁË6ÖÖÊý¾ÝÀàÐÍ£¬×Ö·û´®£¬ÕûÊý£¬¸¡µãÊý£¬ÁÐ±í£¬Ôª×飬×ֵ䡣µ«ÊÇCÓïÑÔÖÐÓÐЩ×Ö½ÚÐ͵ıäÁ¿£¬ÔÚpythonÖиÃÈçºÎʵÏÖÄØ£¿ÕâµãÆÄÎªÖØÒª£¬ÌرðÊÇÒªÔÚÍøÂçÉϽøÐÐÊý¾Ý´«ÊäµÄ»°¡£
pythonÌṩÁËÒ»¸östructÄ£¿éÀ´Ìṩת»»¡£ÏÂÃæ¾Í½éÉÜÕâ¸öÄ£¿éÖеö·½·¨¡£
struct.pack():
struct.packÓÃÓÚ½«PythonµÄÖµ¸ù¾Ý¸ñʽ·û£¬×ª»»Îª×Ö·û´®£¨ÒòΪPythonÖÐûÓÐ×Ö½Ú(Byte)ÀàÐÍ£¬¿ÉÒÔ°ÑÕâÀïµÄ×Ö·û´®Àí½âΪ×Ö½ÚÁ÷£¬»ò×Ö½ÚÊý×飩¡£Æäº¯ÊýÔÐÍΪ£ºstruct.pack(fmt, v1, v2, ...)
£¬²ÎÊýfmtÊǸñʽ×Ö·û´®£¬¹ØÓÚ¸ñʽ×Ö·û´®µÄÏà¹ØÐÅÏ¢ÏÂÃæ
ÓÐËù½éÉÜ¡£v1, v2, ...±íʾҪת»»µÄpythonÖµ¡£ÏÂÃæµÄÀý×Ó½«Á½¸öÕûÊýת»»Îª×Ö·û´®£¨×Ö½ÚÁ÷£©:
>>> import struct
>>> a=20
>>> b=400
>>> str=struct.pack('ii',a,b)
#ת»»³É×Ö½ÚÁ÷£¬ËäÈ»»¹ÊÇ×Ö·û´®£¬µ«ÊÇ¿ÉÒÔÔÚÍøÂçÉÏ´«Êä
>>> print len(str)
#ii ±íʾÁ½¸öint
8
#¿ÉÒÔ¿´µ½³¤¶ÈΪ8¸ö×Ö½Ú£¬ÕýºÃÊÇÁ½¸öintÐÍÊý¾ÝµÄ³¤¶È
>>> print str
#¶þ½øÖÆÊÇÂÒÂë
>>> print repr(str)
'\x14\x00\x00\x00\x90\x01\x00\x00'
#ÆäÖÐÊ®Áù½øÖÆµÄ 0x00000014, 0x00000190·Ö±ð±íʾ20ºÍ400
>>>
ÓÉ´ËÎÒÃǾͿÉÒÔÈÎÒâµÄ½øÐÐ×é°üÁË£¬±ÈÈçÏÂÃæÒ»¸ö´ò°üµÄÀý×Ó£¬Ö»½éÉÜÆäÖеÄpack
format = "!HH%ds" % len(data)
buffer = struct.pack(format,opcode,blocknumber,data)
ÎÒÃÇÒª¶ÔÒ»¸öÊý¾Ý½øÐдò°ü£¬¼ÓÉÏһЩ¸ö°üÍ·£¬ÎÒÃǸù¾ÝÏÂÃæµÄ¸ñʽ·ûÐÅÏ¢£¬ÖªµÀHÊÇunsigned shortÊÇ2¸ö×Ö½Ú£¬¶øsÊÇcharÐÍ¡£ËùÒÔÕâ¸öbuffer¾ÍÊÇ2¸ö×Ö½ÚµÄopcode£¬2¸ö×Ö½ÚµÄblocknumber£¬ºÍlen³¤µÄchar¡£
struct.unpack():
ÎÒÃǽÓ×ÅÉÏÃæµÄÀý×ÓÔËÐУº
>>> a1,a2=struct.unpack('ii',str)
>>> print 'a1',a1
a1 20
>>> print 'a2=',a2
a2= 400
¿ÉÒÔ¿´µ½ “ii”ÒÔËĸö×Ö½ÚΪ·Ö½ç£¬°Ñ8¸ö×Ö½ÚµÄstr·Ö³ÉÁËÁ½¸öintÐ͵ÄÕûÊý¡£
struct.calcsize():ÓÃÀ´¼ÆËãÌØ¶¨¸ñʽµÄÊä³öµÄ´óС£¬ÊǼ¸¸ö×Ö½Ú£¬±ÈÈ磺
>>> struct.calcsize('HH4s')
8
>>> struct.calcsize('ii')
8
>
Ïà¹ØÎĵµ£º
Python ×Ö·û´®
×Ö·û´®ÊÇ ×Ö·ûµÄÐòÁÐ ¡£×Ö·û´®»ù±¾ÉϾÍÊÇÒ»×éµ¥´Ê¡£
ÎÒ¼¸ºõ¿ÉÒÔ±£Ö¤ÄãÔÚÿ¸öPython³ÌÐòÖж¼ÒªÓõ½×Ö·û´®£¬ËùÒÔÇëÌØ±ðÁôÐÄÏÂÃæÕⲿ·ÖµÄÄÚÈÝ¡£ÏÂÃæ¸æËßÄãÈçºÎÔÚPythonÖÐʹÓÃ×Ö·û´®¡£
ʹÓõ¥ÒýºÅ£¨'£©
Äã¿ÉÒÔÓõ¥ÒýºÅָʾ×Ö·û´®£¬¾ÍÈçͬ'Quote me on this'ÕâÑù¡£ËùÓеĿհף¬¼´¿Õ¸ñºÍÖÆ±í·û¶¼ÕÕÔÑù±£Áô¡£ ......
Python ÓÃÏ»®Ïß×÷Ϊ±äÁ¿Ç°×ººÍºó׺ָ¶¨ÌØÊâ±äÁ¿¡£
_xxx
²»ÄÜÓÃ'from module import *'µ¼Èë
__xxx__ ϵͳ¶¨ÒåÃû×Ö
__xxx
ÀàÖеÄ˽ÓбäÁ¿Ãû
ºËÐÄ·ç¸ñ£º±ÜÃâÓÃÏ»®Ïß×÷Ϊ±äÁ¿ÃûµÄ¿ªÊ¼¡£
ÒòΪÏ»®Ïß¶Ô½âÊÍÆ÷ÓÐÌØÊâµÄÒâÒ壬¶øÇÒÊÇÄÚ½¨±êʶ·ûËùʹÓõķûºÅ£¬ÎÒÃǽ¨Òé³ÌÐò ......
¶Ô Python º¯ÊýµÄ"µ÷ÖÆ"£¬ÊÇÖ¸¶ÔÆä×ö³öºÏºõÐèÇóµÄÉèÖ᣾ßÌåµÄµ÷ÖÆ·½·¨£¬Êǽ«Æä²ÎÊýÉèΪ¹Ì¶¨Öµ£¨³£Êý£©¡£
É趨µ¥Ò»µÄ²ÎÊýÖµ
ÔÏȵĺ¯ÊýÊÇÕâÑùµÄ£º
>>> def foo(cooked, standard):
... print "foo called with cooked: %s, standard: %s" % \
... (cooked, standard)
µ÷ÓÃËü£º
>>> foo('a', ......
´´½¨Áбí
sample_list = ['a',1,('a','b')]
Python Áбí²Ù×÷
sample_list = ['a','b',0,1,3]
µÃµ½ÁбíÖеÄijһ¸öÖµ
value_start = sample_list[0]
end_value =
sample_list[-1]
ɾ³ýÁбíµÄµÚÒ»¸öÖµ
del sample_list[0]
ÔÚÁбíÖвåÈëÒ»¸öÖµ
sample_list[0:0] = ['sample value']
µÃµ½ÁбíµÄ³¤¶È
list_length = ......
python ûÓÐÊý×éµÄÊý¾Ý½á¹¹
#list ÐòÁÐ
sample_list = [1,2,3,'abc']
#dictionary ×Öµä
sample_dic = {"key":value, 2:3}
#tuple Ö»¶ÁµÄÐòÁÐ
sample_tuple = (1,3,"ab")
Ðò±í
Ðò±íÓÉһϵÁÐÖµÓöººÅ·Ö¸ô¶ø³É
Ðò±íÓë×Ö·û´®Ò»ÑùÊDz»¿É±äµÄ£º²»ÔÊÐí¶ÔÐ ......