pythonÖеÄһЩС֪ʶ

×÷Õß: xiaobaoxueit 2016-08-04 14:44:24
1.ÌØÊâ±äÁ¿"name"
ÎÒÃÇ¿ÉÒÔÔÚÎÒÃǵÄpythonÎļþÖмÓÈëÈçÏ´úÂ룬ÒÔ·½±ã½øÐе¥Ôª²âÊÔ¡£
def unit_test():
print("this is a unit test!")

if __name__ == "__main__":
unit_test()

µ±Python¼ì²âµ½Ò»¸ö³ÌÐòÎļþÕýÔÚ±»½âÊÍÆ÷Ö´Ðжø²»ÊÇ×÷Ϊһ¸ö±»µ¼ÈëµÄÄ£¿é£¬Ëü»á°ÑÌØÊâ±äÁ¿__name__(Á½±ßΪ˫Ï»®Ïß)ÉèÖÃΪ"__main__"¡£ÕâÒâζ×ÅÈκÎÔÚif´úÂë¿éÄڵĴúÂëÖ»ÓÐÔÚÕâÖÖÇé¿öϲŻᱻִÐУº½Å±¾×÷ΪÖ÷³ÌÐòÔËÐжø²»ÊÇ×÷Ϊ±»ÁíÒ»¸ö³ÌÐòµ¼ÈëµÄÎļþ¡£Èç¹ûÕâ¸öÎļþ±¾À´Ö»ÊÇÏë±»ÓÃ×÷Ä£¿éµÄ»°£¬unit_test()º¯Êý¿ÉÒÔÓÃÀ´½øÐе¥Ôª²âÊÔ¡£


2.enumerate
ÕâÊÇÒ»¸öÔÚforÑ­»·Öо­³£Ê¹Óõĺ¯Êý¡£Õâ¸öº¯Êý·µ»Ø°üº¬µü´ú¶ÔÏóºÍÒ»¸öÐòÁÐÊýµÄÔª×é¡£ÔÚĬÈÏÇé¿öÏ£¬ÐòÁÐÊýµÈͬÓÚÁбíµÄϱꡣenumerate½ÓÊܵڶþ¸ö¿ÉÑ¡µÄ²ÎÊý£¬Õâ¸ö²ÎÊýÖ¸¶¨ÁËÐòÁпªÊ¼µÄÊý×Ö£¬¿ÉÒÔʹÓÃÕâ¸ö²ÎÊýÀ´Ê¹ÎļþÖеÄÐÐÊý´Ó1¶ø²»ÊÇ´ÓĬÈϵÄ0¿ªÊ¼¡£

for number,line in enumerate(open("file.py")):
print(number,'\t',line)

3.Éú³ÉÆ÷±í´ïʽ
ÁбíÍƵ¼ÊÇÒ»ÖÖ¸üÒ»°ãµÄÑ­»·ÐÎʽµÄÌض¨Ó¦Óá£ÕâÖÖÑ­»·ÐÎʽ±»³ÆΪÉú³ÉÆ÷±í´ïʽ¡£
ʹÓÃÉú³ÉÆ÷±í´ïʽ°Ñ1~10µÄżÊýµÄƽ·½Ìî³ä½øÁËÁÐ±í¡£
[ n*n for n in range(1,11) if not n*n % 2]

¹ØÓÚÉú³ÉÆ÷±í´ïʽ£¬ÓÐÒ»µãÌرðÖØÒªµÄÊÇËüÃDz¢²»ÊÇÒ»´Î¾ÍÉú³ÉËùÓÐÊý¾Ý¡£¸üÈ·ÇеØ˵£¬ËüÃǸù¾ÝÐèÒªÀ´Éú³É£¨Óɴ˵ÃÃû£©Êý¾ÝÏî¡£ÕâÑùµ±´¦Àí´óÐÍÊý¾Ýʱ£¬ËüÃÇ¿ÉÒÔ¼«´óµØ½ÚÊ¡ÄÚ´æ×ÊÔ´¡£

4.ÉÏÏÂÎĹÜÀí
PythonÓÐÒ»¸öÔËÐÐʱÉÏÏÂÎĵĸÅÄî¡£Ëüͨ³£°üÀ¨Ò»¸öÁÙʱÐÔµÄ×ÊÔ´¡£Õâ¸ö×ÊÔ´¾ÍÊÇÄãµÄ³ÌÐòÏëÒª½»»¥µÄһЩ¶«Î÷¡£Ò»¸ö³£¼ûµÄʾÀý¿ÉÄÜÊÇ´ò¿ªÒ»¸öÎļþ»òÒ»¸ö²¢·¢Ö´ÐеÄÏ̡߳£ÎªÁË´¦ÀíÕâ¸ö,PythonʹÓÃÁ˹ؼü×ÖwithºÍÒ»¸öÉÏÏÂÎĹÜÀíÆ÷ЭÒé¡£Õâ¸öЭÒé°ïÖúÄ㶨ÒåÄã×Ô¼ºµÄÉÏÏÂÎĹÜÀíÆ÷À࣬µ«ÊÇÄãÔڴ󲿷ÖÇé¿öÏ»¹ÊÇ»áʹÓÃPythonÌṩµÄ¹ÜÀíÆ÷¡£
Äãͨ¹ýwithÓï¾äÀ´Ê¹ÓÃÒ»¸öÉÏÏÂÎĹÜÀíÆ÷:
with open("name_test.py","r") as tmp_file:
print(tmp_file)
ÉÏÏÂÎĹÜÀíÆ÷±£Ö¤ÎļþÔÚʹÓú󱻹رա£ÉÏÏÂÎĹÜÀíÆ÷¿ÉÒÔ±ÜÃâʹÓÃtry/finally½á¹¹¡£contextlibÄ£¿éΪ¹¹½¨Äã×Ô¼ºµÄÉÏÏÂÎĹÜÀíÆ÷ÌṩÁËÖ§³Ö¡£


5.Îĵµ×Ö·û´®
Python³ÌÐòÔ±¾­³£ÔÚËûÃǵijÌÐòÖÐʹÓÃÎĵµ×Ö·û´®¡£Îĵµ×Ö·û´®¾ÍÊÇ×Ö·û´®×ÖÃæÖµ£¬ËüÃÇûÓб»¸³Öµ¸ø±äÁ¿£¬¶øÇÒ×ñÑ­ÔÚËüÃDZ»¶¨ÒåµØ·½µÄËõ½ø¼¶±ð¡£¿ÉÒÔÓÃÎĵµ×Ö·û´®À´ÃèÊöº¯Êý£¬Àà»òÕßÄ£¿é¡£help()º¯Êý»á¶ÁÈ¡²¢Õ¹Ê¾ÕâЩÎĵµ×Ö·û´®¡£



6.Éú³ÉÆ÷º¯Êý
Éú³ÉÆ÷º¯ÊýÓë±êÇ©º¯Êý¿´ÆðÀ´¼¸ºõÒ»Ñù¡£³ýÁ˱ê×¼º¯ÊýʹÓÃreturn·µ»ØÊý¾Ý£¬¶øÉú³ÉÆ÷º¯ÊýʹÓùؼü×Öyield¡£
PythonÓÅÑŵÄħÁ¦Ê¹Éú³ÉÆ÷º¯ÊýºÜÌØÊâ¡£ËüÃÇÏñ¶¨¸ñÏà»úÒ»Ñù¹¤×÷¡£µ±Ò»¸ö±ê×¼º¯ÊýÓöµ½returnÓï¾äʱ£¬Ëü»á·µ»ØÖµ£¬È»ºóº¯Êý¾Í»á¶ªÆúËüµÄËùÓÐÄÚ²¿Êý¾Ý¡£µ±Ï´κ¯Êýµ÷ÓÃʱ£¬Ò»ÇдÓÍ·¿ªÊ¼¡£51CTOѧԺPython΢ְ룬Ëæµ½Ëæѧ¡¢Ò»¶ÔÒ»¸¨µ¼¡¢´³¹Øʽѧϰ¡£×Éѯqq£º2851001070£¬qq2851001071
yieldÓï¾ä»á×ö²»Í¬µÄÊ¡£ËüÒ²»áÏñreturnÒ»Ñù·µ»ØÒ»¸öÖµ£¬µ«ÊÇËü²»»áʹº¯Êý¶ªÆúÊý¾Ý¡£Ïà·´£¬ËùÓÐÊý¾Ý¶¼±»±£´æÆðÀ´ÁË¡£Ï´κ¯Êýµ÷ÓÃʱ£¬¼´Ê¹yieldÓï¾äÔÚ´úÂë¿éµÄÖмä»òÕß´¦ÓÚÑ­»·ÖУ¬³ÌÐòÒ²»á´ÓyieldÓï¾ä¿ªÊ¼Ö´ÐС£
ÏÂÃæµÄʾÀý·µ»ØÒ»¸öµÝÔöµÄÆæÊýÐòÁÐ:
def odds(start=1):
if int(start) % 2 == 0: start = int(start)+1
while True:
yield start
start += 2

for n in odds():
if n > 7:break
else: print(n)
PythonÈ·±£Éú³ÉÆ÷º¯ÊýÄܹ»±ä³Éµü´úÆ÷£¬ÕâÑù¾Í¿ÉÒÔÔÚforÑ­»·ÖÐʹÓÃËüÃÇ¡£ÕâÑù°Ñodds()µ±³ÉÒ»¸ö¼¯ºÏÔÚʹÓá£Ã¿´ÎÑ­»··ÃÎÊËü£¬Ëü»áµ÷ÓÃÉú³ÉÆ÷º¯Êý£¬È»ºó½ÓÊÕÏÂÒ»¸öÆæÊýÖµ¡£Í¨¹ý²åÈëbreak£¬¿ÉÒÔ±ÜÃâÒ»¸öÎÞÏÞÑ­»·¡£
Ç°Ãæ½éÉܵÄÉú³ÉÆ÷±í´ïʽ¾ÍÊǸßЧµÄÄäÃûÉú³ÉÆ÷º¯Êý¡£Éú³ÉÆ÷±í´ïʽʵ¼ÊÉÏÊÇÒ»ÖÖ±äÏàµÄûÓÐÃû³ÆµÄÉú³ÉÆ÷º¯Êý¡£51CTOѧԺPython΢ְ룬Ëæµ½Ëæѧ¡¢Ò»¶ÔÒ»¸¨µ¼¡¢´³¹Øʽѧϰ¡£×Éѯqq£º2851001070£¬qq2851001071


7.lambdaº¯Êý
lambdaÀ´×ÔÓÚ΢»ý·Ö¡£lambdaº¯Êý±³ºóµÄÔ­ÀíÊÇËüͨ³£ÊÇÒ»¸öСµÄÄäÃûº¯Êý¿é¡£¿ÉÒÔ°ÑËü²åÈëµ½´úÂëÖУ¬È»ºóÏñÒ»¸öÆÕͨº¯ÊýÒ»Ñùµ÷ÓÃlambdaº¯Êý¡£
lambdaº¯ÊýµÄ¶¨ÒåÈçÏÂËùʾ:
lambda :
straight_line = lambda m,x,c:m*x+c
print(straight_line(2,4,-3))
ËüÃǾÍÊÇÓÃÀ´¼òÃ÷µØ±í´ïÄÇÖÖ¼ò¶ÌµÄµ¥Ðбí´ïʽµÄº¯Êý¡£

Ïà¹Ø×ÊѶ