问题在这篇文章的最后.
第一个片段:空局部变量字典.
def outer():
x = 1
def inner():
print "Local variables: %s" % locals()
return inner()
print outer()
Run Code Online (Sandbox Code Playgroud)
输出:局部变量:{}
第二个片段:在inner()函数内打印并创建局部变量条目.
def outer():
x = 1
def inner():
print x
print "Local variables: %s" % locals()
return inner()
print outer()
Run Code Online (Sandbox Code Playgroud)
输出:
1
Local variables: {'x': 1}
Run Code Online (Sandbox Code Playgroud)
第三个片段:来自内部函数内部的del x:
def outer():
x = 1
def inner():
print x
print "Local variables: %s" % locals()
del x
return inner()
print outer()
Run Code Online (Sandbox Code Playgroud)
输出:
>>> outer()
Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud) 我从python中学到了什么:
None is frequently used to represent the absence of a value
当我放入一个列表并用数字和字符串排序.我得到了以下结果,这意味着它是最小的数字?
相反:
>>> sorted([1, 2, None, 4.5, (-sys.maxint - 1), (sys.maxint - 1), 'abc'], reverse=True)
['abc', 9223372036854775806, 4.5, 2, 1, -9223372036854775808, None]
>>>
Run Code Online (Sandbox Code Playgroud)
正常排序:
>>> sorted([1, 2, None, 4.5, (-sys.maxint - 1), (sys.maxint - 1), 'abc'])
[None, -9223372036854775808, 1, 2, 4.5, 9223372036854775806, 'abc']
>>>
Run Code Online (Sandbox Code Playgroud)
python排序函数如何使用None?
整数的大小是24个字节,char的大小是38个字节,但是当我插入列表时,列表的大小不会反映我插入的对象的确切大小.所以,现在我徘徊列表是持有对象的引用而对象是存储在内存中的某个地方.
>>> sys.getsizeof(1)
24
>>> sys.getsizeof('a')
38
>>> sys.getsizeof([])
72
>>> sys.getsizeof([1])
80
>>> sys.getsizeof(['a'])
80
>>> sys.getsizeof('james')
42
>>>
Run Code Online (Sandbox Code Playgroud) 我正在使用current_app.logger
,当我尝试登录内部线程时,它说"在应用程序上下文之外工作".如何从线程中运行的方法记录消息?
def background():
current_app.logger.debug('logged from thread')
@app.route('/')
def index():
Thread(target=background).start()
return 'Hello, World!'
Run Code Online (Sandbox Code Playgroud)
Exception in thread Thread-16:
Traceback (most recent call last):
File "/usr/lib64/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib64/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/home/sapam/demo.py", line 57, in background
current_app.logger.critical('test')
File "/home/sapam/.virtualenvs/demo/lib/python3.5/site-packages/werkzeug/local.py", line 343, in __getattr__
return getattr(self._get_current_object(), name)
File "/home/sapam/.virtualenvs/demo/lib/python3.5/site-packages/werkzeug/local.py", line 302, in _get_current_object
return self.__local()
File "/home/sapam/.virtualenvs/demo/lib/python3.5/site-packages/flask/globals.py", line 51, in _find_app
raise RuntimeError(_app_ctx_err_msg)
RuntimeError: Working outside of application context.
This typically means …
Run Code Online (Sandbox Code Playgroud) 我了解到,在一些一成不变的类,__new__
可能会返回一个现有实例-这是什么int
,str
以及tuple
各类有时小的值做.
但为什么以下两个片段的行为不同?
最后有一个空格:
>>> a = 'string '
>>> b = 'string '
>>> a is b
False
Run Code Online (Sandbox Code Playgroud)
没有空间:
>>> c = 'string'
>>> d = 'string'
>>> c is d
True
Run Code Online (Sandbox Code Playgroud)
为什么空间带来了差异?
从这个链接我了解到了
当前实现为-5到256之间的所有整数保留一个整数对象数组,当您在该范围内创建一个int时,实际上只返回对现有对象的引用
但是当我尝试为我的会话提供一些示例时,我发现它在赋值和元组解包时表现不同.
这是片段,
Python 2.7.2 (default, Oct 11 2012, 20:14:37)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a,b = 300,300
>>> a is b
True
>>> c = 300
>>> d = 300
>>> c is d
False
>>>
Run Code Online (Sandbox Code Playgroud) 这是我的小傀儡片段:当我执行此片段时,我收到以下错误:
错误:无法解析环境生成:无法匹配/home/test.pp:8
$vendor = generate("/usr/bin/lsscsi")
if defined($vendor) {
if $vendor =~ /LSI/{
$d_multipath = [{
vendor => 'LSI',
product => 'INF-01-00',
path_checker => 'rdac',
path_selector => 'round-robin 0',
}]
}
}
else {
notify {'faield-lsscsi':
message => "ERROR: failed to execute lsscsi to get the scsi vendor type",
loglevel => critical,
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙指出吗?
我正在尝试以静默方式安装以下软件包Mercurial-2.2.1.win-amd64-py2.6.exe以将其添加到我的 Puppet 清单中。
我已经尝试过 /s /q 但没有结果。
我不确定如何绘制如下表,我尝试使用prettytable但无法在一个单元格中放置多行。
注意:行数应基于字符串的数目,因此我想在每行中放置一些n字符串。
有人可以帮忙吗?
+---- +-------------------+-------------------------------------------------------+
| Id | Name | Comment |
+-----+-------------------+-------------------------------------------------------+
| 1 | Alvina Skiles | Dolor qui rerum est sed. Sed ipsa repudiandae et |
| | | Non explicabo voluptas impedit rerum dignissimos. |
| | | Minima voluptatibus sint voluptates similique.' |
+-----+-------------------+-------------------------------------------------------+
| 2 | Chasity Lakin | Nesciunt ea voluptatem rerum eos rerum ut soluta |
| | | Animi totam rerum fugiat consectetur odio et |
| | | repellendus | …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 JQ 解析我的curl 输出并检查退出代码,因此当我的curl 输出为空时,JQ 返回0 退出代码。
例如:
$ echo "" | jq '.key'
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)
如何让这个返回 1 或某个非零值?
python ×8
cpython ×2
puppet ×2
exit-code ×1
exitstatus ×1
flask ×1
immutability ×1
jq ×1
list ×1
logging ×1
prettytable ×1
python-2.7 ×1
string ×1