Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将元组和其他字符串传递给字符串中的.format(Python格式)时遇到问题_Python_Python 3.x_String - Fatal编程技术网

将元组和其他字符串传递给字符串中的.format(Python格式)时遇到问题

将元组和其他字符串传递给字符串中的.format(Python格式)时遇到问题,python,python-3.x,string,Python,Python 3.x,String,我有以下TOML: [gps] measurement = "gps" tags = ["lat", "lon", "alt"] limit = 10 这将转换为Python中的以下词典: { "gps": { "measurement": "gps", "tags": [ "lat", "lon", "alt"], "limit": 10 } 我有一个类,我希望创建一个成员函数read\u gps,如下所示: 从上面的目录中获取**kwargs

我有以下TOML:

[gps]
measurement = "gps"
tags = ["lat", "lon", "alt"]
limit = 10
这将转换为Python中的以下词典:

{
  "gps": {
       "measurement": "gps",
       "tags": [ "lat", "lon", "alt"],
       "limit": 10
}
我有一个类,我希望创建一个成员函数
read\u gps
,如下所示:

  • 从上面的目录中获取
    **kwargs
  • 当前,只需打印以下字符串:
    从“gps”限制10中选择“lat”、“lon”、“alt”
  • 代码 但我得到了以下错误:

    SyntaxError: only named arguments may follow *expression
    
    相反,如果我删除
    测量
    限制
    ,它将正常工作

    什么是蟒蛇式的方法来实现这一点?我应该创建两个不同的字符串,然后在最后连接它们吗

    试验
    但是,它可以使用
    *
    解包
    .format()
    中的元组以及其他值,您的代码将在Python版本3.5+中工作,如下所示。如果必须使用低于3.5的版本,则可以使用命名参数:

    print(select "{}","{}","{}" from "{measurement}" limit {limit}'.format(*_tags, measurement=measurement, limit=limit))
    
    或者,首先将
    \u标记
    连接到单个字符串中:

    print('select "{}" from "{}" limit {}'.format('","'.join(_tags), measurement, limit))
    

    即使
    \u标记的长度发生变化,第二个选项也会起作用。

    您的代码将在Python版本3.5+中工作,如下所示。如果必须使用低于3.5的版本,则可以使用命名参数:

    print(select "{}","{}","{}" from "{measurement}" limit {limit}'.format(*_tags, measurement=measurement, limit=limit))
    
    或者,首先将
    \u标记
    连接到单个字符串中:

    print('select "{}" from "{}" limit {}'.format('","'.join(_tags), measurement, limit))
    

    即使
    \u标记的长度发生变化,第二个选项也会起作用。

    对我来说很好。你是说
    *
    吗?是的,你的python版本是什么?3.6?我使用的是3.4.3,对我来说很好。你是说
    *
    ?是的,你的python版本是什么?3.6?我使用的是3.4.3