小编scr*_*boy的帖子

为什么我们需要功能测试宏?

通过阅读-D_XOPEN_SOURCE 做什么/意味着什么?,我了解如何使用功能测试宏。

但是我还是不明白为什么我们需要它,我的意思是,我们可以启用所有可用的功能吗?然后文档是这样写的:这个功能只在Mac/BSD下可用,那个功能只在Linux下可用,如果你使用它,那么你的程序只能在那个系统上运行。

那么为什么我们首先需要一个功能测试宏呢?

c linux

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

为什么你可以使用open()作为上下文管理器?

从Python的源代码来看open,我认为open这只是一个普通的函数.

为什么我们可以像下面这样使用它?

with open('what_are_context_managers.txt', 'r') as infile:
    for line in infile:
        print('> {}'.format(line))
Run Code Online (Sandbox Code Playgroud)

因为既不是实现__enter__也不是__exit__,也不使用contextlib.contextmanager装饰器.

python contextmanager

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

标签 统计

c ×1

contextmanager ×1

linux ×1

python ×1