python函数return为空_Python3基础 函数 无return、return 空或None 的效果相同

?

???????Python : 3.7.3

?????????OS : Ubuntu 18.04.2 LTS

????????IDE : pycharm-community-2019.1.3

??????Conda : 4.7.5

???typesetting : Markdown

?

code

[email protected]:~$ source activate py37

(py37) [email protected]:~$ ipython

Python 3.7.3 (default, Mar 27 2019, 22:11:17)

Type 'copyright', 'credits' or 'license' for more information

IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: def fun_no_return():

...: pass

...:

In [2]: def fun_return_none():

...: return None

...:

In [3]: def fun_return_empty():

...: return

...:

In [4]: import dis

In [5]: dis.dis(fun_no_return)

2 0 LOAD_CONST 0 (None)

2 RETURN_VALUE

In [6]: dis.dis(fun_return_empty)

2 0 LOAD_CONST 0 (None)

2 RETURN_VALUE

In [7]: dis.dis(fun_return_none)

2 0 LOAD_CONST 0 (None)

2 RETURN_VALUE

In [8]: exit

(py37) [email protected]:~$ conda deactivate

[email protected]:~$

?

source_code

def dis(x=None, *, file=None, depth=None):

"""Disassemble classes, methods, functions, and other compiled objects.

With no argument, disassemble the last traceback.

Compiled objects currently include generator objects, async generator

objects, and coroutine objects, all of which store their code object

in a special attribute.

"""

if x is None:

distb(file=file)

return

# Extract functions from methods.

if hasattr(x, '__func__'):

x = x.__func__

# Extract compiled code objects from...

if hasattr(x, '__code__'): # ...a function, or

x = x.__code__

elif hasattr(x, 'gi_code'): #...a generator object, or

x = x.gi_code

elif hasattr(x, 'ag_code'): #...an asynchronous generator object, or

x = x.ag_code

elif hasattr(x, 'cr_code'): #...a coroutine.

x = x.cr_code

# Perform the disassembly.

if hasattr(x, '__dict__'): # Class or module

items = sorted(x.__dict__.items())

for name, x1 in items:

if isinstance(x1, _have_code):

print("Disassembly of %s:" % name, file=file)

try:

dis(x1, file=file, depth=depth)

except TypeError as msg:

print("Sorry:", msg, file=file)

print(file=file)

elif hasattr(x, 'co_code'): # Code object

_disassemble_recursive(x, file=file, depth=depth)

elif isinstance(x, (bytes, bytearray)): # Raw bytecode

_disassemble_bytes(x, file=file)

elif isinstance(x, str): # Source code

_disassemble_str(x, file=file, depth=depth)

else:

raise TypeError("don't know how to disassemble %s objects" %

type(x).__name__)

?

reference

https://www.v2ex.com/amp/t/337852

?

resource

[文档 - English] docs.python.org/3

[文档 - 中文] docs.python.org/zh-cn/3

[规范] www.python.org/dev/peps/pep-0008

[规范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules

[源码] www.python.org/downloads/source

[ PEP ] www.python.org/dev/peps

[平台] www.cnblogs.com

[平台] gitee.com

?

Python具有开源、跨平台、解释型、交互式等特性,值得学习。

Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。

代码的书写要遵守规范,这样有助于沟通和理解。

每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

原文:https://www.cnblogs.com/xingchuxin/p/11142066.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值