相关疑难解决方法(0)

python中的冲突变量和函数名称

假设我有以下功能:

def xplusy(x, y):
    return x+y

def xplus1(x):
    xplusy = xplusy(x, 1)
    return xplusy
Run Code Online (Sandbox Code Playgroud)

现在,如果我调用a = xplus1(4)它会抛出以下错误:

UnboundLocalError: local variable 'xplusy' referenced before assignment
Run Code Online (Sandbox Code Playgroud)

该错误是由于命名冲突,如果我重新定义xplus1如下:

def xplus1(x):
    s = xplusy(x, 1)
    return s
Run Code Online (Sandbox Code Playgroud)

它工作正常.

为什么会这样:无法正确区分变量和函数调用?

有什么方法吗?

python

3
推荐指数
1
解决办法
5862
查看次数

为什么Erlang允许在有趣之后加上括号?

这个问题是关于合作伙伴今天遇到的一些语法,虽然我们理解它是如何工作的,但我们不明白它为什么被允许(它的用途是什么?).

看看这个片段:

fun() -> ok end().
Run Code Online (Sandbox Code Playgroud)

没有最后一对括号,这将产生如下内容:

#Fun<erl_eval.20.82930912>
Run Code Online (Sandbox Code Playgroud)

但是对于它们,评估函数产生:

ok
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么Erlang允许这种语法?为什么我要创建一个函数只是立即调用它而不是只写出它的内容?它有什么实际用途吗?

我们唯一能想到的就是在乐趣的身体中引入局部变量(但这对我来说看起来很丑陋和不清楚).

请注意,这句法等是不是在二郎山不允许的,即使它遵循前者相同的概念:

fun() -> fun() -> ok end end()().  
Run Code Online (Sandbox Code Playgroud)

(这意味着:一个函数A返回一个函数B.我正在评估A(从而产生B),然后评估B得到'ok').

erlang

3
推荐指数
1
解决办法
450
查看次数

函数是python中的第一类对象吗?

我正在学习python的教程.它解释了函数是如何在Python中的第一类对象.

def foo():
        pass
print(foo.__class__)

print(issubclass(foo.__class__,object))
Run Code Online (Sandbox Code Playgroud)

我得到的上述代码的输出是

<type 'function'>
True
Run Code Online (Sandbox Code Playgroud)

这个程序应该证明函数是python中的第一类对象?我的问题如下.

  1. 上面的代码如何证明函数是拳头类对象?
  2. 第一类对象的属性是什么?
  3. 什么function.__class__意味着什么?它返回一个<type,function>并不重要的元组?

python object python-2.7

3
推荐指数
3
解决办法
1381
查看次数

python中一切皆对象是什么意思

我已经开始学习Python,阅读了一些教程,我看到了这句话Everything is an object in Python,它到底是什么意思?

python

3
推荐指数
1
解决办法
5430
查看次数

避免if else实例化一个类 - python

我想根据字段的值创建一个类的对象.

例如:

if r_type == 'abc':
                return Abc()
            elif r_type == 'def':
                return Def()
            elif r_type == 'ghi':
                return Ghi()
            elif r_type == 'jkl':
                return Jkl()
Run Code Online (Sandbox Code Playgroud)

什么是pythonic方法,以避免如果在这里.我正在考虑创建一个字典,其中r_type是key,classname是value,并且获取值并实例化,这是一种正确的方式,还是在python中有更好的惯用方法?

python conditional design-patterns switch-statement

3
推荐指数
1
解决办法
454
查看次数

如何在python中随机选择函数内的函数

我有两个函数执行不同的操作,但我希望它们在另一个函数中随机调用.

例如.

def func1(): do something
def funct2(): do something else

def func3(): select funct1() or funct2() randomly
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
983
查看次数

为什么“int”出现在“input”之前?我想了解这段代码的逻辑

我的老师给了我这个问题:编写一个读取整数并打印它的程序。所以我找到了这段代码:

integer_number = int(input("Enter an integer: "))

print("You entered:", integer_number)
Run Code Online (Sandbox Code Playgroud)

我想了解为什么函数:“int”先于“input”

我希望“input”函数比“int”函数先出现,因为“input”具有向用户请求信息以便用户填写信息的功能,而“int”则将给定的字符串转换为整数。

python syntax operator-precedence

0
推荐指数
1
解决办法
199
查看次数