解决python3报错之takes 1 positional argument but 2 were given问题

 更新时间:2024年03月06日 16:42:10   作者:沛哥儿  
这篇文章主要介绍了解决python3报错之takes 1 positional argument but 2 were given问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python3 takes 1 positional argument but 2 were given

使用python3的时候,刚开始使用,把所有的都写在了一个文件中,这不符合类的六大设计原则。

就把原来的代码按照类进行了拆分。

关于类的六大设计原则:

  • 开放关闭原则
  • 里氏替换原则
  • 依赖倒转原则
  • 接口隔离原则
  • 迪米特原则

这里不作过多的解释,大家可以自行百度。

拆分完之后,使用main方法进行实例调用的时候,发现一直报错

takes 1 positional argument but 2 were given

代码合到一个文件又是好的,这逗我了这是!

看代码,确实又只定义了一个参数。

后来从网上找了个示例下来对比,发现调用类文件的def中,别人比我的代码中多了个参数self。

上网查了查,网上说,类的方法与普通的函数只有一个特别的区别

  • 它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。
  • 这个特别的变量指对象本身,按照惯例它的名称是self。

简单来说就是,第一个参数是对象本身,这个是必须的。

在类方法加上第一个参数self。再启动调试。OK了。

python3报错:ModuleNotFoundError: No module named ‘MySQLdb‘

安装MySQLdb报错

1. 报错内容

在运行脚本时,报错没有MySQLdb 包,Python3 又无法直接安装MySQLdb包;

在安装 pip install MySQLdb 时,会出现报错,报错内容如下:

    import MySQLdb
ModuleNotFoundError: No module named 'MySQLdb'

2. 报错原因

python3中,没有MySQLdb 这个包,所以无法直接安装;

3. 解决办法

若使用的是Python3 ,需要安装pymysql ,安装完成后,在引入包时

使用

import pymysql as MySQLdb

这样就可以像Python2 一样使用该包了!!!

pip 安装:

包导入:

问题解决!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Ubuntu安装Jupyter Notebook教程

    Ubuntu安装Jupyter Notebook教程

    这篇文章主要为大家详细介绍了Ubuntu安装Jupyter Notebook教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 基于python实现复制文件并重命名

    基于python实现复制文件并重命名

    这篇文章主要介绍了基于python实现复制文件并重命名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python DPED机器学习之实现照片美化

    Python DPED机器学习之实现照片美化

    本篇文章主要介绍了利用Python中的DPED工具实现照片一键美化,可以实现照片亮度提高和色彩鲜明度提高,代码简洁易懂,具有一定学习价值,感兴趣的小伙伴可以了解一下
    2021-11-11
  • Django 事务transaction.atomic()的使用方法

    Django 事务transaction.atomic()的使用方法

    本文主要介绍了Django 事务transaction.atomic()的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • Python使用os.path和pathlib模块进行文件路径操作的详细教程

    Python使用os.path和pathlib模块进行文件路径操作的详细教程

    文件路径操作是Python编程中的重要功能,它允许程序处理文件和目录的路径,这篇文章主要介绍了Python使用os.path和pathlib模块进行文件路径操作的详细步骤,有需要的小伙伴可以了解下
    2026-03-03
  • pycharm中如何使用快捷键按出代码提示框

    pycharm中如何使用快捷键按出代码提示框

    这篇文章主要介绍了pycharm中如何使用快捷键按出代码提示框问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Python排序算法之堆排序算法

    Python排序算法之堆排序算法

    堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所设计的一种排序算法。
    2023-01-01
  • 利用Python判断整数是否是回文数的3种方法总结

    利用Python判断整数是否是回文数的3种方法总结

    这篇文章主要给大家介绍了关于如何利用Python判断整数是否是回文数的3种方总结,回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,需要的朋友可以参考下
    2021-07-07
  • python+opencv实现移动侦测(帧差法)

    python+opencv实现移动侦测(帧差法)

    这篇文章主要为大家详细介绍了python+opencv实现移动侦测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • python中关于property的最详细使用方法

    python中关于property的最详细使用方法

    这篇文章主要介绍了python中关于property的最详细使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04

最新评论