¶¯Ì¬ÓïÑÔÖ®Î壺PythonÓïÑÔÓëÉè¼ÆÄ£Ê½
Éè¼ÆÄ£Ê½ÊÇÒ»¸ö³éÏó²ã´Î£¬ÃèÊöÁËÔÚÒ»¸öÌØ¶¨µÄ»·¾³ÖÐÓÃÀ´½â¾öÒ»°ãÉè¼ÆÎÊÌâµÄ¶ÔÏóºÍÀàÖ®¼äµÄ½»»¥¹ØÏµ£¬ÆäÖ÷ҪĿµÄÊdzä·ÖÀûÓÃÓïÑÔµÄÌØÐÔ£¬Éè¼Æ¿É¸´Óõġ¢Äܹ»ÊÊÓ¦ÐèÇó±ä¸üµÄÈí¼þ[9]¡£Éè¼ÆÄ£Ê½ÊÇÒ»ÖÖÉè¼ÆË¼Ï룬ÓïÑÔÊÇʵÏÖ˼ÏëµÄ¹¤¾ß¡£Òò´Ë£¬²»Í¬ÓïÑÔµÄÌØÐÔÓ°ÏìÁËÉè¼ÆÄ£Ê½µÄʵÏÖ£¬ÓÐЩÓïÑÔ¸üÈÝÒ×ʵÏÖÉè¼ÆÄ£Ê½£¬¶øÓÐЩÓïÑÔÔò±È½ÏÄÑ¡£GoFÔÚÉè¼ÆÄ£Ê½Ò»ÊéÖÐÑ¡ÓÃÁËÁ½ÖÖÃæÏò¶ÔÏóÓïÑÔ—C++ºÍSmalltalkʵÏÖÈí¼þ¿ª·¢Öг£ÓõÄ23ÖÖÉè¼ÆÄ£Ê½£¬ÆäÖÐC++ ΪÖ÷£¬SmalltalkΪ¸¨£¬ÖصãÍ»³öÁËÁ½ÖÖÓïÑÔ²»Í¬µÄÓïÑÔÌØÐÔ¶ÔʵÏÖÉè¼ÆÄ£Ê½µÄÓ°Ïì¡£C++ÓïÑÔµÄÔËÐÐʱ¶à̬ÐԵĻù´¡ÊÇÐ麯Êý»úÖÆ£¬Ö¸Ïò»ùÀàµÄÖ¸Õë¿ÉÒÔÖ¸ÏòËüµÄÈκÎÅÉÉúÀ࣬ÔÚʵÏÖÉè¼ÆÄ£Ê½Ê±³ä·ÖÀûÓÃÁËC++ÕâÒ»ÌØÐÔ£¬½áºÏ¼Ì³Ð»úÖÆ£¬½¨Á¢ÀàºÍ¶ÔÏóµÄ²ã´Î¹ØÏµ£¬Ê¹C++×î´ó³Ì¶ÈµÄ¾ßÓж¯Ì¬ÌØÐÔ£¬½«°ó¶¨¹ØÏµ¾¡¿ÉÄÜÍÆ³Ùµ½ÔËÐÐʱȷ¶¨¡£
ÔÚGoFµÄ23ÖÖģʽÖУ¬²¿·ÖÉè¼ÆÄ£Ê½ÊÇרÃÅΪ¾²Ì¬ÓïÑÔÌá³öµÄ£¬ÓÐЩģʽÔÚ¶¯Ì¬ÓïÑÔÖÐÓïÑÔÒ»¼¶¾ÍÌṩֱ½ÓµÄÖ§³Ö£¬ÈçCommandģʽ£¬¶¯Ì¬ÓïÑÔÌṩµÄº¯Êýʽ±à³Ì½«º¯Êý±¾Éí¿´×÷ÊÇÀà¶ÔÏó¡£
Python ÊÇÒ»ÖÖÍêÈ«ÃæÏò¶ÔÏóµÄ¶¯Ì¬ÓïÑÔ£¬ÌṩÁËÓë´«Í³ÃæÏò¶ÔÏóÓïÑÔ½ØÈ»²»Í¬µÄ¶ÔÏóÄ£ÐÍ£¬Ó°ÏìÁËÉè¼ÆÄ£Ê½µÄʵÏÖºÍʹÓá£PythonÖÐÀàÒ²ÊǶÔÏó£¬ÀàºÍÀàµÄ¶ÔÏó¶¼Óпɹ©²Ù×÷µÄÌØÊâÊôÐÔ£¬ÔÚÔËÐÐʱ»¹¿ÉÒÔÐÞ¸ÄÀàµÄ½á¹¹ºÍ¶¨Ò壬ÕâÐ©ÌØÐÔʹPython¾ßÓÐÇ¿´óµÄ“ÄÚÊ¡”ÄÜÁ¦£¬ÀûÓÃÕâÖÖÄÜÁ¦³ÌÐòÔ±¿ÉÒÔ´´½¨¸ß¼¶µÄ¡¢¶¯Ì¬µÄºÍÁé»îµÄÓ¦ÓóÌÐò£¬¿ÉÒÔ¸üÈÝÒ×ʵÏÖÉè¼ÆÄ£Ê½¡£±¾²¿·ÖѡȡÁ˼¸ÖÖ³£¼ûµÄÉè¼ÆÄ£Ê½£¬³¢ÊÔÓÃPythonÓïÑÔʵÏÖ£¬²¢ÓëC++µÄʵÏÖ·½Ê½½øÐбȽϣ¬½øÒ»²½ÌåÏÖ¶¯Ì¬ÓïÑÔÖеē¶¯Ì¬ÐÔ”¼°Æä¾ßÌåÓ¦Óá£
5.1 ³éÏ󹤳§£¨Abstract Factory£©
³éÏ󹤳§Ä£Ê½ÌṩÁËÒ»¸ö²»ÐèÒªÖ¸¶¨¾ßÌåÀà¾Í¿ÉÒÔ´´½¨Ò»ÏµÁÐÏ໥¹ØÁª»òÏ໥ÒÀÀµµÄ¶ÔÏóµÄ½Ó¿Ú¡£³éÏ󹤳§¸ôÀëÁ˾ßÌåÀ࣬¿Í»§´úÂëÖ»Ðèͨ¹ý³éÏó½Ó¿Ú´´½¨¶ÔÏ󣬲»ÐèÒª·ÃÎʾßÌåµÄÀà¡£²Î¿¼GoFµÄÉè¼ÆÄ£Ê½Ò»Ê飬¶ÔÊéÖÐʵÏÖÃÔ¹¬¹¤³§µÄC++´úÂëÓÃPythonʵÏÖÈçÏ£º
class MazeFactory:
def MakeMaze(self):
return Maze()
def MakeWall(self):
return Wall()
def MakeRoom(self, n):
return Room(n)
def MakeDoor(self, r1, r2):
return Door(r1, r2)
ÉÏÊö´úÂ붨ÒåÁËÒ»¸ö¿ÉÒÔ´´½¨Maze¡¢Wall¡¢RoomºÍDoorµÄMazeFactory½Ó¿Ú£¬½ÓÏÂÀ´´´½¨Ò»¸öħ·¨ÃÔ¹¬¹¤³§ EnchantedFactory,EnchantedFactory¼Ì³ÐÓÚMazeFactory£¬²
Ïà¹ØÎĵµ£º
1¡£
myCoolVariable="some_string"
os.system("echo myCoolVariable")
2.
>>> os.system('echo "asdg"')
asdg
0
>>> os.system("echo 'asdgwere'")
asdgwere
0
3.
$ python
>>>hamburger="potato"
>>>import os
>>>os.system("echo 'hamburger'")
potato
0
......
python_¸´ÔÓÊý¾ÝÀàÐÍ
pythonÖÐÔÉúµÄ¶ÓÁÐÓÐ2ÖÖ£¬Ò»ÖÖÊÇÆÕͨµÄ¶ÓÁÐ(Queue)£¬Ò»ÖÖ½Ð×öÓÅÏȶÓÁÐ(PriorityQueue)£¬¼´Ð¡µÄÏȳöÁС£
×¢Ò⣺¶ÓÁÐÊÇḬ̈߳²È«µÄ£¬python 3.0ÖÐÖ§³Ö¶à½ø³Ì£¬Ò²ÓÐÀàËÆµÄQueue£¬µ«²»ÊÇÕâ¸ö¡£
1Õ»¡¢¶ÓÁС¢¶Ñ
pythonÖÐÔÉúµÄ¶ÓÁÐÓÐ2ÖÖ£¬Ò»ÖÖÊÇÆÕͨµÄ¶ÓÁÐ(Queue)£¬Ò»ÖÖ½Ð×öÓÅÏȶÓÁÐ(PriorityQueu ......
Èç¹ûpythonµ÷ÓÃÍⲿ³ÌÐò£¬ÐèÒªÖ±½ÓץȥÃüÁîÐеÄÊä³ö£¬ÓÐʲôºÃµÄ°ì·¨ÄØ£¿
ÕâÀïÎÒÃÇÐèÒªÓõ½ os.popen Õâ¸ö¹ÜµÀ£¬È»ºóÓà read¡¢readline»òÕßreadlinesÀ´¶ÁÈ¡ÃüÁîÐÐÊä³ö
#ÐèÒªÖ´ÐеÄÃüÁî
strCommand = 'xxxxxxxxxxxxxxxxx'
#ÓÃpopenÀ´Ö´ÐÐÃüÁîÐÐ
oStdout = os.popen(strCommand)
#¼ÙÉèÊä³öµÄÄÚÈÝÖ»ÓÐÒ»ÐÐ
strStdout = ......
Python²Ù×÷Excel·½·¨£º
£¨1£©ÔÚsourceforge.netÉÏÓÐÒ»¸öÀ©Õ¹Ä£¿é½ÐpyXLWriter£¬¿ÉÒÔ·½±ãµÄдExcelÎļþ¡£
£¨2£©ÏÂÔØwin32com°ü×°ÉÏ,Õâ¸ö°ü¿ÉÒÔµ÷ÓÃwindowsµÄcom¼°APIº¯ÊýµÈÕâÀàµÄ¹¦ÄÜ¡£PythonÀûÓÃwin32com²Ù×÷Excel¡£
Àý×Ó£º
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from win32com. ......