Ê×ÏÈ, ˵˵pythonÀïÃæµÄ±Õ°ü°É:
1. ÐèÒªº¯ÊýǶÌ×, ¾ÍÊÇÒ»¸öº¯ÊýÀïÃæÔÙдһ¸öº¯Êý.
2. Íⲿº¯ÊýÐèÒª·µ»ØÒ»¸öÄÚ²¿º¯ÊýµÄÒýÓÃ
3. Íⲿº¯ÊýÖÐÓÐһЩ¾Ö²¿±äÁ¿, ²¢ÇÒ, ÕâЩ¾Ö²¿±äÁ¿ÔÚÄÚ²¿º¯ÊýÖÐÓÐʹÓÃ
¸ÅÄî:
1. ×ÔÓɱäÁ¿: Íⲿº¯ÊýÖж¨ÒåµÄ¾Ö²¿±äÁ¿, ²¢ÇÒÔÚÄÚ²¿º¯ÊýÖб»Ê¹ÓÃ.
2. ±Õ°ü: ÄǸöʹÓÃÁË×ÔÓɱäÁ¿²¢±»·µ»ØµÄÄÚ²¿º¯Êý¾Í³ÆΪ±Õ°ü.
Ò»¸öÀý×Ó:(À´×Ô<pythonºËÐıà³Ì>)
def counter(start_at=0):
count = [start_at]
def incr():
count[0] += 1
return count[0]
return incr
ÎÊÌâµÄÌá³ö: ¹ØÓÚpython±Õ°üµÄÒ»¸öÎÊÌâ , ºÇºÇ, ÂÛ̳һλÍøÓÑÌá³öµÄÎÊÌâ: ×ÔÓɱäÁ¿Ö»ÄÜÊÇlistÂð?
def f():
a = [1, 2]
b = 1
c = 'hello'
d = (1, )
e = True
f = {1: 2}
def inf():
print locals()
a[0] += 1
b = 2
c = 3
d = (2, )
e = False
f[1] = 3
return a[0]
return inf
a = f()
t = a()
print t
ÉÏÃæÕâÒ»¶Î´úÂëÖÐ, ÄÚ²¿º¯ÊýinfµÚÒ»¾ä´òÓ¡ÁËlocals(), ×îÖÕ´òÓ¡µÄ½á¹ûÖ»ÓÐaºÍf, Õâ¶Î´úÂëÎҵIJâÊÔ»·¾³ÊÇpython2.5, windowsƽ̨...¶ÔÓ ......
#¹ØÓڻص÷¹¦ÄܵIJâÊÔ
#FunctorÊÇÕâÖֻص÷¹¦ÄܵĹؼü¶ÔÏó
class Functor:
"""Simple functor class."""
def __init__( self, fn, *args ):
self.fn = fn
self.args = args
def __call__( self, *args ):
self.fn( *(self.args + args) )
#Ïë¶Ô¸Ãº¯Êý½øÐлص÷²Ù×÷
def test_callback1(arg1, arg2):
print "test_callback1", arg1, arg2
#ÏȽøÐмòµ¥µØ²âÊÔ
obj_call1 = Functor(test_callback1, 1111, 'qweqwe111111111')
obj_call1()
#½á¹û£º
#test_callback1 1111 qweqwe111111111
#¿´¿´¹ý³ÌÖдøÈë²ÎÊýµÄ·½Ê½
def test_callback2(arg1, arg2, call_arg):
print "test_callback2", arg1, arg2, call_arg
obj_call2 = Functor(test_callback2, 2222, 'qweqwe22222222')
obj_call2(222)#¹ý³ÌÖÐÊäÈë²ÎÊý£¬²¢ÇÒʹ»Øµ÷º¯ ......
1¡¢PythonÖ®ÖÐΨһÄÚ½¨µÄÓ³ÉäÀàÐ;ÍÊÇ×ֵ䣨Dictionary£©¡£×ÖµäÖеÄÖµ²¢Ã»ÓÐÌØÊâµÄ˳Ðò£¬µ«ÊǶ¼°´Õչؼü×Ö£¨Key£©½øÐд洢£¬¹Ø¼ü×Ö¿ÉÒÔÊÇÊý×Ö¡¢×Ö·û´®£¬ÉõÖÁÊÇÔª×飨Tuple£©¡£
2¡¢×ÖµäµÄÓï·¨£º×ÖµäÃû = {'¼ükeys':'Öµvaules','¼ükeys':'Öµvaules','¼ükeys':'Öµvaules',...}£¬×ÖµäÖаüº¬ºÜ¶à¶Ô£¨³ÆΪÌõÄ¿items£©£¬ÓÉ£¨keys£©ºÍËüÃÇÏà¶ÔÓ¦µÄÖµ£¨Values£©×é³É£¬Ã¿¸ö¼üºÍÖµÖ®¼äÓÃðºÅ£¨:£©¸ô¿ª£¬ÌõÄ¿Ö®¼äÒÔ¶ººÅ£¨,£©Ïà¸ô£¬¶øÕû¸ö×ÖµäÊÇÓÉÒ»¶Ô»¨À¨ºÅÀ¨Æ𣬿Õ×ֵ䣨ûÓÐÈκÎÏîÄ¿£©ÓÉÁ½¸ö»¨À¨ºÅ×é³É£¬ÏñÕâÑù£º{}¡£
note:×ÖµäÖеļüÊÇΨһµÄ£¨ÆäËûÀàÐ͵ÄÓ³ÉäÒ²ÊÇÈç´Ë£©£¬¶øÖµÔò²»È»¡£
3¡¢×ֵ亯Êý£ºÄã¿ÉÒÔÓÃ×ֵ亯Êý´ÓÆäËûÓ³É䣨±ÈÈçÆäËû×ֵ䣩»òÕߣ¨¼ü£¬Öµ£©µÄÐòÁн¨Á¢×ֵ䡣eg:>>> items = [('name', 'Gumby'), age', 42)] >>> d = dict(items) >>> d {'age': 42, 'name': 'Gumby'} >>> d['name'] 'Gumby'
Ëü¿ÉÒÔ´øÓйؼü´Ê²ÎÊýʹÓã¬ÈçÏ£º
>>> d = dict(name='Gumby', ......
һЩ×ۺϵÄÐÅÏ¢
Python
ÀËõ½øºÜÖØÒª¡£Ã»ÓмâÀ¨ºÅ²»Òª½ô£¬
Python
¸ù¾ÝËõ½øÀ´·Ö¸îÓï¾ä¿é¡£
²ÎÊý²»ÐèÒª¶¨Ò壬¿ÉÒÔÖ±½ÓʹÓá£
Help(var)
²é¿´
var
µÄ°ïÖú¡£
Var
¿ÉÒÔΪÈκζ«Î÷£¬º¯Êý£¬Ä£¿é£¬Àà¡£
Python
ÖеÄ×Ö·û´®ÊDz»¿É±äµÄ¡£
Pass
±íʾ¿ÕÓï¾ä¿é¡£
# ×¢ÊÍ
String
r‘I’m a string’
×ÔÈ»×Ö·û´®£¬²»½øÐÐתÒå¡£
‘I’m a string’
תÒå×Ö·û´®¡£
ÓÃ
+
¿ÉÁ¬½Ó×Ö·û´®
target = today + os.sep
+ now + '_' + \
# \
ÓÃÀ´Á¬½Ó»»ÐеÄ×Ö·û´®
comment.replace(' ', '_') + '.zip'
º¯Êý
º¯ÊýµÄ¶¨Ò壺
Def function():
…
DocString
'''Prints the maximum
of two numbers.
The two values must be integers.'''
¾ÍÊǸö×¢ÊÍ¡£¡£¡£µ«ÊÇ¿ÉÒÔͨ¹ýº¯ÊýÃû
.__doc__
À´Êä³ö¡£
help()
Ò²¿ÉÒԴﵽͬÑùµÄ×÷Óá£
Ä£¿éÏà¹Ø²Ù×÷
import moduleName –
ÒýÈë
moduleName
Ä£¿é£¬
Ö»Òª¸ÃÄ£¿éÔÚ
python
......
Éè¼ÆÒ»¸öIPÀࣺ
Éè¼Æ1 ÒªÇ󣺳õʼ»¯Ê±¸ø¶¨ipµØÖ·²¢ÅжÏipµØÖ·µÄºÏ·¨ÐÔ
Àà·½·¨£ºÅжÏipµØÖ·ºÏ·¨ÐÔ
ʵÀý·½·¨£º½«ipµØַת»¯Îª10½øÖƵıíʾÐÎʽ¼°16½øÖƵıíʾÐÎʽ
ÀýÈ磺192.168.168.8 Ê®½øÖÆÐÎʽΪ3232278536£¬Ê®Áù½øÖÆÐÎʽΪc0a8a808
Éè¼Æ2 ÒªÇó£ºÀ©Õ¹ÒªÇó1ÖÐipÀ࣬ʹÆäʵÀý»¯Ê±Ôö¼Ó×ÓÍøÑÚÂ붨Ò壬²¢ÔÚ³õʼ»¯ÊÇÅжÏ×ÓÍøÑÚÂëµÄºÏ·¨ÐÔ
ʵÀý·½·¨£º»ñÈ¡ipËùÊô×ÓÍøµÄÍøÂçºÅ£¬¹ã²¥µØÖ·£¬¼°×ÓÍøÄÚip¸öÊý
Éè¼Æ1½âÎö£º
"""Ip address analyzer
Method:
dispIp: Display ip address.
intIp: Get integer of ip address.
hexIp: Get hex of ip address"""
from string import Template
class IpAddress(object):
'Ip address analyzer'
def __init__(self,ip):
'Initialize ip address and netmask'
assert IpAddress.isIp(ip),\
"ip is invalid"
self.ipAddr = ip
def isIp(cls,x):
'Determine if ......
ÏîÄ¿ÐèÒª£¬¸Õ¸Õ½Ó´¥python¡£
½ñÌì¿´Êé¿´µ½a>b==c £¬a,b,cΪinteger
ÔÚC/C++/C#ÖУ¬a>bΪboolean,²»¿ÉÓëinteger±È½ÏÏàµÈ
µ«python a>b==cµÈЧÓÚ((a>b)&&(b==c))
ÔÚpythonÖеÄд·¨ÊÇa>b and b==c ......