python语句、函数与方法的使用技巧总结

ID:8804740

大小:188.50 KB

页数:18页

时间:2018-04-08

python语句、函数与方法的使用技巧总结_第1页
python语句、函数与方法的使用技巧总结_第2页
python语句、函数与方法的使用技巧总结_第3页
python语句、函数与方法的使用技巧总结_第4页
python语句、函数与方法的使用技巧总结_第5页
资源描述:

《python语句、函数与方法的使用技巧总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Python语句、函数与方法的使用技巧总结显示有限的接口到外部当发布python第三方package时,并不希望代码中所有的函数或者class可以被外部import,在__init__.py中添加__all__属性,该list中填写可以import的类或者函数名,可以起到限制的import的作用,防止外部import其他函数或者类。#!/usr/bin/envpython#-*-coding:utf-8-*-frombaseimportAPIBasefromclientimportClientfromdecoratorimportinterface,export,streamfro

2、mserverimportServerfromstorageimportStoragefromutilimport(LogFormatter,disable_logging_to_stderr,enable_logging_to_kids,info)__all__=['APIBase','Client','LogFormatter','Server','Storage','disable_logging_to_stderr','enable_logging_to_kids','export','info','interface','stream']with的魔力with语句需要支持

3、上下文管理协议的对象,上下文管理协议包含__enter__和__exit__两个方法。with语句建立运行时上下文需要通过这两个方法执行进入和退出操作。其中上下文表达式是跟在with之后的表达式,该表达式返回一个上下文管理对象。#常见with使用场景withopen("test.txt","r")asmy_file:#注意,是__enter__()方法的返回值赋值给了my_file,forlineinmy_file:printline知道具体原理,我们可以自定义支持上下文管理协议的类,类中实现__enter__和__exit__方法。#!/usr/bin/envpython#-*-

4、coding:utf-8-*-classMyWith(object):def__init__(self):print"__init__method"def__enter__(self):print"__enter__method"returnself#返回对象给as后的变量def__exit__(self,exc_type,exc_value,exc_traceback):print"__exit__method"ifexc_tracebackisNone:print"ExitedwithoutException"returnTrueelse:print"ExitedwithExc

5、eption"returnFalsedeftest_with():withMyWith()asmy_with:print"runningmy_with"print"------分割线-----"withMyWith()asmy_with:print"runningbeforeException"raiseExceptionprint"runningafterException"if__name__=='__main__':test_with()执行结果如下:__init__method__enter__methodrunningmy_with__exit__methodExited

6、withoutException------分割线-----__init__method__enter__methodrunningbeforeException__exit__methodExitedwithExceptionTraceback(mostrecentcalllast):File"bin/python",line34,inexec(compile(__file__f.read(),__file__,"exec"))File"test_with.py",line33,intest_with()File"test_with.py",lin

7、e28,intest_withraiseExceptionException证明了会先执行__enter__方法,然后调用with内的逻辑,最后执行__exit__做退出处理,并且,即使出现异常也能正常退出filter的用法相对filter而言,map和reduce使用的会更频繁一些,filter正如其名字,按照某种规则过滤掉一些元素。#!/usr/bin/envpython#-*-coding:utf-8-*-lst=[1,2,3,4,5,6]#所有奇数都会返回Tr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
正文描述:

《python语句、函数与方法的使用技巧总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Python语句、函数与方法的使用技巧总结显示有限的接口到外部当发布python第三方package时,并不希望代码中所有的函数或者class可以被外部import,在__init__.py中添加__all__属性,该list中填写可以import的类或者函数名,可以起到限制的import的作用,防止外部import其他函数或者类。#!/usr/bin/envpython#-*-coding:utf-8-*-frombaseimportAPIBasefromclientimportClientfromdecoratorimportinterface,export,streamfro

2、mserverimportServerfromstorageimportStoragefromutilimport(LogFormatter,disable_logging_to_stderr,enable_logging_to_kids,info)__all__=['APIBase','Client','LogFormatter','Server','Storage','disable_logging_to_stderr','enable_logging_to_kids','export','info','interface','stream']with的魔力with语句需要支持

3、上下文管理协议的对象,上下文管理协议包含__enter__和__exit__两个方法。with语句建立运行时上下文需要通过这两个方法执行进入和退出操作。其中上下文表达式是跟在with之后的表达式,该表达式返回一个上下文管理对象。#常见with使用场景withopen("test.txt","r")asmy_file:#注意,是__enter__()方法的返回值赋值给了my_file,forlineinmy_file:printline知道具体原理,我们可以自定义支持上下文管理协议的类,类中实现__enter__和__exit__方法。#!/usr/bin/envpython#-*-

4、coding:utf-8-*-classMyWith(object):def__init__(self):print"__init__method"def__enter__(self):print"__enter__method"returnself#返回对象给as后的变量def__exit__(self,exc_type,exc_value,exc_traceback):print"__exit__method"ifexc_tracebackisNone:print"ExitedwithoutException"returnTrueelse:print"ExitedwithExc

5、eption"returnFalsedeftest_with():withMyWith()asmy_with:print"runningmy_with"print"------分割线-----"withMyWith()asmy_with:print"runningbeforeException"raiseExceptionprint"runningafterException"if__name__=='__main__':test_with()执行结果如下:__init__method__enter__methodrunningmy_with__exit__methodExited

6、withoutException------分割线-----__init__method__enter__methodrunningbeforeException__exit__methodExitedwithExceptionTraceback(mostrecentcalllast):File"bin/python",line34,inexec(compile(__file__f.read(),__file__,"exec"))File"test_with.py",line33,intest_with()File"test_with.py",lin

7、e28,intest_withraiseExceptionException证明了会先执行__enter__方法,然后调用with内的逻辑,最后执行__exit__做退出处理,并且,即使出现异常也能正常退出filter的用法相对filter而言,map和reduce使用的会更频繁一些,filter正如其名字,按照某种规则过滤掉一些元素。#!/usr/bin/envpython#-*-coding:utf-8-*-lst=[1,2,3,4,5,6]#所有奇数都会返回Tr

显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭