bottle.post()python有啥用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bottle.post()python有啥用相关的知识,希望对你有一定的参考价值。

参考技术A Bottle是一个超轻量级的python库。说是库,其本身只由一个4000行左右的文件构成,并且不需要任何依赖,只靠python标准库即可运作。用post方法实现文件的上传和下载

python函数定义中的*有啥用? [复制]

【中文标题】python函数定义中的*有啥用? [复制]【英文标题】:what is the use of * in python function definition? [duplicate]python函数定义中的*有什么用? [复制] 【发布时间】:2016-07-27 19:06:39 【问题描述】:
def iglob(pathname, *, recursive=False):
"""Return an iterator which yields the paths matching a pathname pattern.

The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.

If recursive is true, the pattern '**' will match any files and
zero or more directories and subdirectories.
"""
it = _iglob(pathname, recursive)
if recursive and _isrecursive(pathname):
    s = next(it)  # skip empty string
    assert not s
return it

当我浏览python3.5.1中glob的代码时,这里定义的函数,为什么函数参数列表中有一个*。如果我将三个参数传递给引发 TypeError 的函数,那么 * 的作用是什么?先谢谢了。

【问题讨论】:

【参考方案1】:

在 python 3 中,您可以指定 * 勉强将其后的参数强制为仅关键字参数:

>>>def fn(arg1, arg2, *, kwarg1, kwarg2):
...     print(arg1, arg2, kwarg1, kwarg2)
... 
>>> fn(1, 2, 3, 4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: fn() takes 2 positional arguments but 4 were given
>>> fn(1, 2, kwarg1=3, kwarg2=4)
1 2 3 4
>>> 

在此示例中,它强制 kwarg1 和 kwarg2 仅作为关键字参数发送。

【讨论】:

thx,我试图定义这样的函数:def test(name, *), SyntaxError raise: SyntaxError: named arguments must follow bare *. def test(name, *, a = None) 是正确的方法。再次感谢。

以上是关于bottle.post()python有啥用的主要内容,如果未能解决你的问题,请参考以下文章

Python中的“断言”有啥用?

Python,枚举类型有啥用? [复制]

Python中“for”循环之后的“else”有啥用? [复制]

python中的set有啥用

Python asyncio.Lock() 有啥用?

用于计算百分位数的纯 python 实现:这里的 lambda 函数有啥用?