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