我试图用python做一些看起来很基本的事情,但我觉得我想得太多了。你知道吗
我试图从create_password()
得到password
的返回值,并在store_password()
中使用它,我把<<HERE>>
我怎样才能做到这一点?你知道吗
def create_password(self):
characters = string.ascii_letters + string.punctuation + string.digits
password = "".join(choice(characters) for x in range(self.pass_char) )
return (password)
def store_password(self):
try:
connection = sqli.connect('pw.db')
except:
print("Error occurred!")
with connection:
cur = connection.cursor()
cur.execute('''
CREATE TABLE IF NOT EXISTS my_passwords(
id INT PRIMARY KEY AUTOINCREMENT,
password text
'''
)
cur.execute('INSERT INTO my_passwords VALUES(?)', <<HERE>>)
谢谢你。你知道吗
这基本上是使用您已经构建的函数
create_password(self)
,并且假设它们都属于同一个类,您应该能够在第二个函数store_password(self)
中调用create_password(self)
因此,要返回您创建的密码,只需调用
create_password(self)
来代替<<HERE>>
。你知道吗tabac所建议的方法也将起作用,但是您需要确保方法
create_password(self)
必须在调用之前被调用,以便self.password
变量被赋值。你知道吗你的代码会变成
cur.execute('INSERT INTO my_passwords VALUES(?)', self.create_password(self))
我假设这两个方法都属于同一个类。如果是这样,您可以将
password
附加到类实例并在store_password
中使用它。用self
来表示。你知道吗假设两个函数都在同一个类中,在本例中调用MyPasswordMaker。你知道吗
可以将密码作为参数传递:
也可以将密码存储在类变量中
或者在存储密码()中调用创建密码():
相关问题 更多 >
编程相关推荐