解決python3報(bào)錯(cuò)之takes?1?positional?argument?but?2?were?given問(wèn)題
python3 takes 1 positional argument but 2 were given
使用python3的時(shí)候,剛開(kāi)始使用,把所有的都寫(xiě)在了一個(gè)文件中,這不符合類(lèi)的六大設(shè)計(jì)原則。
就把原來(lái)的代碼按照類(lèi)進(jìn)行了拆分。
關(guān)于類(lèi)的六大設(shè)計(jì)原則:
- 開(kāi)放關(guān)閉原則
- 里氏替換原則
- 依賴(lài)倒轉(zhuǎn)原則
- 接口隔離原則
- 迪米特原則
這里不作過(guò)多的解釋?zhuān)蠹铱梢宰孕邪俣取?/p>
拆分完之后,使用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)用類(lèi)文件的def中,別人比我的代碼中多了個(gè)參數(shù)self。
上網(wǎng)查了查,網(wǎng)上說(shuō),類(lèi)的方法與普通的函數(shù)只有一個(gè)特別的區(qū)別
- 它們必須有一個(gè)額外的第一個(gè)參數(shù)名稱(chēng),但是在調(diào)用這個(gè)方法的時(shí)候你不為這個(gè)參數(shù)賦值,Python會(huì)提供這個(gè)值。
- 這個(gè)特別的變量指對(duì)象本身,按照慣例它的名稱(chēng)是self。
簡(jiǎn)單來(lái)說(shuō)就是,第一個(gè)參數(shù)是對(duì)象本身,這個(gè)是必須的。
在類(lèi)方法加上第一個(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ò)沒(méi)有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中,沒(méi)有MySQLdb 這個(gè)包,所以無(wú)法直接安裝;
3. 解決辦法
若使用的是Python3 ,需要安裝pymysql ,安裝完成后,在引入包時(shí)
使用
import pymysql as MySQLdb
這樣就可以像Python2 一樣使用該包了?。?!
pip 安裝:

包導(dǎo)入:

問(wèn)題解決!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 解決Python3 struct報(bào)錯(cuò)argument for 's' must be a bytes object
- python3報(bào)錯(cuò)check_hostname?requires?server_hostname的解決
- python3的一個(gè)天坑問(wèn)題及解決方法:報(bào)錯(cuò)UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid
- Python3.8如何解決No module named 'numpy'報(bào)錯(cuò)問(wèn)題
相關(guān)文章
Python虛擬環(huán)境項(xiàng)目實(shí)例
這篇文章主要介紹了Python虛擬環(huán)境項(xiàng)目實(shí)例步驟,以及遇到的問(wèn)題解決辦法。2017-11-11
關(guān)于pycharm中pip版本10.0無(wú)法使用的解決辦法
近期在利用 pycharm 安裝第三方庫(kù)時(shí)會(huì)提示 pip 不是最新版本, 因此對(duì) pip 進(jìn)行更新,但是生成最新版本之后, pip 中由于缺少 main 函數(shù),導(dǎo)致在 pycharm 中無(wú)法自動(dòng)安裝第三方庫(kù)。本文就介紹一下如何解決2019-10-10
Python3 把一個(gè)列表按指定數(shù)目分成多個(gè)列表的方式
今天小編就為大家分享一篇Python3 把一個(gè)列表按指定數(shù)目分成多個(gè)列表的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
pandas按若干個(gè)列的組合條件篩選數(shù)據(jù)的方法
下面小編就為大家分享一篇pandas按若干個(gè)列的組合條件篩選數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python操作Excel文件的11種方法(全網(wǎng)最全)
在日常工作或開(kāi)發(fā)過(guò)程中,Excel文件作為一種常用的數(shù)據(jù)存儲(chǔ)格式,其高效便捷的數(shù)據(jù)處理能力被廣泛應(yīng)用于數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)分析等領(lǐng)域,Python作為一種強(qiáng)大的編程語(yǔ)言,提供了豐富的庫(kù)支持來(lái)實(shí)現(xiàn)對(duì)Excel文件的操作,本篇將詳細(xì)介紹如何使用Python來(lái)操作Excel文件2025-03-03
Python NumPy實(shí)現(xiàn)數(shù)組搜索示例詳解
NumPy是一個(gè)開(kāi)源的Python科學(xué)計(jì)算庫(kù),使用NumPy可以很自然地使用數(shù)組和矩陣,這篇文章主要介紹了使用NumPy實(shí)現(xiàn)數(shù)組搜索,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-05-05
Python headers請(qǐng)求頭如何實(shí)現(xiàn)快速添加
這篇文章主要介紹了Python headers請(qǐng)求頭如何實(shí)現(xiàn)快速添加,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

