我正在運行這段代碼來創建一個表格并列印其組件。
import Proje_2
?ark?_listesi = Proje_2.?ark?_listesi()
isim = input("?sim:")
sanat?? = input("Sanat??:"/span>)
albüm = input("Albüm:")
prodüksiyon_?irketi = input("rodüksiyon ?irketi:")
?ark?_süresi = int(input("?ark? süresi(sn):"/span>)
yeni_?ark? = Proje_2.?ark?(isim, sanat??, albüm, prodüksiyon_?irketi, ?ark?_süresi)
print("?ark? ekleniyor")
?ark?_listesi.?ark?_ekle(yeni_?ark?,)
print("?ark? eklendi")
?ark?_listesi.?ark?lar?_g?ster()
這也是我正在使用的模塊:
import sqlite3
class ?ark?()。
def __init__(self,isim,sanat??,albüm,prodüksiyon_?irketi,?ark?_süresi) 。
self.isim = isim
self.sanat?? = sanat??
self.albüm = albüm
self.prodüksiyon_?irketi = prodüksiyon_?irketi
self.?ark?_süresi = ?ark?_süresi
def __str__(self):
print("?ark? ismi: {})
薩納特奇。{}
阿爾布姆。{}
許可證:{}。
?ark? süresi(saniye): {}").format(self.isim, self.sanat??, self.albüm, self.prodüksiyon_?irketi, self.?ark?_süresi)
class ?ark?_listesi()。
def __init__(self)。
self.ba?lant?_olu?tur()
def ba?lant?_olu?tur(self)。
self.ba?lant? = sqlite3.connect("?ark?_listesi.db")
self.cursor = self.ba?lant?.cursor()
sorgu = "Create Table if not exists ?ark?_listesi (isim TEXT,sanat?? TEXT,albüm TEXT,prodüksiyon_?irketi TEXT,?ark?_süresi INT)"
self.cursor.execute(sorgu)
self.ba?lant?.commit()
def ba?lant?y?_kes(self)。
self.ba?lant?.close
def ?ark?lar?_g?ster(self):
sorgu = "Select * from ?ark?_listesi"/span>
?ark?_listesi = self.cursor.fetchall()
self.cursor.execute(sorgu,)
if (len(?ark?_listesi) == 0) 。
print("Listenizde ?ark? bulunmuyor"/span>)
else:
for i in ?ark?_listesi:
?ark? = ?ark?(i[0], i[1] 。i[2], i[3], i[4])
print(?ark?)
def ?ark?_ekle(self,?ark?)。
sorgu = "Insert into ?ark?_listesi Values(?,?,?,?)"。
self.cursor.execute(sorgu, (?ark?.isim,?ark?.sanat??,?ark?.albüm,?ark?.prodüksiyon_?irketi, ?ark?.?ark?_süresi))
self.ba?lant?.commit()
當我運行代碼時,首先顯示 "Listenizde ?ark? blunmuyor",如果我添加另一個 "?ark?_listesi.?ark?lar?_g?ster() "函式,它顯示 "AttributeError: 'NoneType' object has no attribute 'format'" 然后鎖住資料庫。為什么?
uj5u.com熱心網友回復:
format()是str類中的一個方法。你已經將它鏈接到print的輸出,它是always None。將對format()的呼叫移到print陳述句中,以正確地將其鏈接到你的字串:
def __str__(self)。
print("?ark? ismi: {})
Sanat??: {}
Albüm: {}
Prodüksiyon ?irketi:{}
?ark? süresi(saniye): {}".format(self.isim, self. sanat??, self.albüm, self.prodüksiyon_?irketi, self.?ark?_süresi)
uj5u.com熱心網友回復:
將__str__方法中的print改為return。str方法將格式化輸出,而?ark?lar?_g?ster中的print將列印它。
另外:它說 "Listenizde ?ark? blunmuyor"`第一次是因為fetchall()在execute()之前。我不確定這是否是 "為什么?"的一部分
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/332450.html
標籤:
