解決python3報錯之takes?1?positional?argument?but?2?were?given問題
python3 takes 1 positional argument but 2 were given
使用python3的時候,剛開始使用,把所有的都寫在了一個文件中,這不符合類的六大設(shè)計原則。
就把原來的代碼按照類進行了拆分。
關(guān)于類的六大設(shè)計原則:
- 開放關(guān)閉原則
- 里氏替換原則
- 依賴倒轉(zhuǎn)原則
- 接口隔離原則
- 迪米特原則
這里不作過多的解釋,大家可以自行百度。
拆分完之后,使用main方法進行實例調(diào)用的時候,發(fā)現(xiàn)一直報錯
takes 1 positional argument but 2 were given
代碼合到一個文件又是好的,這逗我了這是!
看代碼,確實又只定義了一個參數(shù)。
后來從網(wǎng)上找了個示例下來對比,發(fā)現(xiàn)調(diào)用類文件的def中,別人比我的代碼中多了個參數(shù)self。
上網(wǎng)查了查,網(wǎng)上說,類的方法與普通的函數(shù)只有一個特別的區(qū)別
- 它們必須有一個額外的第一個參數(shù)名稱,但是在調(diào)用這個方法的時候你不為這個參數(shù)賦值,Python會提供這個值。
- 這個特別的變量指對象本身,按照慣例它的名稱是self。
簡單來說就是,第一個參數(shù)是對象本身,這個是必須的。
在類方法加上第一個參數(shù)self。再啟動調(diào)試。OK了。
python3報錯:ModuleNotFoundError: No module named ‘MySQLdb‘
安裝MySQLdb報錯
1. 報錯內(nèi)容
在運行腳本時,報錯沒有MySQLdb 包,Python3 又無法直接安裝MySQLdb包;
在安裝 pip install MySQLdb
時,會出現(xiàn)報錯,報錯內(nèi)容如下:
import MySQLdb ModuleNotFoundError: No module named 'MySQLdb'
2. 報錯原因
python3中,沒有MySQLdb 這個包,所以無法直接安裝;
3. 解決辦法
若使用的是Python3 ,需要安裝pymysql
,安裝完成后,在引入包時
使用
import pymysql as MySQLdb
這樣就可以像Python2 一樣使用該包了?。?!
pip 安裝:
包導(dǎo)入:
問題解決!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于pycharm中pip版本10.0無法使用的解決辦法
近期在利用 pycharm 安裝第三方庫時會提示 pip 不是最新版本, 因此對 pip 進行更新,但是生成最新版本之后, pip 中由于缺少 main 函數(shù),導(dǎo)致在 pycharm 中無法自動安裝第三方庫。本文就介紹一下如何解決2019-10-10Python3 把一個列表按指定數(shù)目分成多個列表的方式
今天小編就為大家分享一篇Python3 把一個列表按指定數(shù)目分成多個列表的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12pandas按若干個列的組合條件篩選數(shù)據(jù)的方法
下面小編就為大家分享一篇pandas按若干個列的組合條件篩選數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python操作Excel文件的11種方法(全網(wǎng)最全)
在日常工作或開發(fā)過程中,Excel文件作為一種常用的數(shù)據(jù)存儲格式,其高效便捷的數(shù)據(jù)處理能力被廣泛應(yīng)用于數(shù)據(jù)統(tǒng)計、數(shù)據(jù)分析等領(lǐng)域,Python作為一種強大的編程語言,提供了豐富的庫支持來實現(xiàn)對Excel文件的操作,本篇將詳細介紹如何使用Python來操作Excel文件2025-03-03Python NumPy實現(xiàn)數(shù)組搜索示例詳解
NumPy是一個開源的Python科學(xué)計算庫,使用NumPy可以很自然地使用數(shù)組和矩陣,這篇文章主要介紹了使用NumPy實現(xiàn)數(shù)組搜索,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05Python headers請求頭如何實現(xiàn)快速添加
這篇文章主要介紹了Python headers請求頭如何實現(xiàn)快速添加,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11