PythonÖеÄFunction
PythonÖУ¬º¯ÊýÊǿɱ»ÖØÓõijÌÐò¶Î¡£¶ÔÓÚº¯ÊýµÄ¶¨Ò壬¿ÉÒÔʹÓÃdef¹Ø¼ü×Ö¡£ÏÂÃæ¾ÍÏȶ¨ÒåÒ»¸öº¯Êý£º
def foo():
print('function')
foo()
ÔÚÉÏÊö´úÂëÖУ¬¶¨ÒåÁËÒ»¸öÃûΪfooµÄº¯Êý£¬Õâ¸öº¯ÊýûÓвÎÊý¡£×îºóÒ»ÐдúÂëµÄ¹¦ÄÜÊǵ÷ÓÃÕâ¸öº¯Êý¡£ÕâÊÇÒ»¸öº¯ÊýµÄ×î¼òµ¥ÐÎʽ¡£ÏÂÃæÀ´½éÉÜÒ»ÏÂÓвÎÊýµÄº¯Êý£º
def foo():
print('function')
def foo1(a,b):
print(a+b)
foo()
foo1(1,2)
foo1¾ÍÊÇÒ»¸öÓвÎÊýµÄº¯Êý£¬Ê¹ÓÃfoo1(1,2)¾Í¿ÉÒÔµ÷ÓÃÕâ¸öÓвεĺ¯ÊýÁË¡£
ÔÚ³ÌÐòÖУ¬ÓбäÁ¿´æÔÚ£¬¾Í»áÉæ¼°µ½±äÁ¿µÄ×÷ÓÃÓòµÄÎÊÌâ¡£ÔÚPythonÖУ¬±äÁ¿µÄ×÷ÓÃÓò·ÖÈý¸öµÈ¼¶£ºglobal¡¢localºÍnonlocal¡£
global£º¹ËÃû˼Ò壬±íʾȫ¾Ö±äÁ¿¡£¼´Õâ¸ö±äÁ¿ÔÚpythonÖд¦ÓÚ×î¸ß²ã´ÎÉÏ£¬Ò²¾ÍÊÇÕâ¸ö±äÁ¿µÄ¶¨Òå²ã´Î×î¸ß£¬¶ø²»ÊÇÔÚº¯Êý»òÀàÖС£
local£º¾Ö²¿±äÁ¿£¬±»¶¨ÒåÔÚº¯ÊýÖ®ÖС£
nonlocal£ºÕâÊÇÒ»¸öÏà¶ÔµÄ¸ÅÄî¡£ÔÚpythonÖУ¬º¯ÊýÄÚ²¿¿ÉÒÔǶÌ×¶¨ÒåÄÚ²¿º¯Êý£¬ÕâÑùº¯ÊýÄÚ²¿µÄ±äÁ¿Ïà¶ÔÓÚº¯ÊýÄÚ²¿µÄÄÚǶº¯ÊýÀ´½²¾ÍÊÇnonlocalµÄ¡£
ÏÂÃæ£¬¸ø³öÏà¹ØµÄ³ÌÐòÀ´ËµÃ÷£¬Ê×ÏÈ¿´Ò»ÏÂÈ«¾ÖºÍ¾Ö²¿±äÁ¿£º
x = 1
y = 2
def foo(x):
print(x)
print(y)
print('***********')
x = 3
global y
y = 3
print(x)
print(y)
print('***********')
foo(x)
print(x)
print(y)
#************************
#ÔËÐнá¹û
1
2
***********
3
3
***********
1
3
ÔÚÉÏÊö³ÌÐòÖУ¬¶¨ÒåÁËÁ½¸öÈ«¾Ö±äÁ¿xºÍy£¬ ÔÚº¯ÊýfooÄÚ²¿£¬Ò²¶¨ÒåÁËÒ»¸ö¾Ö²¿±äÁ¿x¡£¸ù¾ÝÔËÐнá¹û¿ÉÖª£¬ÔÚfooÄÚ²¿£¬±äÁ¿xÊÇÕæÕýµÄ¾Ö²¿±äÁ¿¡£ÒòΪ¶ÔÆäËù×öµÄÐ޸IJ¢Ã»ÓжÔÈ«¾Ö±äÁ¿x²úÉúÓ°Ïì¡£ÁíÍ⣬Èç¹ûÔÚfooÄÚ²¿ÐèҪʹÓÃÈ«¾Ö±äÁ¿£¬ÔòÐèҪʹÓÃglobal¹Ø¼ü×Ö¡£global yµÄÒâͼ¾ÍÊÇÉùÃ÷±äÁ¿yΪÍⲿÉùÃ÷¹ýµÄÈ«¾Ö±äÁ¿y¡£ËùÒÔ£¬ÔÚfooÄÚ²¿¶Ôy½øÐÐÐ޸ĺó£¬ÔÚfooÍⲿÈÔÈ»ÓÐÓ°Ïì¡£ÒòΪfooÐ޸ĵÄÊÇÈ«¾Ö±äÁ¿¡£
ÔÙÀ´¿´Ò»ÏÂnonlocal£º
def out():
z = 3
def inner():
nonlocal z
z = 4
print('inner function
Ïà¹ØÎĵµ£º
×÷ÕߣºÀÏÍõ
PythonËÆºõºÜÌÖÑáÐÞÊηû£¬Ã»Óг£¼ûµÄstaticÓï·¨¡£Æä¾²Ì¬·½·¨µÄʵÏÖ´óÖÂÓÐÒÔÏÂÁ½ÖÖ·½·¨£º
µÚÒ»ÖÖ·½Ê½£¨staticmethod£©£º
>>> class Foo:
str = "I'm a static method."
def ba ......
from http://blog.alexa-pro.cn/?p=315
´ËÎĵµÊ¹ÓÃÆ½Ì¨Îª cPAMIE Build 2.0,ºÍ֮ǰµÄ°æ±¾ÓÐÃ÷ÏԵIJî±ð,¾ßÌå¿ÉÖ±½Ó¿´cPAMIE.py Ô´Âë
ÏÂÃæÊÇһЩ³£Óõķ½·¨
ie.navigate('http://blog.alexa.cn') ÓÃÀ´·ÃÎÊÒ»¸öÁ´½Ó¡£
ie.linkClick('linkname') ´ò¿ªÕâ¸öÒ³ÃæÖеÄÒ»¸öÁ¬½Ó ²ÎÊý: name»ò id
ie.textBoxSet('labels','python ......
from http://stackoverflow.com/questions/101268/hidden-features-of-python
http://www.okpython.com/bbs/thread-3434-1-1.html
http://www.okpython.com/bbs/thread-3436-1-2.html
http://www.okpython.com/bbs/thread-3437-1-2.html
http://www.okpython.com/bbs/thread-3438-1-1.html
http://www.okpython.com/bb ......
1.º¯Êý
º¯Êýͨ¹ýdef¹Ø¼ü×Ö¶¨Òå¡£def¹Ø¼ü×Öºó¸úÒ»¸öº¯ÊýµÄ ±êʶ·û
Ãû³Æ£¬È»ºó¸úÒ»¶ÔÔ²À¨ºÅ¡£Ô²À¨ºÅÖ®ÖпÉÒÔ°üÀ¨Ò»Ð©±äÁ¿Ãû£¬¸ÃÐÐÒÔðºÅ½áβ¡£½ÓÏÂÀ´ÊÇÒ»¿éÓï¾ä£¬ËüÃÇÊǺ¯ÊýÌå¡£º¯ÊýÒ²ÓÐÐβκÍʵ²Î£¬ÓëC++Ψһ²»Ò»ÑùµÄÊÇÐββ»Ð´ÀàÐͶøÒÑ£¬Ö±½Óд±äÁ¿Ãû¡£
2.globalÓï¾ä
Èç¹ûÄãÏëҪΪһ¸ö¶¨ÒåÔÚº¯ÊýÍâµÄ±äÁ¿¸³Öµ£¬ÄÇÃ´Ä ......
OS¿âÌṩÁËʹÓø÷ÖÖ²Ù×÷ϵͳ¹¦ÄܵĽӿڡ£
os.name ·µ»Øµ±Ç°²Ù×÷ϵͳÃû£¬¶¨ÒåÁË'posix'£¬'nt'£¬'mac'£¬'os2'£¬'ce'£¬'java'£¨ÎÒʹÓÃwin7/python3.1,Êä³öµÄÊÇnt¡£posix²»ÖªµÀÊÇʲôϵͳ£¬macÓ¦¸ÃÊÇApple»ú°É£¬os2Ò²²»ÖªµÀÊÇʲô¶«¶«£¬ceÓ¦¸ÃÊÇwinCE°É£¬ÕâÑùµÄ»°£¬pythonÓ¦¸ÃÖ§³ÖÏòCEÒÆÖ²°¡£¬Å¼×Ô¼ºÊÔ¹ý£¬Ã»±àÒë³É¹¦£¬java¹À¼ ......