python

导航

如何使用python中的返回函数?

来源 :中华考试网 2020-11-06

  python中的函数非常多,大多数运行后,结束时都需要返回。可以说,返回函数是学好python必备的函数。今天就来讲讲python中的返回函数吧。

  Python 函数通过调用 return 语句来返回结果。使用 returnvalue 可以返回单个值,用 returnvalue1,value2 则能让函数同时返回多个值。

  如果一个函数体内没有任何 return 语句,那么这个函数的返回值默认为 None。除了通过 return 语句返回内容,在函数内还可以使用抛出异常(raise Exception)的方式来“返回结果”。

  接下来,我将列举一些与函数返回相关的常用编程建议。

  编程建议

  1.单个函数不要返回多种类型

  Python 语言非常灵活,我们能用它轻松完成一些在其他语言里很难做到的事情。比如:让一个函数同时返回不同类型的结果。从而实现一种看起来非常实用的“多功能函数”。

  就像下面这样:

  def get_users(user_id=None):

  if user_id is None:

  return User.get(user_id)

  else:

  return User.filter(is_active=True)

  # 返回单个用户

  get_users(user_id=1)

  # 返回多个用户

  get_users()

  2.使用 partial 构造新函数

  假设这么一个场景,在你的代码里有一个参数很多的函数 A,适用性很强。而另一个函数 B 则是完全通过调用 A 来完成工作,是一种类似快捷方式的存在。

  比方在这个例子里, double 函数就是完全通过 multiply 来完成计算的:

  def multiply(x, y):

  return x * y

  def double(value):

  # 返回另一个函数调用结果

  return multiply(2, value)

  3.抛出异常,而不是返回结果与错误

  我在前面提过,Python 里的函数可以返回多个值。基于这个能力,我们可以编写一类特殊的函数:同时返回结果与错误信息的函数。

  def create_item(name):

  if len(name) > MAX_LENGTH_OF_NAME:

  return None, 'name of item is too long'

  if len(CURRENT_ITEMS) > MAX_ITEMS_QUOTA:

  return None, 'items is full'

  return Item(name=name), ''

  def create_from_input():

  name = input()

  item, err_msg = create_item(name)

  if err_msg:

  print(f'create item failed: {err_msg}')

  else:

  print(f'item<{name}> created')

  4.谨慎使用 None 返回值

  None 值通常被用来表示“某个应该存在但是缺失的东西”,它在 Python 里是独一无二的存在。很多编程语言里都有与 None 类似的设计,比如 JavaScript 里的 null、Go 里的 nil 等。因为 None 所拥有的独特 虚无 气质,它经常被作为函数返回值使用。

分享到

相关资讯