小编Cha*_*nor的帖子

返回语句是否应该有括号?

假设我们在Python 3.x(我猜想在Python 2.6和Python 2.7中)也有以下函数:

>>> def dbl_a(p): return p*2
>>> def dbl_b(p): return(p*2)
>>> def dbl_c(p): return (p*2)
Run Code Online (Sandbox Code Playgroud)

如果我们运行它们,我们得到:

>>> dbl_a(42)
84
>>> dbl_b(42)
84
>>> dbl_c(42)
84
Run Code Online (Sandbox Code Playgroud)

这三个函数提供相同的结果(值和类型),它们似乎是等价的.

但是哪一个有更正确的return陈述呢?

这些定义中是否有任何副作用?

同样的问题适用于返回多个值的以下情况:

>>> def dbl_triple_a(p): return p*2, p*3
>>> def dbl_triple_b(p): return(p*2, p*3)
>>> def dbl_triple_c(p): return (p*2, p*3)

>>> dbl_triple_a(42)
(84, 126)
>>> dbl_triple_b(42)
(84, 126)
>>> dbl_triple_c(42)
(84, 126)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,每个函数都返回一个元组,但我的问题仍然保持不变.

python

35
推荐指数
3
解决办法
2万
查看次数

为什么Elixir没有Math模块?

我想知道为什么Elixir没有数学模块.

我知道我们可以使用Erlang math:模块编写这个:

alias :math, as: Math
Run Code Online (Sandbox Code Playgroud)

但是,将这一行放在我们的Elixir代码中是一种好习惯吗?

iex它似乎工作:

iex(1)> alias :math, as: Math
nil
iex(2)> Math.pi()
3.141592653589793
iex(3)> Math.pow(3, 2)
9.0
Run Code Online (Sandbox Code Playgroud)

唉,显然我们无法以Elixir方式访问文档:

iex(4)> h(Math)
:math is an Erlang module and, as such, it does not have Elixir-style docs
Run Code Online (Sandbox Code Playgroud)

elixir

7
推荐指数
2
解决办法
1513
查看次数

标签 统计

elixir ×1

python ×1