µ±ÎÒѧÍê Python £¬ÎÒѧ»áÁËЩʲô
ÉÏһƪ / ÏÂһƪ 2020-06-17 21:36:55
±¾ÎÄÊDZ¾ÈËѧÍêPythonºóµÄÒ»±é»Ø¹Ë£¬¼ÓÉîÀí½â˳±ãÁô×÷ÊÖ²áÒÔ±¸²éÔÄ¡£
ѧϰPythonµÄÕ⼸ÌìÀ´£¬¾õµÃPython»¹ÊDZȽϼòµ¥£¬ÈÝÒ×ÉÏÊֵģ¬¾Í»ù±¾Óï·¨¶øÑÔ£¬µ«ÊÇÓÐЩ¸ß¼¶ÌØÐÔÕÆÎÕÆðÀ´»¹ÊÇÓÐЩÄѶȣ¬ÐèҪʱ¼äÈ¥Ïû»¯¡£Python¸øÎÒ×î´óµÄÓ¡Ïó¾ÍÊÇÓï·¨¼ò½à£¬¾ÍÏñдα´úÂëÒ»Ñù£¬ºÜ¶àÆäËûÓïÑÔÒªÓúܶàÐвÅÄÜʵÏֵIJÙ×÷Python¿ÉÄܼ¸Ðо͸㶨ÁË£¬ÕâÈÃÈË°ÚÍÑÁË·±ÔÓµÄÓï·¨¶øרעÓÚÎÊÌâ±¾Éí£¬ÕâÒ²ÕýÊÇÎÒΪʲô²»Ì«Ï²»¶JavaµÄÔÒòÖ®Ò»£¬ËäÈ»ËüºÜÇ¿´ó¡£
Ò»¡¢Python¼ò½é
PythonÊÇÒ»ÖÖÓÃÀ´±àдӦÓóÌÐòµÄ¸ß¼¶³ÌÐòÉè¼ÆÓïÑÔ,TIOBE³ÌÐòÓïÑÔÅÅÐаñ2016Äê4ÔµÄÅÅÃûÈçÏ£º
PythonʵÏÖÇ¿ÊÆÄæÏ®£¬¶øÇÒÎÒÏàÐÅ£¬Ëæ×Åʱ¼äµÄÍÆÒÆ£¬¹úÄÚPythonÓïÑÔδÀ´Ç°¾°Ò²ÊÇһƬÏòºÃ¡£
PythonµÄÌصãÊÇÓÅÑżòµ¥£¬Ò×ѧÒ×Óã¨ËäÈ»ÎҸоõ»¹ÊÇÓÐһЩ¸ÅÄî²»ÈÝÒ×Àí½â£©£¬PythonµÄÕÜѧÊǾ¡Á¿ÓÃ×îÉٵģ¬×î¼òµ¥Ò׶®µÄ´úÂëʵÏÖÐèÒªµÄ¹¦ÄÜ¡£PythonÊÊÒËÓÚ¿ª·¢ÍøÂçÓ¦Ó㬽ű¾Ð´×÷£¬ÈÕ³£¼òµ¥Ð¡¹¤¾ßµÈµÈ¡£PythonµÄȱµãÊÇЧÂʽϵͣ¬µ«ÊÇÔÚ´óÁ¿µÄ³¡ºÏЧÂÊÈ´²»ÊÇÄÇôÖØÒª»òÕß˵Python²»ÊÇÆäÐÔÄÜÆ¿¾±£¬ËùÒÔ²»ÒªÌ«ÔÚÒâ¡£Æä´ÎÊÇ2.x-3.xµÄ¹ý¶ÉʹµÃÐí¶à3.x»¹È±Éٺܶà2.xϵÄÄ£¿é£¬²»¹ýÒ²ÔÚÍêÉÆÖС£Æä´Î¾ÍÊÇÔ´´úÂëÎÞ·¨**£¬·¢²¼Python³ÌÐòÆäʵ¾ÍÊÇ·¢²¼Ô´´úÂë¡£
¶þ¡¢»ù´¡Óï·¨Òªµã
1
1.Èç¹ûÒ»¸ö×Ö·û´®ÖÐÓÐÐí¶àÐèҪתÒåµÄ×Ö·û£¬¶øÓÖ²»ÏëдÄÇô¶à\
,ÄÇô¿ÉÒÔÓà r'...'
±íʾ '...'
ÄÚµÄÄÚÈݲ»×ªÒå¡£
2.Python¿ÉÓÃ'''...'''
À´±íʾ¶àÐÐÄÚÈÝ£¬È磺
>>>print('''line1
line2
line3''')
line1
line2
line3
3.PythonµÄÂß¼ÔËËãand, or, not ·Ö±ð¶ÔÓ¦CÓïÑÔÖеÄ&&
, ||
, !
.
4.PythonµÄÕûÊýÓ븡µãÊý´óС¶¼Ã»Óз¶Î§¡£
5.PythonÖгý·¨ÓÐÁ½ÖÖ£º /
³ý³öÀ´±ØÊǸ¡µãÊý£¬ //
³ý³öÀ´ÊÇÕûÊý£¬¼´µØ°å³ý¡£
6.PythonÖÐÒ»ÇнÔÒýÓá£Ã¿¸ö¶ÔÏó¶¼ÓÐÒ»¸öÒýÓüÆÊýÆ÷£¨ÄÚ²¿¸ú×Ù±äÁ¿£©½øÐиú×Ù£¬ÒýÓüÆÊýÖµ±íʾ¸Ã¶ÔÏóÓжàÉÙ¸öÒýÓ㬵±³õ´Î²úÉú¸³¸ø±äÁ¿Ê±£¬ÒýÓüÆÊýΪ1£¬Æäºóû½øÐÐÏÂÁÐÐÐΪÖеÄÈÎÒâÒ»ÖÖ¶¼»áÔö¼ÓÒýÓüÆÊý£º
¸³Öµ£º a = b
ÓÃ×÷º¯Êý²ÎÊý´«µÝ£ºfunc(a)³ÉΪÈÝÆ÷¶ÔÏóµÄÒ»¸öÔªËØ£º lis = [1,2,a]
ÒÔÏÂÈÎÒâÒ»ÖÖÐÐΪ¶¼»á¼õÉÙÒýÓüÆÊý£º
delÏú»Ù£ºdela
±äÁ¿Áí¸³¸øÆäËû¶ÔÏó£ºa =False¶ÔÏó´ÓÈÝÆ÷ÖÐɾ³ý: lis.remove(a)
ÉíÔÚµÄÈÝÆ÷±»Ïú»Ù£ºdellis
7.É±´Óëdz¿½±´µÄ¸ÅÄîÓë¶Ô±È£¬Óе㸴ÔÓ£¬¿´ÕâƪÎÄÕÂ
8.list£¬tupleºÍdict£¬set
list£º ΪÁÐ±í£¬ÊÇÒ»¸öÓÐÐò¼¯ºÏ£¬ÀàËÆÓÚÊý×鵫ÓÖ±ÈÊý×鹦ÄÜÇ¿´ó£¬¿ÉÒÔËæʱappend,popÔªËØ£¬Ï±ê´Ó0¿ªÊ¼£¬ÇÒϱêΪ¼ÓnÄ£nÖÆ£¬¼´lis[-1] = lis[len-1]£¬Ï±귶Χ[-len,len-1].
tuple£ºÎªÔª×飬ÀàËÆÓÚlist£¬µ«listΪ¿É±äÀàÐÍ£¬¶øtuple²»¿É±ä£¬¼´Ã»ÓÐappend,popµÈº¯Êý¡£Ò»¸ö½¨ÒéÊÇΪÁË°²È«Æð¼û£¬ÄÜÓÃtuple´úÌælist¾¡Á¿ÓÃtuple¡£Èç¹ûtupleÖ»ÓÐÒ»¸öÔªËØ£¬ÒªÐ´³ÉÈç(1,)ÒÔ±ÜÃâÆçÒå¡£
dict£º×ÖµäÀàÐÍ£¬´æ·Åkey-value¼üÖµ¶Ô£¬¿ÉÒÔ¸ù¾ÝkeyѸËÙµØÕÒ³övalue£¬µ±È»£¬key±ØÐëÊDz»¿É±äÀàÐÍ£¬ÈçÏÂÊÇ´íÎóµÄ£º
>>> dic = {[1,2]:'value'}
Traceback (most recent call last):
File"<pyshell#10>", line1,indic = {[1,2]:'value'}TypeError:unhashabletype:'list'
listÓëdictµÄÓÅÁӶԱȣº
dict:1.²åÈ룬²éÕÒËٶȿ죬¸úkeyµÄÊýÄ¿ÎÞ¹Ø2.ÐèÕ¼ÓôóÁ¿Äڴ棬ÄÚ´æÀË·ÑÑÏÖØlist:1.²åÈ룬²éÕÒËÙ¶ÈÂý£¬O(n)µÄ¸´ÔӶȣ¬ËæÔªËظöÊýÔö¼Ó¶øÔö¼Ó2.Õ¼ÓÃÄÚ´æС
dictÄÚ²¿´æ·ÅµÄ˳ÐòºÍkey·ÅÈëµÄ˳ÐòÊÇûÓйØϵµÄ
set£ºsetÓëdictÀàËÆ£¬Ï൱ÓÚÖ»ÓÐkeyûÓÐvalueµÄdict£¬Ã¿¸ökey²»Í¬£¬set¼äÓÐ &£¬ | µÈ²Ù×÷¶ÔÓ¦¼¯ºÏµÄ½»£¬²¢²Ù×÷¡£
Èý¡¢º¯Êý
1.º¯ÊýÊǶÔÏ󣬺¯ÊýÃû¼´ÊÇÖ¸Ïò¶ÔÓ¦º¯Êý¶ÔÏóµÄÒýÓã¬ËùÒÔ¿ÉÒÔ½«º¯ÊýÃû¸³¸øÒ»¸ö±äÁ¿£¬Ï൱ÓÚ¸øº¯ÊýÆðÒ»¸ö¡®±ðÃû¡¯¡£
>>> mmm = max>>> mmm(1,2,3)3
2.Pythonº¯Êý¿ÉÒÔ·µ»Ø¡°¶à¸öÖµ¡±£¬Ö®ËùÒÔ´òÒýºÅ£¬ÊÇÒòΪʵ¼ÊÉÏ·µ»ØµÄ¶à¸öֵƴ³ÉÁËÒ»¸öÔª×飬·µ»ØÕâ¸öÔª×é¡£
3.¶¨ÒåĬÈϲÎÊýÐèÒªÀμǣºÄ¬ÈϲÎÊý±ØÐëÖ¸Ïò²»±ä¶ÔÏó¡£·ñÔòµÚÒ»´Îµ÷Óú͵ڶþ´Îµ÷Óýá¹û»á²»Ò»Ñù£¬ÒòΪ¿É±äµÄĬÈϲÎÊýµ÷Óúó¸Ä±äÁË¡£
4.¿É±ä²ÎÊý£º´«ÈëµÄ²ÎÊý¸öÊýÊǿɱäµÄ£¬¿ÉÒÔÊÇ0¸ö»ò¶à¸ö¡£¿É±ä²ÎÊý»á½«Äã´«ÈëµÄ²ÎÊý×Ô¶¯×éװΪһ¸ötuple¡£ÔÚÄã´«ÈëµÄlist»òtupleÃû×ÖÇ°¼ÓÒ»¸ö *
¼´ËµÃ÷´«ÈëµÄÊǿɱä²ÎÊý¡£Ï°¹ßд·¨Îª*args¡£
5.¹Ø¼ü×Ö²ÎÊý£º´«Èë0¸ö»ò¶à¸öº¬²ÎÊýÃûµÄ²ÎÊý£¬ÕâЩ²ÎÊý±»×Ô¶¯×é×°³ÉÒ»¸ödict¡£Ï°¹ßд·¨**kw
£¬Èç**a
±íʾ°ÑaÖÐËùÓеļüÖµ¶ÔÒԹؼü×Ö²ÎÊýµÄÐÎʽ´«Èëkw£¬»ñµÃÒ»¸ödict£¬Õâ¸ödictÊÇaµÄÒ»·Ý¿½±´£¬¶Ôkw¸Ä¶¯²»»á´«µÝµ½a
6.ÃüÃû¹Ø¼ü×ÖÔÚº¯Êý¶¨ÒåÖиúÔÚÒ»¸ö*·Ö¸î·ûºó£¬Èç
deffunc(a,b,*,c,d):pass
c,dΪÃüÃû¹Ø¼ü×Ö²ÎÊý£¬¿ÉÒÔÏÞÖƵ÷ÓÃÕß¿ÉÒÔ´«ÈëµÄ²ÎÊýÃû£¬Í¬Ê±¿ÉÒÔÌṩĬÈÏÖµ¡£
7.²ÎÊý¶¨Òå˳Ðò£º±ØÑ¡²ÎÊý£¬Ä¬ÈϲÎÊý£¬¿É±ä²ÎÊý/ÃüÃû¹Ø¼ü×Ö²ÎÊý£¬¹Ø¼ü×Ö²ÎÊý¡£
8.ÇÐƬ²Ù×÷¸ñʽΪlis[Ê×ϱ꣺βϱ꣺¼ä¸ô]£¬Èç¹û¶¼²»Ì¼´lis[::]Ôò´ú±íÕû¸öÈÝÆ÷lis
9.ÓÃÔ²À¨ºÅ()À¨ÆðÀ´Ò»¸öÁбíÉú³Éʽ´´½¨Ò»¸öÉú³ÉÆ÷generator£¬generator±£´æÉú³ÉËã·¨£¬ÎÒÃÇ¿ÉÒÔÓÃnext(g)È¡µÃÉú³ÉÆ÷gµÄÏÂÒ»¸ö·µ»ØÖµ¡£Éú³ÉÆ÷µÄºÃ´¦¾ÍÊÇÎÒÃDz»ÐèÒªÌáÇ°Éú³ÉËùÓÐÁбíÔªËØ£¬¶øÊÇÐèҪʱÔÙÉú³É£¬ÕâÔÚijЩÇé¿öÏ¿ÉÒÔ½ÚÊ¡Ðí¶àÄÚ´æ¡£Ëã·¨Ò²¿ÉÒÔ²»ÊÇÁбíÉú³Éʽ¶øÊÇ×Ô¶¨Ò庯Êý£¬Ö»ÐèÔÚº¯Êý¶¨ÒåÖаüº¬yield¹Ø¼ü×Ö¡£
10.map()ºÍreduce()£º ¶þÕ߶¼ÊǸ߽׺¯Êý¡£map()½ÓÊÕÁ½¸ö²ÎÊý£¬Ò»¸öÊǺ¯Êý£¬Ò»¸öÊÇIterableÐòÁУ¬map½«´«ÈëµÄº¯ÊýÒÀ´Î×÷ÓÃÔÚÐòÁÐÿһ¸öÔªËØÉÏ£¬²¢°Ñ½á¹û×÷ΪеÄIterator·µ»Ø¡£reduce()ÀàËÆÀÛ»ý¼ÆËã°æµÄmap()£¬°ÑÒ»¸öº¯Êý×÷ÓÃÔÚÒ»¸öÐòÁÐÉÏ£¬Ã¿´Î½ÓÊÕÁ½¸ö²ÎÊý£¬½«½á¹û¼ÌÐøÓëÐòÁеÄÏÂÒ»¸öÔªËØ×öÀÛ»ý¼ÆËã¡£
ÀûÓÃmapºÍreduce±àдһ¸östr2floatº¯Êý£¬Èç°Ñ×Ö·û´®'123.456'
ת»»³É¸¡µãÊý123.456£º
fromfunctoolsimportreducedefstr2float(s):deff1(x,y):returnx*10+ ydefchar2num(s):return{'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s]deff2(x,y):returnx*0.1+ y
a,b = s.split('.')
print('a=',a)
print('b=',b)returnreduce(f1, map(char2num,a)) +0.1*reduce(f2, map(char2num,b[::-1]))
print('str2float(\'123.456\') =', str2float('123.456'))
11.fliter()º¯Êý¹ýÂËÐòÁУ¬ÀàËÆÓÚmap()×÷ÓÃÓÚÿһԪËØ£¬¸ù¾Ý·µ»ØÖµÊÇTrue»òÕßFalse¾ö¶¨ÉáÆú»¹ÊDZ£Áô¸ÃÔªËØ¡£º¯Êý·µ»ØÒ»¸öIterator¡£
12.sorted()º¯Êý¿ÉʵÏÖÅÅÐò£¬ÀàËÆÓÚC++¿âÖеÄsort()º¯Êý£¬µ«ÊDZÈÆä¸ü¼Ó¼ò½à£¬Ó﷨Ϊsorted(lis,key=func,reverse=T/F)
keyº¯Êý¿ÉʵÏÖ×Ô¶¨ÒåµÄÅÅÐò¹æÔò£¬reverse±íʾÉýÐò»¹ÊǽµÐò¡£
13.Ò»¸öº¯Êý¿ÉÒÔ·µ»ØÒ»¸öº¯Êý£¬µ«ÊÇ·µ»Øʱ¸Ãº¯Êý²¢Î´Ö´ÐУ¬ËùÒÔ·µ»Øº¯ÊýÖв»ÒªÒýÓÃÈκοÉÄÜ·¢Éú±ä»¯µÄ±äÁ¿£¬·ñÔò»á³öÏÖÂß¼´íÎó¡£
14.×°ÊÎÆ÷(decorator): µ±ÐèÒªÔöÇ¿º¯ÊýµÄ¹¦ÄÜÈ´²»Ï£ÍûÐ޸ĺ¯Êý±¾Éí£¬ÄÇô¿ÉÒÔ²ÉÓÃ×°ÊÎÆ÷ÕâÖÖÔËÐÐʱ¶¯Ì¬Ôö¼Ó¹¦Äܵķ½Ê½£¬Ôö¼ÓµÄ¹¦ÄÜжÔØ×°ÊÎÆ÷º¯ÊýÖС£ÈçÔÚÖ´ÐÐÇ°ºó´òÓ¡'begin call'
ºÍ'end call'
£¬¿ÉÒÔÕâÑù×ö£º
importfunctoolsdeflog(func):@functools.wraps(func) #ΪÁËУÕýº¯ÊýÇ©Ãû£¬×îºÃдÉÏdefwrapper(*args,**kw):print('begin call')
f = func(*args,**kw)
print('end call')returnfreturnwrapper@logdefhah():print('hahahaha')
hah()
---
begin call
hahahaha
end call
15.Æ«º¯Êý£º functools.partial()£¬×÷ÓÃÊǽ«Ò»¸öº¯ÊýµÄijЩ²ÎÊý¹Ì¶¨×¡£¬×÷Ϊк¯ÊýµÄ²ÎÊý£¬¼´¹Ì¶¨×¡¸Ã²ÎÊý£¬·µ»ØÒ»¸öк¯Êý£¬Ê¹µ÷Óøü¼òµ¥¡£
ËÄ¡¢ÃæÏò¶ÔÏó±à³Ì
1.PythonʵÀý±äÁ¿¿ÉÒÔ×ÔÓɵذó¶¨ÈκÎÊôÐÔ
2.ΪÁ˲»ÈÃÄÚ²¿ÊôÐÔ²»±»Íⲿ·ÃÎÊ£¬ÔÚÊôÐÔµÄÃû³ÆÇ°¼ÓÉÏÁ½¸öÏ»®Ïß__
£¬ÕâÑù¾Í±ä³ÉÁËÒ»¸ö˽ÓбäÁ¿(private)£¬×¢Ò⣬²»ÄÜÖ±½Ó·ÃÎʲ»´ú±íÒ»¶¨²»ÄÜ·ÃÎÊ£¬ÊÂʵÉÏ£¬¼ÓË«Ï»®ÏߺóPython¾Í»á½«Æä¸ÄÃûΪ_classÃû__name
£¬ËùÒÔ»¹ÊÇ¿ÉÒÔÕâÑùÀ´·ÃÎÊÕâ¸ö¡®Ë½ÓС¯±äÁ¿¡£
3.¶ÔÓÚ¾²Ì¬ÓïÑÔ£¬Èç¹ûÒªÇó´«ÈëÒ»¸öclassÀàÐ͵ĶÔÏó£¬ÄÇô´«ÈëµÄ¶ÔÏó±ØÐëÊÇclassÀàÐÍ»òÕßÆä×ÓÀ࣬·ñÔò½«ÎÞ·¨µ÷ÓÃclassÖеķ½·¨£¬¶øPythonÕâÑùµÄ¶¯Ì¬ÓïÑÔÓС®Ñ¼×ÓÀàÐÍ¡¯Ò»Ëµ£¬¼´²»Ò»¶¨Òª´«ÈëclassÀàÐÍ»òÆä×ÓÀ࣬¶øÖ»Òª±£Ö¤´«ÈëµÄ¶ÔÏóÖÐÓÐҪʹÓõķ½·¨¼´¿É¡£
4.Èç¹ûÏëÒªÏÞÖÆʵÀý¿ÉÒ԰󶨵ÄÊôÐÔ£¬ÄÇôÔÚ¶¨Òåclassʱ¶¨ÒåÒ»¸ö__slots__
±äÁ¿¼´¿É£¬ÀýÈ磺
classStudent(object):__slots__ = ('name','age')
×¢Ò⣬__slots__
ÏÞÖƵÄÊôÐÔ¶Ôµ±Ç°ÀàʵÀýÆðÍêÈ«ÏÞÖÆ×÷Óã¬ÇÒÓë×ÓÀ๲ͬ¶¨ÒåÆä__slots__
£¬Ò²¾ÍÊÇ˵×ÓÀà¿ÉÒÔ¶¨Òå×Ô¼ºµÄ__slots__
£¬×ÓÀàʵÀýÔÊÐí¶¨ÒåµÄÊôÐÔ¾ÍÊÇ×ÔÉíµÄ__slots__
¼ÓÉϸ¸ÀàµÄ__slots__
£¬¼´²¢¼¯¡£
5.@
property×°ÊÎÆ÷¿ÉÒÔʹһ¸ögetter·½·¨±ä³ÉÊôÐÔ£¬Èç¹û·½·¨ÃûΪme£¬ÄÇô@me.setter
×°ÊÎÆ÷Ôò¿Éʹһ¸ösetter·½·¨±ä³ÉÊôÐÔ¡£ÕâÑù¿ÉÒÔʹ´úÂë¸ü¼ò¶Ì£¬Í¬Ê±¿É¶Ô²ÎÊý½øÐбØÒªµÄ¼ì²é¡£
6.ͨ¹ý¶àÖؼ̳У¬¿Éʹ×ÓÀàÓµÓжà¸ö¸¸ÀàµÄËùÓй¦ÄÜ¡£
7.ÔÚÀàÖÐ__call__
·½·¨¿ÉʹʵÀý¶ÔÏóÏñº¯ÊýÄÇÑùÖ±½Óµ÷Óã¬×÷Óü´ÊǸ÷½·¨¶¨ÒåµÄ¹ý³Ì¡£
8.ORM(Object Relational Mapping ¶ÔÏó¹ØϵӳÉä)£¬¾ÍÊǰѹØϵÊý¾Ý¿âµÄÒ»ÐÐÓ³ÉäΪһ¸ö¶ÔÏó£¬Ò²¾ÍÊÇÒ»¸öÀà¶ÔÓ¦Ò»¸ö±í¡£ORMµÄʵÏÖÐèҪͨ¹ýmetaclassÔªÀàÐÞ¸ÄÀàµÄ¶¨Òå¡£ÔªÀà¿ÉÒԸıäÀà´´½¨Ê±µÄÐÐΪ¡£
Îå¡¢µ÷ÊÔ
1.Pythonµ÷ÊÔ·½·¨£º
- Ö±½Ó´òÓ¡
- ¶ÏÑÔ
- pdb
- IDE
Áù¡¢IO±à³Ì
1.ÐòÁл¯£º °Ñ±äÁ¿´ÓÄÚ´æÖбä³É¿É´æ´¢»ò´«ÊäµÄ¹ý³Ì³Æ֮ΪÐòÁл¯¡£PythonÓÃpickleÄ£¿éʵÏÖÐòÁл¯¡£ÐòÁл¯Ö®ºó£¬¾Í¿ÉÒÔ°ÑÐòÁл¯ºóµÄÄÚÈÝ´æ´¢µ½´ÅÅÌÉÏ»òÕßͨ¹ýÍøÂç½øÐд«Êä¡£pickle.dumps()½«¶ÔÏóÐòÁл¯³ÉÒ»¸öbytes,¶øpickle.loads()¿ÉÒÔ¸ù¾Ýbytes·´ÐòÁл¯³ö¶ÔÏó¡£
2.pickleËäºÃ£¬µ«ÊÇËüרΪPython¶øÉú£¬ËùÒÔÒªÔÚ²»Í¬ÓïÑԼ䴫µÝ¶ÔÏó£¬×îºÃ»¹ÊÇxml»òÕßjson£¬¶øjson±íʾ¸ñʽÊÇÒ»¸ö×Ö·û´®£¬¸üÒ׶ÁÈ¡£¬ÇÒ±Èxml¿ì£¬ËùÒÔ¸ü¼ÓÊÊÒËÓÚ¶ÔÏóÐòÁл¯¡£PythonÄÚÖÃÁËjsonÄ£¿é£¬ÏàÓ¦·½·¨ÈÔÈ»ÊÇdumps()ºÍloads()¡£
3.µ«ÊÇÔÚĬÈÏÇé¿öÏ£¬ÓÐЩ¶ÔÏóÊÇÎÞ·¨ÐòÁл¯µÄ£¬ËùÒÔÎÒÃÇÓÐʱ»¹ÐèÒª¶¨ÖÆת»»·½·¨£¬¸æËßjson¸ÃÈçºÎ½«Ä³Àà¶ÔÏóת»»³É¿ÉÐòÁÐΪjson¸ñʽµÄ{}¶ÔÏó¡£Èçϼ´ÊÇÒ»¸öת»»·½·¨£º
defmantodict(std):return{'name': std.name,'age': std.age,'id': std.id
}
Æß¡¢½ø³ÌÓëÏß³Ì
1.PythonÓÃmutiprocessingÄ£¿éÀ´ÊµÏÖ¶à½ø³Ì¡£
2.Èç¹ûÒª´óÁ¿´´½¨×Ó½ø³Ì£¬¿ÉÒÔʹÓýø³Ì³Ø,ʾÀýÈçÏ£º
from multiprocessingimportPool
....
p = Pool(4)fori inrange(5):
p.apply_async(long_time_task, args=(i,))print('Waiting for all subprocesses done...')
p.close()
p.join()print('All subprocesses done.')
ҪʹÓýø³Ì³ØÐèн¨Pool¶ÔÏ󣬶ÔPool¶ÔÏóµ÷ÓÃjoin()ʹµÈ´ý³ØÖÐËùÓÐ×Ó½ø³ÌÔËÐÐÍê±Ï£¬µ÷ÓÃjoin()·½·¨Ö®Ç°±ØÐëµ÷ÓÃclose()£¬ÇҴ˺óÎÞ·¨ÔÙмÓ×Ó½ø³Ì¡£
3.ʹÓÃsubprocessÄ£¿é¿ÉÒÔ·½±ãµÄÆô¶¯²¢¹ÜÀíÒ»¸ö×Ó½ø³Ì£¬¿ØÖÆÆäÊäÈëÊä³ö¡£
4.½ø³Ì¼äͨÐÅʹÓÃQueue,PipesʵÏÖ¡£
5.threadingÄ£¿é¹ÜÀíÏ̡߳£threading.lock()´´½¨Ïß³ÌËø£¬·Àֹͬʱ·ÃÎÊ»¥³â×ÊÔ´Ôì³ÉµÄ´íÎó£¬Ê¾ÀýÈçÏ£º
lock = threading.Lock()
...
lock.acquire()
...change(mutex)...lock.release()
6.ThreadLocal¿ÉÒÔ½â¾ö²ÎÊýÔÚÒ»¸öÏß³ÌÖи÷¸öº¯ÊýÖ®¼ä»¥Ïà´«µÝµÄÎÊÌâ¡£
7.managersÄ£¿éʵÏÖ·Ö²¼Ê½½ø³Ì¡£
°Ë¡¢ÕýÔò±í´ïʽÓë³£ÓÃÄÚ½¨Ä£¿é
1.reÄ£¿é½øÐÐÕýÔò±í´ïʽ±àÒëºÍÆ¥Å䣬Èç¹û¸Ã±í´ïʽÐèҪƥÅäºÜ¶à´Î£¬ÄÇô×îºÃ½øÐбàÒë´Ó¶ø´ó´ó½Úʡʱ¼ä¡£
ÕýÔò±í´ïʽƥÅäÓÊÏäÀý×Ó£º
import re
hah = re.compile('[0-9a-zA-Z]+[\.[0-9a-zA-Z]+]*\@[0-9a-zA-Z]+\.[a-z]{2,3}')print(hah.match('someone@gmail.com').group())print(hah.match('bill.gates@microsoft.com').group())
i =1whilei <10:
r =input('ÇëÊäÈëÓÊÏ䣺')print(hah.match(r).group())
i = i+1
2.datetimeÄ£¿é½øÐÐÈÕÆÚºÍʱ¼äµÄ´¦Àí£¬Ã¿Ò»¸öʱ¼ä¶ÔÓ¦Ò»¸ötimestamp£¬ÎÒÃÇ°Ñ1970Äê1ÔÂ1ÈÕ 00:00:00 UTC+00:00ʱÇøµÄʱ¿Ì³ÆΪepoch time£¬¼ÇΪ0£¨1970ÄêÒÔÇ°µÄʱ¼ätimestampΪ¸ºÊý£©£¬µ±Ç°Ê±¼ä¾ÍÊÇÏà¶ÔÓÚepoch timeµÄÃëÊý£¬³ÆΪtimestamp¡£×Ö·û´®ºÍdatetimeÒ²¿ÉÒÔÏ໥ת»»£¬²ÉÓÃstrptime()·½·¨£¬×Ö·û´®×ª»»ÎªdatetimeʱÐèÒªÉ趨һ¸öʶ±ð¸ñʽ£¬ÆäÖÐ
%Y-%m-%d %H:%M:%S
·Ö±ð±íʾÄê-ÔÂ-ÈÕ Ê±-·Ö-Ãë¡£
´ÓdatetimeµÃ³öÔ·ݣ¬ÐÇÆÚµÈ×Ö·û´®ÓÃstrftime()·½·¨£¬ÆäÖУº
%a, %b %d %H:%M
·Ö±ð±íʾÐÇÆÚ, ÔÂ·Ý ÈÕÆÚ Ê±:·Ö¡£
ʾÀý£º
fromdatetimeimportdatetime
r ='2015-11-23 12:01'dt = datetime.strptime(r,'%Y-%m-%d %H:%M')print(dt)
week = dt.strftime('%a %b %d, %H:%M')print(week)2015-11-2312:01:00Mon Nov23,12:01
3.datetimeÓëtimestampµÄÏ໥ת»»
ÓÐʱºòÎÒÃÇΪÁË·½±ã±íʾºÍ´æ´¢Ê±¼ä£¬³£½«Ëüת»¯ÎªÒ»¸ötimestamp£¬¼´ÓÃÒ»¸öΨһµÄÊýÀ´±íʾʱ¼ä£¬Ò²·½±ã¿´³öʱ¼äÔçÍí£¬ÓÐʱºòÎÒÃÇÒ²ÐèÒª½«timestampת»¯»ØÎÒÃǹ߳£µÄʱ¼ä¸ñʽ£¬Õâ¾ÍÐèÒªÔÚtimestampºÍdatetimeÖ®¼äÏ໥ת»»£¬×ª»»Ê¾ÀýÈçÏ£¬Ö÷Òªº¯ÊýΪtimestamp()ºÍfromtimestamp()£º
>>> from datetime import datetime>>> dtime = datetime(2016,5,20,16,13)>>> dtime.timestamp()1463731980.0>>> tstamp = dtime.timestamp()>>> normaltime = datetime.fromtimestamp(tstamp)>>> normaltimedatetime.datetime(2016, 5, 20, 16, 13)>>>print(normaltime)2016-05-20 16:13:00>>>
4.collectionsÊÇPythonÄÚ½¨µÄÒ»¸ö¼¯ºÏÄ£¿é£¬ÌṩÁËÐí¶àÓÐÓõļ¯ºÏÀà¡£
5.Base64ÊÇÒ»ÖÖÈÎÒâ¶þ½øÖƵ½Îı¾×Ö·û´®µÄ±àÂë·½·¨£¬³£ÓÃÓÚÔÚURL¡¢Cookie¡¢ÍøÒ³Öд«ÊäÉÙÁ¿¶þ½øÖÆÊý¾Ý¡£
6.structÄ£¿éÓÃÀ´½â¾öbytesºÍÆäËû¶þ½øÖÆÊý¾ÝÀàÐ͵Äת»»¡£
7.PythonµÄhashlibÌṩÁ˳£¼ûµÄ¹þÏ£Ëã·¨£¬ÈçMD5£¬SHA1µÈµÈ¡£hashlibʵÏÖ¼òµ¥µÇ¼£º
importhashlib
db = {'michael':'e10adc3949ba59abbe56e057f20f883e','bob':'878ef96e86145580c38c87f0410ad153','alice':'99b1c2188db85afee403b1536010c2c9'}defget_md5(ostr):md5 = hashlib.md5()
md5.update(ostr.encode())returnmd5.hexdigest()deflogin(user, password):r = get_md5(password)fornameindb:ifdb[name] == r:returnTruereturnFalseprint(login('bob','abc999'))True
8.PythonµÄÄÚ½¨Ä£¿éitertoolsÌṩÁ˷dz£ÓÐÓõÄÓÃÓÚ²Ù×÷µü´ú¶ÔÏóµÄº¯Êý¡£
9.urllibÌṩÁËһϵÁÐÓÃÓÚ²Ù×÷URLµÄ¹¦ÄÜ¡£ÈçGET,POST¡
10.PIL(Python Imaging Library PythonͼÏñ¿â)ÊÇÒ»¸öÇ¿´óµÄͼÏñ´¦Àí±ê×¼¿â£¬¹¦ÄÜÇ¿´óÈ´ÓÖ¼òµ¥Ò×Óá£ÏÖÔÚµÄÃû×Ö½Ð×öPillow¡£¿ÉÒÔÈçÏ°²×°Pillow:
pip3installpillow
´ÓÏÂÃæÉú³ÉÊý×ÖÑéÖ¤ÂëµÄ³ÌÐò¿ÉÒÔ¿úÆäÒ»°ß£º
fromPILimportImage, ImageDraw, ImageFont, ImageFilterimportrandom# Ëæ»ú×Öĸ:defrndChar():returnchr(random.randint(48,57))# Ëæ»úÑÕÉ«1:defrndColor():return(random.randint(64,255), random.randint(64,255), random.randint(64,255))# Ëæ»úÑÕÉ«2:defrndColor2():return(random.randint(32,127), random.randint(32,127), random.randint(32,127))# 240 x 60:width =60*4height =60image = Image.new('RGB', (width, height), (255,255,255))# ´´½¨Font¶ÔÏó:font = ImageFont.truetype('ariblk.ttf',40)# ´´½¨Draw¶ÔÏó:draw = ImageDraw.Draw(image)# Ìî³äÿ¸öÏñËØ:forxinrange(width):foryinrange(height):
draw.point((x, y), fill=rndColor())# Êä³öÎÄ×Ö:fortinrange(4):
draw.text((60* t +10,10), rndChar(), font=font, fill=rndColor2())# Ä£ºý:image = image.filter(ImageFilter.BLUR)
image.save('code.jpg','jpeg')
¾Å¡¢ÍøÂç±à³ÌºÍµç×ÓÓʼþ
1.ÍøÂç±à³ÌÖ÷ÒªÊÇTCPºÍUDPµÄ±à³Ì
2.SMTPÊÇ·¢ËÍÓʼþµÄÐÒ飬PythonÄÚÖöÔSMTPµÄÖ§³Ö£¬¿ÉÒÔ·¢ËÍ´¿Îı¾Óʼþ¡¢HTMLÓʼþÒÔ¼°´ø¸½¼þµÄÓʼþ¡£Python¶ÔSMTPÖ§³ÖÓÐsmtplibºÍemailÁ½¸öÄ£¿é£¬email¸ºÔð¹¹ÔìÓʼþ£¬smtplib¸ºÔð·¢ËÍÓʼþ¡£PythonÄÚÖÃÒ»¸öpoplibÄ£¿é£¬ÊµÏÖÁËPOP3ÐÒ飬¿ÉÒÔÖ±½ÓÓÃÀ´ÊÕÓʼþ¡£ÓÉÓÚÏÖÔÚ¾ø´ó¶àÊý´óÐÍÓʼþ·þÎñÉ̶¼²ÉÈ¡ÁË·´À¬»øÓʼþ´ëÊ©£¬ËùÒÔÕⲿ·ÖµÄ¼òµ¥ÊµÑ鲢ûÓгɹ¦£¬»¹Ðè½øÒ»²½Ñо¿£¬µÈÓöµ½¾ßÌåÇé¿öÔÙ˵¡£
3.PythonÄÚǶÁËsqliteÊý¾Ý¿â£¬»¹¿ÉÒÔ×ÔÐа²×°Á¬½Ómysql£¬MySQLÊǵ±Ç°×îÁ÷ÐеĿªÔ´Êý¾Ý¿â£¬ÔÚÐÐÒµÄÚÓÐ׏㷺µÄÓ¦Óá£
Ê®¡¢Web¿ª·¢ºÍÒì²½IO
1.WSGI(Web Server Gateway Interface) ·þÎñÆ÷Íø¹Ø½Ó¿Ú¡£
2.Python web ¿ª·¢¿ò¼Ü£º
TAG:
ÎÒµÄÀ¸Ä¿
±êÌâËÑË÷
ÈÕÀú
|
|||||||||
ÈÕ | Ò» | ¶þ | Èý | ËÄ | Îå | Áù | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 |
ÎҵĴ浵
Êý¾Ýͳ¼Æ
- ·ÃÎÊÁ¿: 3197
- ÈÕÖ¾Êý: 115
- ½¨Á¢Ê±¼ä: 2020-06-02
- ¸üÐÂʱ¼ä: 2020-08-11