盘点一个Python面向对象的基础问题
點擊上方“Python爬蟲與數據挖掘”,進行關注
回復“書籍”即可獲贈Python從入門到進階共10本電子書
今
日
雞
湯
蟬鳴空桑林,八月蕭關道。
大家好,我是皮皮。
一、前言
前幾天在Python白銀交流群【梅???】問了一個Python面向對象的問題,提問截圖如下:
下圖是他的運行報錯截圖:
二、實現過程
這里【hugo】給了一個指導,看上去就是字符串格式化重復使用的問題,只需要把前面的f去掉即可:
不過解決了一個問題,另外一個問題出現了,這里出現一個變量未定義的錯誤,【論草莓如何成為凍干莓】指出是縮進不對,調整縮進之后,又出來另外一個bug,如下圖所示:
又是變量沒有定義,不過這個問題并不是縮進那么簡單了,【千葉ほのお】指出是面向對象的問題,調用的時候需要引入類名才可以。
類似的問題不只是這一處,如下圖所示:
后來【瑜亮老師】給了一個正確的代碼,如下所示:
class?Student(object):????#定義一個Student的類def?__init__(self,?name,?score):?????#類里有兩個屬性:name和scoreself.name?=?nameself.score?=?scoredef?set_score(self,score):if?int(score)?>=?0?and?int(score)?<=?100:self.score?=?scoreelse:raise(ValueError("分數必須是0?~?100"))#打印每個學生的姓名和分數def?print_score(self):print("姓名是{},分數是{}".format(self.name,?self.score))if?__name__?==?'__main__':Mable?=?Student("Mable",?100)Mable.print_score()Mable.set_score(90)Mable.print_score()Mable.set_score(120)Mable.print_score()順利地解決了粉絲的問題。話說回來,解決問題是其次,更重要的是加固基礎,學會舉一反三,面向對象還是挺難的,加油!
三、總結
大家好,我是皮皮。這篇文章主要盤點了一個Python面向對象的問題,文中針對該問題,給出了具體的解析和代碼實現,幫助粉絲順利解決了問題。
最后感謝粉絲【梅???】提問,感謝【hugo】、【論草莓如何成為凍干莓】、【瑜亮老師】、【千葉ほのお】給出的思路和代碼解析,感謝【Engineer】等人參與學習交流。
大家在學習過程中如果有遇到問題,歡迎隨時聯系我解決(我的微信:pdcfighting),應粉絲要求,我創建了一些高質量的Python付費學習交流群和付費接單群,歡迎大家加入我的Python學習交流群和接單群!
小伙伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。
-------------------?End?-------------------
往期精彩文章推薦:
盤點一個網絡爬蟲POST請求參數構造的問題
盤點一個Python基礎中循環判斷遇到一個小問題
重裝pycharm和Python環境以后,以前的文件selenium獲取不到元素了?
不使用內置函數的情況下,如何使用Python實現求平均值、最大值和最小值?
歡迎大家點贊,留言,轉發,轉載,感謝大家的相伴與支持
想加入Python學習群請在后臺回復【入群】
萬水千山總是情,點個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
總結
以上是生活随笔為你收集整理的盘点一个Python面向对象的基础问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 6078 Wavel Seque
- 下一篇: android 指纹框架,Android