Python 面向对象编程 day7
生活随笔
收集整理的這篇文章主要介紹了
Python 面向对象编程 day7
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、類方法:類自帶的方法,即類方法
class Car:def run(self): #實例方法中,調用本類變量、類方法都要用self.XXX調用print("run")hm=Person('hanmin') #實例方法中,調用其他類的實例方法print(self.country) #這個country是本類中的countryprint(hm.country) #這個country是Person這個類中的countryself.shuoming() #類方法是公共的,實例方法中也可以調用類方法#run=self #self代表本身的類,可以XXX=self,就是實例化這個類#run.shuoming()#類方法是公共的,實例方法中也可以調用類方法#在類中,函數的調用不是按順序執行的,可以直接調用后邊代碼中的變量或方法 @classmethod #加了裝飾器的方法就是類方法。類方法也是公共的。類中的方法都可以調用。但是不能直接調用實例方法和實例變量. #類方法在調用時,不需要實例化,直接 類名.方法名()即可調用def shuoming(cls) #cls代表此類本身,與實例方法中的self類似#類方法中只能直接調用類變量、類方法print("怎么造汽車")print("造%s的汽車"%cls.country)bmw=cls #cls代表本身的類,其實相當于把這個類實例化bmw.run() #實例方法實例化后,可以調用實例方法二、靜態方法
@staticmethod #寫在類中的普通方法,不需要實例化,不能調用類方法,也不能調用實例方法。但是類方法、實例方法都能調用靜態方法def act():print('靜態方法')Car.act() #調用時直接用類名.方法名三、屬性方法
看起來像變量的一個方法。不能有傳參,不能有入參
@propertydef name(self):return '大黃蜂' print(c.name) #屬性方法,調用時直接調用函數名,不能加括號四、例子
import pymysql class MySQL:def __init__(self ): self.conn=pymysql.connect(host='117.25.23.20,user='XXX',password='45461 ', db='jxz',port=3306,charset='utf8',autocommit=True)self.cur=self.conn.cursor(pymysql.cursors.DictCursor)def __del__(self): #析構方法:print('什么時候執行析構方法')def excute_one(self,sql):self.cur.execute(sql)return self.cur.fetchone()def execut_many(self,sql):self.cur.execute(sql)return self.cur.fetchall()def close(self):self.cur.close()self.conn.close()def __del__(self): #當實例被執行完后,執行此代碼 self.cur.close()self.conn.close()print('連接已被關閉') m=MySQL() print(m.excute_one('select * from app_myuser'))?
轉載于:https://www.cnblogs.com/candysalty/p/11243045.html
總結
以上是生活随笔為你收集整理的Python 面向对象编程 day7的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: this的指向理解
- 下一篇: Python的3种执行方式