相关疑难解决方法(0)

使用*args和**kwargs

所以我有这个概念的困难*args**kwargs.

到目前为止,我已经了解到:

  • *args =参数列表 - 作为位置参数
  • **kwargs = dictionary - 其键成为单独的关键字参数,值成为这些参数的值.

我不明白这会对哪些编程任务有所帮助.

也许:

我想输入列表和字典作为函数AND的参数同时作为通配符,所以我可以传递任何参数?

有一个简单的例子来说明如何*args**kwargs使用?

我发现的教程也使用了"*"和变量名.

*args**kwargs刚才占位符或者你使用完全相同*args,并**kwargs在代码中?

python args kwargs

1367
推荐指数
10
解决办法
84万
查看次数

Python字符串格式:%vs. .format

Python 2.6引入了该str.format()方法,其语法与现有%运算符略有不同.哪种情况更好,哪种情况更好?

  1. 以下使用每种方法并具有相同的结果,那么有什么区别?

    #!/usr/bin/python
    sub1 = "python string!"
    sub2 = "an arg"
    
    a = "i am a %s" % sub1
    b = "i am a {0}".format(sub1)
    
    c = "with %(kwarg)s!" % {'kwarg':sub2}
    d = "with {kwarg}!".format(kwarg=sub2)
    
    print a    # "i am a python string!"
    print b    # "i am a python string!"
    print c    # "with an arg!"
    print d    # "with an arg!"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 此外,何时在Python中发生字符串格式化?例如,如果我的日志记录级别设置为HIGH,我仍然会执行以下%操作吗?如果是这样,有没有办法避免这种情况?

    log.debug("some debug info: %s" % some_info)
    
    Run Code Online (Sandbox Code Playgroud)

python performance logging string-formatting

1323
推荐指数
15
解决办法
96万
查看次数

如何在Python中的String中放置一个变量?

我想int加入一个string.这就是我现在正在做的事情:

num = 40
plot.savefig('hanning40.pdf') #problem line
Run Code Online (Sandbox Code Playgroud)

我必须运行几个不同数字的程序,而不是两个40.所以我想做一个循环但插入这样的变量不起作用:

plot.savefig('hanning', num, '.pdf')
Run Code Online (Sandbox Code Playgroud)

如何将变量插入Python字符串?

python string variables

218
推荐指数
6
解决办法
64万
查看次数

如何创建只有一个元素的元组

在下面的例子中,我希望所有元素都是元组,为什么元组只包含一个字符串时转换为字符串?

>>> a = [('a'), ('b'), ('c', 'd')]
>>> a
['a', 'b', ('c', 'd')]
>>> 
>>> for elem in a:
...     print type(elem)
... 
<type 'str'>
<type 'str'>
<type 'tuple'>
Run Code Online (Sandbox Code Playgroud)

python

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

f字符串中的星号(星号)是做什么的?

在python文档2.4.3中。格式化的字符串文字,似乎可以在f字符串中写一个星号后跟一个表达式{},但是我找不到如何使用它。

那是什么以及我如何使用它?是否记录在某处?

确切地说,这是关于"*" or_expr以下BNF的一部分。

f_string          ::=  (literal_char | "{{" | "}}" | replacement_field)*
replacement_field ::=  "{" f_expression ["!" conversion] [":" format_spec] "}"
f_expression      ::=  (conditional_expression | "*" or_expr)
                         ("," conditional_expression | "," "*" or_expr)* [","]
                       | yield_expression
Run Code Online (Sandbox Code Playgroud)

我在REPL中尝试过,但是会导致错误。

f_string          ::=  (literal_char | "{{" | "}}" | replacement_field)*
replacement_field ::=  "{" f_expression ["!" conversion] [":" format_spec] "}"
f_expression      ::=  (conditional_expression | "*" or_expr)
                         ("," conditional_expression | "," "*" or_expr)* [","]
                       | yield_expression
Run Code Online (Sandbox Code Playgroud)

python string language-lawyer python-3.x f-string

15
推荐指数
1
解决办法
717
查看次数