小编tem*_*ame的帖子

如果我不将文件分配给变量,文件会自动关闭吗?

可能重复:
在Python文件对象上使用迭代器时需要close()

for line in open("processes.txt").readlines():
    doSomethingWith(line)
Run Code Online (Sandbox Code Playgroud)

以该代码为例.没有什么可以调用close().它会自动关闭吗?

python file-io scope

4
推荐指数
2
解决办法
335
查看次数

为什么这个字符串比较返回False?

可能重复:
Python中的字符串比较:is = ==

algorithm = str(sys.argv[1])
print(algorithm)
print(algorithm is "first")
Run Code Online (Sandbox Code Playgroud)

我正在使用参数从命令行运行它first,那么为什么代码输出:

first
False
Run Code Online (Sandbox Code Playgroud)

python string

4
推荐指数
2
解决办法
7019
查看次数

FIFO页面替换如何工作?

我正在尝试理解FIFO页面替换算法,但我能找到的所有信息都等于下面的内容.您能否使用FIFO的特定示例来解释如何使用引用字符串来评估页面替换算法?

必须更换页面时,会选择最旧的页面.

在我们的所有示例中,引用字符串是

1,2,3,4,1,2,5,1,2,3,4,5

3帧(9页故障)4帧(10页故障)

operating-system page-replacement

4
推荐指数
3
解决办法
5万
查看次数

为什么__init__显然是可选的?

在试验时,我写道:

class Bag:   
    pass

g = Bag()
print(g)
Run Code Online (Sandbox Code Playgroud)

哪个给了我:

<__main__.Bag object at 0x00000000036F0748>
Run Code Online (Sandbox Code Playgroud)

这令我感到惊讶.当我尝试初始化它时,我预计会出现错误,因为我没有定义__init___.

为什么不是这种情况?

python python-3.x

4
推荐指数
1
解决办法
220
查看次数

如果Python一次执行一行,为什么它们在声明之前就能看到变量?

x = 4
def test():
    print(x)
    x = 2
test()
Run Code Online (Sandbox Code Playgroud)

这会产生错误,因为当你去的时候print(x),它会看到你x在函数的范围内声明了test它,并且它告诉你你在没有声明的情况下尝试引用它.

我知道,如果我这样做global x没有问题,或者如果我移动打印声明......我知道.

但是我不明白解释器是如何知道我x在print语句之后重新声明的,如果它一次通过代码一行.怎么知道会发生什么?

显然,这比我所知道的要多得多.

python scope compilation python-3.x

4
推荐指数
1
解决办法
138
查看次数

这个设计叫做什么?

我经常看到这种模式:

var suchAndSuch = new (function() {
    this.thing = "something";
    this.whoaLookAtThat = function() {
        return 4;
    }
    return {
        'thing' : thing,
        'whoaLookAtThat' : whoaLookAtThat
    }
})();
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?这是return声明的一部分让我感到困惑.

我只是没有特别使用IIFE.

如果不出意外,知道它叫什么会帮助我研究它.

javascript object

4
推荐指数
1
解决办法
94
查看次数

是否有必要先设置__all__然后使用下划线呢?

我一直在阅读cpython HTTP包的源代码,以获取乐趣和收益,并注意到在server.py中,他们__all__设置了变量,但对函数也使用了下划线_quote_html(html)

这不是多余的吗?两者都不能限制进口的商品from HTTP import *吗?

他们为什么两者都做?

python cpython

4
推荐指数
2
解决办法
159
查看次数

是否有理由在<nav>中使用<ul>?

我知道新的HTML5 nav元素用于创建导航菜单......显然......但是每当我看到有人使用它时,他们往往会把ul它放在里面,就像这样:

     <nav>
        <ul>
            <li><a href=#>Item A</a></li>
            <li><a href=#>Item B</a></li>
            <li><a href=#>Item C</a></li>
        </ul>
    </nav>
Run Code Online (Sandbox Code Playgroud)

这有必要吗?这样有优势吗?有没有理由不写:

     <nav>
        <a href=#>Item A</a>
        <a href=#>Item B</a>
        <a href=#>Item C</a>
     </nav>
Run Code Online (Sandbox Code Playgroud)

或者,否则,又何必包裹ulnav?重点是什么?只是为了让你的标记更"语义"?为什么不单独使用ul

html css html5

4
推荐指数
1
解决办法
1474
查看次数

什么是在函数调用之间保存数据的pythonic方法?

对我来说,上下文是我需要在调用修改该值的函数之间保留的单个int值.我可以使用全球,但我知道这是气馁的.现在我使用了包含int的列表形式的默认参数,并利用了可变性,以便在调用之间保留对值的更改,如下所示 -

 def increment(val, saved=[0]):
    saved[0] += val
    # do stuff
Run Code Online (Sandbox Code Playgroud)

这个功能通过tkinter附加到一个按钮,就像这样〜

button0 = Button(root, text="demo", command=lambda: increment(val))
Run Code Online (Sandbox Code Playgroud)

这意味着我没有可以分配给函数外部的局部变量的返回值.

人们通常如何处理这个问题?我的意思是,确定,可变性技巧可以工作,但是如果我需要从多个函数中访问和修改该值,该怎么办?

如果没有使用静态方法和内部属性等设置类,是不是可以做到这一点?

python variables state

4
推荐指数
1
解决办法
103
查看次数

未在webpack中导入的组件文件是否反应项目?

我已经设置了一个非常简单的React应用程序,我无法将任何组件导入到index.js.我的index.js,包含我的主<App />类的定义,工作正常,并以此行为例:

import { IntroductionPage } from './Components/IntroductionPage.js';
Run Code Online (Sandbox Code Playgroud)

使用从IntroductionPage.js导出的IntroductionPage组件的一个很好的定义,我得到的是关于在index.js中未定义的IntroductionPage的错误:

React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check the render method of `App`.
    in App
Run Code Online (Sandbox Code Playgroud)

我不知道要改变什么 - 我可以看到来自IntroductionPage.js的console.log输出,所以它正在运行/编译.如果我将IntroductionPage组件定义移动到index.js,一切都很好.不知怎的,我在导入/导出步骤中丢失了它.

为什么会发生这种情况?

reactjs webpack webpack-dev-server

4
推荐指数
1
解决办法
375
查看次数