1、#所有奇数都会返回True,偶数会返回False被过滤掉

2、ifexc_tracebackisNone:

3、ifargs:

4、writer.writerow(['name','address','age'])#单行写入

5、@staticmethod#使用staticmethod进行装饰

6、利用用闭包的特性绑定预先绑定一些函数参数,返回一个可调用的变量,直到真正的调用执行

7、deftest_eavl():

8、exec(compile(__file__f.read(),__file__,"exec"))

9、#initializetheparserobject:

10、print"ExitedwithException"

11、iter魔法

12、print"runningafterException"

13、returnTrue

14、print"executingclass_foo(%s,%s)"%(cls,x)

15、ExitedwithException

16、#向csv文件写入

17、证明了会先执行__enter__方法,然后调用with内的逻辑,最后执行__exit__做退出处理,并且,即使出现异常也能正常退出

18、return_singleton

19、returnfunc(*args)

20、help='Showthishelpmessageandexit.')

21、ifvalue100:

22、settings,args=parser.parse_args(argv)

23、exec在Python中会忽略返回值,总是返回None,eval会返回执行代码或语句的返回值

24、相对filter而言,map和reduce使用的会更频繁一些,filter正如其名字,按照某种规则过滤掉一些元素

25、@score.setter#相当于score=property.setter(score)

26、#函数输出

27、读写csv文件

28、deftest_three_method():

29、print"__enter__method"

30、该list中填写可以import的类或者函数名,可以起到限制的import的作用,防止外部import其他函数或者类

31、一个非常好用,很多人又不知道的功能

32、lst=[1,2,3]

33、#licationcodehere,like:

34、@classmethod#使用classmethod进行装饰

35、#run(settings,args)

36、fun=partial(sum,2)#事先绑定一个参数,fun成为一个只需要一个参数的可调用变量

37、action={#可以看做是一个sandbox

38、printfun(3)#实现执行的即是sum(2,3)

39、Python奇技淫巧

40、__all__=['APIBase','Client','LogFormatter','Server',

41、printrow

42、test_exec()#无法看到执行结果

43、printobj

44、writer.writerows(data)#多行写入

45、定义私有类属性

46、通过yield和__iter__的结合,我们可以把一个对象变成可迭代的

47、deftest_second():

48、getattr

49、知道具体原理,我们可以自定义支持上下文管理协议的类,类中实现__enter__和__exit__方法

50、defpartial(func,*part_args):

51、x版本中,使用注释的语法略有不同,可以使用“#”符号开头来注释单行代码,也可以使用三引号(""")来注释多行代码。

52、'"%s"ignored.'%(args,))

53、exec"test_second"inaction

54、instances=dict()#初始为空

55、parser.error('programtakesnocommand-linearguments;'

56、thenamedattributeofobject.namemustbeastring.Ifthestringis

57、my_test=TestGetAttr()

58、print"runningbeforeException"

59、raiseValueError('scoremustbetween0~100!')

60、eval我理解为一种内嵌的python解释器(这种解释可能会有偏差),会解释字符串为对应的代码并执行,并且将执行结果返回

61、__exit__method

62、Traceback(mostrecentcalllast):

63、exceptAttributeError:#没有该属性,且没有指定返回值的情况下

64、'Storage','disable_logging_to_stderr','enable_logging_to_kids',

65、data=[

66、with语句需要支持上下文管理协议的对象,上下文管理协议包含__enter__和__exit__两个方法.with语句建立运行时上下文需要通过这两个方法执行进入和退出操作.

67、x版本中运行时将会出现错误。

68、普通成员函数,其中第一个隐式参数为对象

69、print"runningmy_with"

70、__repr__=__str__

71、argv=sys.argv[1:]

72、withopen("test.","r")asmy_file:#注意,是__enter__()方法的返回值赋值给了my_file,

73、parser=optparse.OptionParser(

74、A.static_foo("para")

75、return','.join(map(str,self.lst))

76、returnwrer

77、deftest_iter():

78、forlineinmy_file:

79、只发一张网上的,然后差文档就好了,这个是记不住的

80、exec和eval在执行代码时,除了返回值其他行为都相同

81、printnum

82、obj=A()

83、使用装饰器实现简单的单例模式

84、self._score=value

85、ifnotisinstance(value,int):

86、if__name__=='__main__':

87、self.lst=[1,2,3,4,5]

88、exec

89、#输出结果

90、#-*-coding:utf-8-*-

91、test_three_method()

92、defsingleton(cls):

93、def__init__(self):

94、runningbeforeException

95、fromclientimportClient

96、print"third"

97、fromfunctoolsimportpartial

98、A.class_foo("para")#更直接的类方法调用

99、return3

100、#普通成员函数

101、File"bin/python",line34,in

102、defmain(argv=None):

103、print"executingstatic_foo(%s)"%x

104、defread(self):

105、printnew_lst

106、def__enter__(self):

107、new_lst=lst[0]iflstisnotNoneelseNone

108、settings,args=process_command_line(argv)

109、pass

110、defsum(a,b):

111、#单例装饰器

112、#checknumberofarguments,verifyvalues,etc.:

113、fget是获取属性的值的函数,fset是设置属性值的函数,fdel是删除属性的函数,是一个字符串(likeacomment).从实现来看,这些参数都是可选的

114、`argv`isalistofarguments,or`None`for``sys.argv[1:]``.

115、def_singleton(*args,**kwargs):

116、ifclsnotininstances:#如果不存在,则创建并放入字典

117、condition="para==5andtest_second(test_first)>5"

118、printres

119、Exception

120、res=eval(condition,action)#解释condition并根据action对应的动作执行

121、exceptAttributeError:

122、在传入字符串时,会使用compile(source,'

123、test_partial()

124、foreleinxrange(len(self.lst)):

125、returninstances[cls]

126、#执行结果

127、fromutilimport(LogFormatter,disable_logging_to_stderr,

128、obj=TestIter()

129、x版本还引入了一些新的语法和特性,例如print()函数、增强的异常处理、新的内置函数等。

130、defwrer(*extra_args):

131、forrowinreader:

132、------分割线-----

133、print"MethodError!"

134、print"AttributeError!"

135、'-h','--help',action='help',

136、#两者具有相同的地址

137、神奇partial

138、test_first()

139、print"testmethod"

140、#furtherprocesssettings&argsifnecessary

141、if__name__=='_

142、testattribute

143、status=main()

144、#defineoptionshere:

145、t2=Test()

146、#常见with使用场景

147、testmethod

148、('Lily','USA','12')]

149、('xiaoming','china','10'),

150、printt1,t2

151、print"executingfoo(%s,%s)"%(self,x)

152、writer=csv.writer(f)

153、executingclass_foo(

154、classStudent(object):

155、def__str__(self):

156、Returna2-tuple:(settingsobject,argslist).

157、在stackoverflow给出了类似与partial的运行方式

158、classMyWith(object):

159、例如,Python

160、"test_first":test_first,

161、test_with()

162、通过__str__的重写,可以直接通过想要的形式打印对象

163、fromdecoratorimportinterface,export,stream

164、deftest_partial():

165、print"hello"

166、神秘eval

167、reader=csv.reader(f)

168、printline

169、args=list(part_args)

170、parser.add_option(#customizeddescription;put--helplast

171、>>>"mynameis{name}".format(name=name)

172、deftest_getattr():

173、x版本,你可以查看代码中的注释或文档字符串。通常,Python

174、一行作判断

175、File"test_with.py",line28,intest_with

176、returnself.read()

177、getattr(my_test,"say")()

178、classTest(object):

179、classmethod装饰器,类方法(给人感觉非常类似于OC中的类方法),其中第一个隐式参数为类

180、fromserverimportServer

181、ifargvisNone:

182、将property与装饰器结合实现属性私有化(更简单安全的实现get和set方法)

183、deftest_first():

184、frombaseimportAPIBase

185、returnself._score

186、Python

187、test_getattr()

188、#单行注释,三对双引号多行注释

189、partial使用上很像C++中仿函数(函数对象).

190、obj.foo("para")#此处obj对象作为成员函数的隐式参数,就是self

191、"para":5,

192、filter的用法

193、sys.exit(status)

194、def__iter__(self):

195、如果你无法找到注释或文档字符串,可以尝试运行代码并查看错误消息。如果代码中使用了Python

196、"test_second":test_second,

197、执行结果如下:

198、thatattribute.Forexample,getattr(x,‘foobar’)isequivalentto

199、defstatic_foo(x):

200、deftest_with():

201、当发布python第三方package时,并不希望代码中所有的函数或者class可以被外部import,在__init__.py中添加__all__属性,

202、executingstatic_foo(para)

203、test="testattribute"

204、[1,3,5]

205、x.foobar.Ifthenamedattributedoesnotexist,defaultisreturnedif

206、详细原理可以查看这篇文章,浅谈Python的with语句

207、__init__method

208、'export','info','interface','stream']

209、print"------分割线-----"

210、"test_second":test_second

211、returnFalse

212、通过string类型的name,返回对象的name属性(方法)对应的值,如果属性不存在,则返回默认值,相当于object.name

213、instances[cls]=cls(*args,**kwargs)

214、action={

215、#从csv中读取文件,基本和传统文件读取类似

216、装饰器之单例

217、deftest_second(num):

218、@singleton

219、File"test_with.py",line33,in

220、printfilter(lambdax:x%2!=0,lst)

221、deffoo(self,x):

222、print"__init__method"

223、print"ExitedwithoutException"

224、>>>name="andrew"

225、ExitedwithoutException

226、staticmethod装饰器

227、withMyWith()asmy_with:

228、executingfoo(

229、obj.class_foo("para")#此处类作为隐式参数被传入,就是cls

230、property装饰器

231、@property#相当于property.getter(score)或者property(score)

232、#!/usr/bin/envpython

233、fromstorageimportStorage

234、defclass_foo(cls,x):

235、#打印结果

236、类中两种常用的装饰,首先区分一下他们

237、returnself#返回对象给as后的变量

238、deftest_exec():

239、else:

240、withopen('data.csv','rb')asf:

241、with的魔力

242、看一下下面这个例子

243、yieldele

244、"test_third":test_third

245、字符串格式化

246、importcsv

247、t1=Test()

248、enable_logging_to_kids,info)

249、runningmy_with

250、add_help_option=None)

251、#使用范例

252、getattr(object,name[,default])Returnthevalueof

253、print"second"

254、defsay(self):

255、x版本。

256、要快速判断一个Python代码是否为Python

257、x版本的语法或特性,那么在Python

258、def__exit__(self,exc_type,exc_value,exc_traceback):

259、lst=[1,2,3,4,5,6]

260、各种时间形式转换

261、classA(object):

262、staticmethod装饰器,没有任何隐式参数.python中的静态方法类似与C++中的静态方法

263、classTestGetAttr(object):

264、provided,otherwiseAttributeErrorisraised.

265、property有三个方法getter(),setter()和delete()来指定fget,fset和fdel。这表示以下这行

266、obj.static_foo("para")#静态方法并没有任何隐式参数,但是要通过对象或者类进行调用

267、当条件满足时,返回的为等号后面的变量,否则返回else后语句

268、deftest_third():

269、returna+b

270、defscore(self):

271、returnnum

272、thenameofoneoftheobject’sattributes,theresultisthevalueof

273、#python内建函数

274、x版本的代码会包含注释或文档字符串,明确指出它适用于Python

275、fornuminobj:

276、其中上下文表达式是跟在with之后的表达式,该表示大返回一个上下文管理对象

277、'mynameisandrew'

278、print"__exit__method"

279、property(fget=None,fset=None,fdel=None,=None)

280、returnsettings,args

281、return0#success

282、classTestIter(object):

283、raiseException

284、__enter__method

285、formatter=optparse.TitledHelpFormatter(width=78),

286、try:

287、withopen('data.csv','wb')asf:

288、test_iter()

289、raiseValueError('scoremustbeaninteger!')

290、defscore(self,value):

291、命令行处理

292、#直接调用噗通的成员方法

293、defprocess_command_line(argv):

294、printgetattr(my_test,"test")

295、args.extend(extra_args)

296、最后,如果你无法确定代码的版本,可以使用Python的version()函数来获取当前Python解释器的版本。

注:本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即后台留言通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意