解決python3報(bào)錯(cuò)之takes?1?positional?argument?but?2?were?given問題
python3 takes 1 positional argument but 2 were given
使用python3的時(shí)候,剛開始使用,把所有的都寫在了一個(gè)文件中,這不符合類的六大設(shè)計(jì)原則。
就把原來(lái)的代碼按照類進(jìn)行了拆分。
關(guān)于類的六大設(shè)計(jì)原則:
- 開放關(guān)閉原則
- 里氏替換原則
- 依賴倒轉(zhuǎn)原則
- 接口隔離原則
- 迪米特原則
這里不作過(guò)多的解釋,大家可以自行百度。
拆分完之后,使用main方法進(jìn)行實(shí)例調(diào)用的時(shí)候,發(fā)現(xiàn)一直報(bào)錯(cuò)
takes 1 positional argument but 2 were given
代碼合到一個(gè)文件又是好的,這逗我了這是!
看代碼,確實(shí)又只定義了一個(gè)參數(shù)。
后來(lái)從網(wǎng)上找了個(gè)示例下來(lái)對(duì)比,發(fā)現(xiàn)調(diào)用類文件的def中,別人比我的代碼中多了個(gè)參數(shù)self。
上網(wǎng)查了查,網(wǎng)上說(shuō),類的方法與普通的函數(shù)只有一個(gè)特別的區(qū)別
- 它們必須有一個(gè)額外的第一個(gè)參數(shù)名稱,但是在調(diào)用這個(gè)方法的時(shí)候你不為這個(gè)參數(shù)賦值,Python會(huì)提供這個(gè)值。
- 這個(gè)特別的變量指對(duì)象本身,按照慣例它的名稱是self。
簡(jiǎn)單來(lái)說(shuō)就是,第一個(gè)參數(shù)是對(duì)象本身,這個(gè)是必須的。
在類方法加上第一個(gè)參數(shù)self。再啟動(dòng)調(diào)試。OK了。
python3報(bào)錯(cuò):ModuleNotFoundError: No module named ‘MySQLdb‘
安裝MySQLdb報(bào)錯(cuò)
1. 報(bào)錯(cuò)內(nèi)容
在運(yùn)行腳本時(shí),報(bào)錯(cuò)沒有MySQLdb 包,Python3 又無(wú)法直接安裝MySQLdb包;
在安裝 pip install MySQLdb 時(shí),會(huì)出現(xiàn)報(bào)錯(cuò),報(bào)錯(cuò)內(nèi)容如下:
import MySQLdb ModuleNotFoundError: No module named 'MySQLdb'
2. 報(bào)錯(cuò)原因
python3中,沒有MySQLdb 這個(gè)包,所以無(wú)法直接安裝;
3. 解決辦法
若使用的是Python3 ,需要安裝pymysql ,安裝完成后,在引入包時(shí)
使用
import pymysql as MySQLdb
這樣就可以像Python2 一樣使用該包了?。?!
pip 安裝:

包導(dǎo)入:

問題解決!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于python實(shí)現(xiàn)復(fù)制文件并重命名
這篇文章主要介紹了基于python實(shí)現(xiàn)復(fù)制文件并重命名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Python?DPED機(jī)器學(xué)習(xí)之實(shí)現(xiàn)照片美化
本篇文章主要介紹了利用Python中的DPED工具實(shí)現(xiàn)照片一鍵美化,可以實(shí)現(xiàn)照片亮度提高和色彩鮮明度提高,代碼簡(jiǎn)潔易懂,具有一定學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2021-11-11
Django 事務(wù)transaction.atomic()的使用方法
本文主要介紹了Django 事務(wù)transaction.atomic()的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-12-12
Python使用os.path和pathlib模塊進(jìn)行文件路徑操作的詳細(xì)教程
文件路徑操作是Python編程中的重要功能,它允許程序處理文件和目錄的路徑,這篇文章主要介紹了Python使用os.path和pathlib模塊進(jìn)行文件路徑操作的詳細(xì)步驟,有需要的小伙伴可以了解下2026-03-03
利用Python判斷整數(shù)是否是回文數(shù)的3種方法總結(jié)
這篇文章主要給大家介紹了關(guān)于如何利用Python判斷整數(shù)是否是回文數(shù)的3種方總結(jié),回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù),需要的朋友可以參考下2021-07-07
python+opencv實(shí)現(xiàn)移動(dòng)偵測(cè)(幀差法)
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)移動(dòng)偵測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
python中關(guān)于property的最詳細(xì)使用方法
這篇文章主要介紹了python中關(guān)于property的最詳細(xì)使用方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

