TypeError: __init__() takes 1 positional argument but 6 were given

2023-11-23 03:40

本文主要是介绍TypeError: __init__() takes 1 positional argument but 6 were given,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据库连接错误:

TypeError: __init__() takes 1 positional argument but 6 were given

任务:向win_2022数据库中的zard表里插入数据。 

做如下代码:

#任务:插入数据
import pymysqldb = pymysql.connect("localhost","root",'lkw,747477910','win_2022') #打开数据库连接
cursor = db.cursor() #使用cursor()方法获取游标操作
#编写SQL语句
sql = "insert into zard (name,major,hobby,value,ziduan) value ('%s','%s','%s','%s','%s')" %("坂井泉水","歌手",'摇滚乐',"23","不要认输")try:cursor.execute(sql) #执行sql语句db.commit() #提交事务
except:db.rollback()
db.close() #关闭数据库连接

运行报错:

检验该错误,判段为连接数据库出错,同:

#检验连接数据库是否成功
import pymysqldbhost='localhost'
dbuser='root'
dbpass='lkw,747477910'
dbname='win_2022'try:db=pymysql.connect(dbhost,dbuser,dbpass,dbname)print("数据库连接成功")
except pymysql.Error as e:print("数据库连接失败:"+str(e))

更正:

try:#db=pymysql.connect(dbhost,dbuser,dbpass,dbname)  #这里为什么不对db = pymysql.connect(host=dbhost, user=dbuser, password=dbpass, database=dbname)print("数据库连接成功")
except pymysql.Error as e:print("数据库连接失败:"+str(e))

总结:第一种传递参数的方式为位置传参,容易出错,用第二种传参(关键字参数)就不那么容易错了。 

由上更正“插入数据”任务代码为:

#任务:插入数据
import pymysql#打开数据库连接
try:#db = pymysql.connect("localhost","root","lkw,747477910","win_2022")  #这里为什么不对db = pymysql.connect(host="localhost",user="root",password='lkw,747477910',database='win_2022')print("数据库连接成功")
except pymysql.Error as e:print("数据库连接失败:"+str(e))cursor = db.cursor() #使用cursor()方法获取游标操作
#编写SQL语句
sql = "insert into zard (name,major,hobby,value,ziduan) value ('%s','%s','%s','%s','%s')" %("坂井泉水","歌手",'摇滚乐',"23","不要认输")try:cursor.execute(sql) #执行sql语句db.commit() #提交事务
except:db.rollback()
db.close() #关闭数据库连接

运行成功: 

感悟:对于没有把握写对的代码,要善于利用try语句抛出异常。

 

这篇关于TypeError: __init__() takes 1 positional argument but 6 were given的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415089

相关文章

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef‘ of undefined“

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef’ of undefined” 最近用vue做的一个界面,引入了一个子组件,在父组件中调用子组件的方法时,报错提示: [Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘methods

Python 错误 TypeError 解析,实际错误实例详解 (五)

文章目录 前言TypeError:‘DataFrame’ object is not callable 错误常见的错误发生场景一、错误地使用小括号而非方括号来访问列二、意外地将函数名覆盖为 DataFrame三、 在方法链中错误地使用小括号 小结 Python 中错误 TypeError: 'NoneType' object is not subscriptablePython 中的 Non

4.15 版本内核调用 init_timer()函数出错

linux/include/linux/timer.h4.15 之前版本struct timer_list {14 /*15 * All fields that change during normal runtime grouped to the16 * same cacheline17 */18 struct hl

Python方法:__init__,__new__,__class__的使用详解

转自:https://blog.csdn.net/qq_26442553/article/details/82464682 因为python中所有类默认继承object类。而object类提供了了很多原始的内建属性和方法,所以用户自定义的类在Python中也会继承这些内建属性。可以使用dir()函数可以查看,虽然python提供了很多内建属性但实际开发中常用的不多。而很多系统提供的内建属性实际

TypeError:未绑定方法

TypeError: unbound method 错误通常发生在类方法被调用时,但没有正确绑定到实例。这通常意味着你试图在类本身上调用一个实例方法,或者没有使用正确的方式创建类实例。 1、问题背景 某位开发者在尝试创建一个类似于经典的 Pratt 递归下降解析器时遇到了 “TypeError: unbound method” 的错误。在简化了代码之后,开发者发现问题出在对中缀运算符的处理

_no_init的作用

__no_init用于禁止系统启动时的变量初始化,什么情况下需要用这个关键字使系统禁止变量的初始化,禁止变量初始化用在什么场合,为什么要这样做,有什么意义吗? 1、看门狗复位的现场恢复,如果初始化了就完全不可恢复了 2、使用nvram保存数据,需要连续记录的。    我有个变量,需要在系统意外复位时,这个变量值能保留,所以采用__no_init来实现,只是上电的时候这个值不是零

关于No resource found that matches the given name 'Theme.AppCompat.Light' No resource found that ma

关于No resource found that matches the given name  'Theme.AppCompat.Light' No resource found that matches the given name   'android:Widget.Material.ActionButton.CloseMode'. 我的上一遍文章 http://blog.csdn.net

vue3 antdv3 TypeError: date1.isAfter is not a function的解决

1、先上个报错的图: 2、这个一看是因为date报错的问题,这里面用了TimeRangePicker. const TimeRangePicker = TimePicker.TimeRangePicker; import dayjs, { Dayjs } from 'dayjs'; let time1 = [dayjs(dayjs(new Date()).format('YYYY-

概率论 --- Uva 11181 Probability|Given

Uva 11181 Probability|Given  Problem's Link:   http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18546   Mean:  n个人去逛超市,第i个人会购买东西的概率是Pi。出超市以后发现有r个人买了东西,问你每个人购买东西的实际概率是多少。   analyse

iOS中alloc与init

面向对象的3大特性,封装继承和多态. 我遇到过封装相关的问题,因为初级封装简单,常常暴露出被你封装的接口,进一步进行高级封装隐藏接口的时候才发现,封装是一门学问,而这门学问得从最基础的alloc与init讲起.   FatherModel.h #import <Foundation/Foundation.h>@interface FatherModel : NSObject@en