»°ËµPython£¨Áù£©Ð¡°×µÄʤÀû
“¹þ¹þ£¡ÖªµÀÎÒ²Ù×÷Ö®ÍõС°×µÄÀ÷º¦Á˰ɣ¡”
ÿµ±ÖÜÁùÍíÉÏ£¬Ð¡°××ÜÊÇÒª¸úËÞÉáµÄµÜÐÖÌô¼¸¾ÖħÊÞ¡£Æ¾½è×Å·çɧµÄ×ßλºÍâ«ËöµÄÒâʶ£¬Ð¡°××ÜÊÇЦµÀ×îºó¡£Õâ²»£¬Ð¡°×ÓÖÒ»´ÎÈ¡µÃÁËÒÔÒ»µÐ¶þµÄʤÀû¡£
“Ö÷ÒªÊǶàÏß²Ù×÷£¡”ÕâÊÇС°×¶Ô×Ô¼ºÊ¤ÀûµÄ×ܽᡣ
½ñÌìÎÒÃǾÍҪѧϰ¶àỊ̈߳¬¿´¿´Ð¡°×ÊÇÔõÑùʤÀûµÄ¡£
Ê×ÏÈÎÒÃÇÒª³ÎÇåµÄÊÇPythonµÄ¶àÏ̲߳¢²»ÊÇÀûÓÃϵͳ±¾ÉíµÄ¶àÏ̻߳úÖÆ£¬¶øÊÇ»ùÓÚPython½âÊÍÆ÷£¬Êµ¼ÊÔÚϵͳ¿´À´»¹ÊÇÒ»¸öÏ̡߳£ÔÚPythonÖУ¬´æÔÚÒ»¸öGlobal Interpreter Lock(GIL)£¬¼´È«¾Ö½âÊÍÆ÷Ëø£¬ËüµÄ×÷ÓÃÔÚÓÚÈÃͬһʱ¿ÌÖ»ÄÜÓÐÒ»¸öÏ̶߳ÔÓÚpython¶ÔÏó½øÐвÙ×÷¡£ËùÒÔPythonµÄ¶àÏß³ÌÎÞ·¨³ä·ÖÀûÓöàºËCPU£¬ÉõÖÁµ¥ºËCPU£¬Õâ¿ÉÒÔ˵ÊǽâÊÍÓïÑÔµÄͨ²¡¡£ÓÐʱ¿ÉÒÔͨ¹ý´´½¨¶à¸ö½ø³Ì£¨¶ø²»ÊÇỊ̈߳©£¬»òÕßʹÓÃJython°æ±¾À´½â¾ö¡£
¶àÏ̴߳øÀ´µÄȱµã£º1¡¢´úÂë±àдÄѶȼӴ󣬶àÏß³ÌÖ®¼äµÄÇÀÕ¼ÈÝÒײúÉú´íÎ󣬳öÏÖÒì³££»2¡¢Ïß³ÌÖ®¼äµÄÇл»Í¬Ñù»á¼Ó´óCPUºÍÄÚ´æµÄ¸ºµ£¡£
ÎÞÂÛÈçºÎ£¬¶àÏ̻߳¹ÊÇÖµµÃһѧµÄ£¬ÒòΪËüÓÐÒ»¸ö²»¿ÉºöÊÓµÄÓŵ㣺ִÐÐËٶȿ죬ÇмDz»ÄÜÀÄÓ᣶àÏß³ÌÖ÷ÒªÓ¦ÓÃÔÚI/OÃܼ¯Ð͵ijÌÐòÖУ¬ÒòΪÔÚÊäÈëÊä³öº¯Êý»á¸ü¶àµØµ÷ÓÃÄÚ½¨µÄC¼¶´úÂ룬¶ø²»ÊÇPython¼¶´úÂë¡£
ÎÒÃÇҪѧϰµÄÄ£¿éÊÇthreading£¬¶ø²»ÊÇthread£¬ÒòΪthreading¸üΪ¸ß¼¶¡£ÍƼöʹÓü̳Ðthreading.ThreadÀàÀ´´´½¨Ï̡߳£
hello world Ḭ̈߳棺
import threading
class WorkerThread(threading.Thread): #¼Ì³Ð×ÔThread
def __init__(self):
threading.Thread.__init__(self) #¼Ì³ÐThread¹¹Ô캯Êý
def run(self): #ÖØÐ´run()º¯Êý
print("hello world!")
if __name__=="__main__":
myThread=WorkerThread() #´´½¨¶ÔÏó
myThread.start() #start()·½·¨»á×Ô¶¯ÔËÐÐrun()
µ÷ÓÃstart()·½·¨ºó£¬Ï߳̾ͻá×Ô¶¯ÔËÐУ¬Á¬Ðø´´½¨¶à¸ö¶ÔÏó¾Í»á±ä³É¶àÏ̡߳£
ÉÏÎÄÌáµ½£¬¶àÏ̵߳ÄÒ»¸öȱµãÊǶԹ²ÏíµÄÊý¾ÝÇÀÕ¼Ôì³É³ÌÐò´íÎó¡£PythonÌṩÁ˺ܶàÏß³Ìͬ²½ÔÓÈçʱ¼ä£¬ËøµÈ¡£“µ±ÕâЩѡÏî´æÔÚʱ£¬×î¼Ñʵ¼ùÊÇת¶ø¹Ø×¢ÓÚʹÓöÓÁС£Ïà±È½Ï¶øÑÔ£¬¶ÓÁиüÈÝÒ×´¦Àí£¬²¢ÇÒ¿ÉÒÔʹµÃÏ̱߳à³Ì¸ü¼Ó°²È«£¬ÒòΪËüÃÇÄܹ»ÓÐЧµØ´«Ë͵¥¸öÏ̶߳Ô×ÊÔ´µÄËùÓÐ
Ïà¹ØÎĵµ£º
½ñÌìÊǵڶþÌì×Ô¼º¿´¹ØÓÚPythonÁË£¬¿´¼ûÒ»¸öPython2дµÄ°Ù¶È´Êµä£¬ÎÒÒ²ÓÃPython 3 дÁËÒ»¸ö¡£ÕæµÄºÜСÇÉ£¬ºÇºÇ£¬ºÜºÃµÄÓïÑÔ¡£
²»ÖªµÀÔõôÉÏ´«´úÂë¸ñʽµÄ£¬¾ÍÉÏ´«Îı¾ÁË£º
# -*- coding: utf8 -*-
import urllib.parse
import urllib.request
def search(word):
#word = input("ÊäÈëÄãÒª²éѯµÄ ......
ÕýÔò±í´ïʽÊǸöħ¹í£¬Ò²ÊǸöÌìʹ¡£ÔÚÄãûÓÐÕÆÎÕËü֮ǰ£¬ËüÊÇħ¹í£¬ÔÚÄãÕÆÎÕËüºó£¬ËüÊÇÌìʹ£¬µ«ÊÇ£¬Ê±
²»Ê±»¹ÊÇÒªÌø³öÀ´£¬¸øÄãµ÷Ƥµ·µ°Ò»·¬¡£
Ò»¸öÕýÔò±í´ïʽ¾ÍÊÇÓÉÆÕͨ×Ö·ûÒÔ¼°ÌØÊâ×Ö·û×é³ÉµÄÎÄ×Öģʽ£¬¸ÃģʽÃèÊöÔÚ²éÕÒÎÄ×ÖÖ÷Ìåʱ´ý
Æ¥ÅäµÄÒ»¸ö»ò¶à¸ö×Ö·û´®¡£ÕýÔò±í´ïʽ×÷Ϊһ¸öÄ£°å£¬½«Ä³¸ö×Ö·ûģʽÓëËùËÑË÷µÄ ......
µ±ÎÒÃÇÕâÑù½¨Á¢Îļþʱ
f =
file('x1.txt', 'w')
f.write(u'ÖÐÎÄ')
f.colse()
Ö±
½Ó½á¹ûÓ¦¸ÃÊÇÀàËÆ
f.write(u'ÖÐÎÄ')
UnicodeEncodeError: 'ascii'
codec can't encode characters in position 0-16: ordinal not in
range(128)
ÒªÖ±½Óд utf-8 ÎļþÔõô°ìÄØ?
import codecs
f = codecs. ......
¹ØÓÚPython£¬±¾È˲»Ïë¶à˵ÁË£¬Èç¹û²»ÖªµÀʲôÊÇPython£¬¿ÉÒÔ¿´¡¶Ê²Ã´ÊÇPython
£¿¡·Ò»ÎÄ¡£Python¿ÉÒÔ¿ª·¢CGI³ÌÐò£¬ÄÇôÔÚApacheÏÂÓ¦ÈçºÎÅäÖÃÄØ£¿±¾ÎÄÖ»½²ÊöÁËÈçºÎ
ÒÔCGI·½Ê½ÅäÖÃApache£¬Ê¹ÆäÖ§³ÖPython³ÌÐò¡£ÆäËü·½Ê½£¬Èçmod_pythonÔò²»ÔÚÌÖÂÛ·¶Î§
(ÆäʵÊÇûÅä³É¹¦:-)¡£ÎÒËùʹÓõÄϵͳ»·¾³ÎªWindows 2000, Apache 1.3.19£ ......
import types
type(x) is types.IntType # ÅжÏÊÇ·ñint ÀàÐÍ
type(x) is types.StringType #ÊÇ·ñstringÀàÐÍ
.........
--------------------------------------------------------
³¬¼¶¶ñÐĵÄģʽ£¬²»ÓüÇסtypes.StringType
import types
type(x) == types(1) # ......