python - 将元组作为变量传递
问题描述
我通过参数传递一个元组,我收到以下错误。我在互联网上搜索,工作方法是正确的。有人可以看看吗?
人物类
from datetime import datetime
from sqldata import Sqldata
class Person:
def __init__(self, addr, client):
self.addr = "192.12"
self.client = "demorun"
self.name = none
def set_name(self, name):
self.name = name
values = (self.addr, self.name, str(datetime.now()))
Sqldata.create_connclient(values)
Sqldata类将数据写入数据库,
import sqlite3
from sqlite3 import Error
import os
fileDir = os.path.dirname(os.path.realpath(__file__))
filename = "dbConnClients.db"
db_file = os.path.join(fileDir, "database\\" + filename)
class Sqldata:
def __init__(self):
self.conn = None
try:
self.conn = sqlite3.connect(db_file)
except Error as e:
print(e)
def create_connclient(self, vdata):
print(vdata)
conn = self.conn
sqlquery = ''' SELECT id FROM ConnClients WHERE name = ? '''
cur = conn.cursor()
cur.execute(sqlquery, vdata[1])
错误:
File "...person.py", line 23, in set_name
Sqldata.create_connclient(vdata)
TypeError: create_connclient() missing 1 required positional argument: 'vdata'
解决方案
如果你想将元组中的两个值作为两个参数传递self
,vdata
你应该这样写。
Sqldata.create_connclient(*values)
星号解包元组。但是,请阅读 justahuman 的回复,因为我认为他们可能发现了更深层次的问题。
推荐阅读
- soap - 从代码调用网络服务 (NODE.jS) 我得到 ECONNRESET
- r - 通过包含级别计算平均值 - 基于整个组扩展窗口
- ruby-on-rails - 解释 Route Constraint Rails
- ansible - 无法启动 munge - 错误:日志文件不安全:“/var/log/munge”的所有权无效
- c# - 在 C# 中选中切换按钮时如何隐藏网格列
- python - 如何在一段时间后加密文件,然后在 python 中自动解密?
- python - "df['var'].map(df2)" 和 "df.var.map(df2)" 是否总是产生相同的结果?
- angular - 存储值可用后的角度http请求
- ubuntu - Sympa Web GUI 的问题
- delphi - 第二种形式始终保持在主要形式的顶部