溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python面向對象的操作方法

發(fā)布時間:2022-03-29 15:50:44 來源:億速云 閱讀:133 作者:iii 欄目:移動開發(fā)

這篇文章主要介紹了python面向對象的操作方法的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python面向對象的操作方法文章都會有所收獲,下面我們一起來看看吧。

操作Redis集群:

import rediscluster
import redis
# startup_nodes = [
#     {"host":"118.24.3.40","password":"HK139bc&*","port":6379},
#     {"host":"118.24.3.41","password":"HK139bc&*","port":6379}
#                  ]
# r = rediscluster.RedisCluster(startup_nodes =startup_nodes, decode_responses=True)
# print(r.keys())

r = redis.Redis(host="118.24.3.40",password="HK139bc&*",port=6379,db=4,decode_responses=True)
r.set("ljq:ljq1","ljj") #文件夾ljq,key:ljq1
print(r.get("ljq:ljq1")) #取值時要把文件夾帶上

面向對象:

# class Car:
#     wheel = 4
#     color = "heise"
#     name = "feimaqiche"
#     def fly(self):
#         print(self.name)
#
# fmz_car = Car()#實例化        fmz_car:實例對象
# fmz_car.fly()#調用類里面的方法
#self 本類對象,實例化的是誰,self代表的是誰

class Car:
    wheel = 4  #類變量,公共的,通過self.wheel來應用
    def __init__(self,color,name): #構造函數(shù),類在實例化的時候,自動執(zhí)行的函數(shù)
        self.color = color
        self.name = name

    def __del__(self):#析構函數(shù),實例在銷毀的時候執(zhí)行
        print("析構函數(shù)")

    def fly(self):
        name= "www"#局部變量
        print(id(self))
        print(self.name)

    def say(self):
        print("%s,%s"%(self.name,self.color))


fmz_car = Car("紅色的","汽車")#實例化        fmz_car:實例對象
fmz_car.fly()#調用類里面的方法
fmz_car.say()#調用類里面的方法
print(id(fmz_car))

fmz_car2 = Car("黃色的","汽車")#實例化        fmz_car:實例對象
fmz_car2.fly()#調用類里面的方法
fmz_car2.say()#調用類里面的方法

#raise 主動拋出異常
# 私有方法,私有變量, :前面加 __  類里可以調用,出了類之后就不能調用

封裝MySQL類:

import pymysql
from day8li.homework.const import mysql_info
class MySQL: #經(jīng)典類

    def __init__(self,mysql_info,data_type=1):
        self.mysql_info = mysql_info
        self.data_type = data_type
        self.__connect_status = False
        self.__connect()

    def __connect(self):
        print("開始連接mysql")
        try:
            self.__conn = pymysql.connect(**self.mysql_info)
        except:
            print("數(shù)據(jù)庫連接出錯!" )
            raise Exception("數(shù)據(jù)庫連接出錯")
        self.__connect_status = True
        if self.data_type != 1:
            self.__cur = self.__conn.cursor(pymysql.cursors.DictCursor)
        else:
            self.__cur = self.__conn.cursor()
        print("mysql連接成功!")

    def execute(self,sql):
        print("開始執(zhí)行sql",sql)
        try:
            self.__cur.execute(sql)
        except:
            print("sql不正確,sql語句是%s" % sql)
        else:
            print("sql執(zhí)行完成!")
            return True

    def fetchone(self,sql):
        if self.execute(sql):
            return self.__cur.fetchone()

    def fetchall(self,sql):
        if self.execute(sql):
            return self.__cur.fetchall()

    def __del__(self):
        self.__close()
        print("mysql 連接關閉完成")

    def __close(self):
        if self.__connect_status:
            self.__cur.close()
            self.__conn.close()



if __name__ == '__main__':
    my = MySQL(mysql_info)
    my.execute("update user_nhy_7 set nick ='杜拉拉' where id = 3")

    ret = my.fetchone("select * from user_nhy_7 where id = 3")
    print(ret)
    ret = my.fetchall("select * from user_nhy_7")
    print(ret)

日志打印:

# import logging
# log = logging.Logger("abc",level="INFO")
# log.info("haha")

# import loguru
# loguru.logger.debug("aaa")
# loguru.logger.info("aaa")
# loguru.logger.warning("aaa")
# loguru.logger.error("aaa")


from loguru import logger
import sys
logger.remove()  # 清除它的默認設置設置
# fmt = '{time}||{level}||{file.path}:line:{line}:function_name:{function} ||msg={message}'
fmt = '{time}||msg={message}'
# level file function module time message
# logger.add(sys.stdout, level='DEBUG', format=fmt)  # 咱們本地運行的時候,在控制臺打印
# #  enqueue=True  異步寫入日志
# logger.add('fmz.log', level='DEBUG', format=fmt, encoding='utf-8',
#            enqueue=True, rotation='1 day', # rotation多久產(chǎn)生一個日志文件
#            retention='10 days')  # 寫在日志文件里面
#
# logger.info("3253252")



class Log:
    logger.remove()#清除它的默認設置設置
    fmt = '[{time}][{level}][{file.path}:line:{line}:function_name:{function}] ||msg={message}'
    #level file function module time message
    logger.add(sys.stdout,level="DEBUG",format=fmt)#咱們本地運行的時候,在控制臺打印
    logger.add("test.log",level="DEBUG",format=fmt,encoding='utf-8',enqueue=True,rotation='1 day',retention='10 days')#寫在日志文件里面

    debug = logger.debug
    info = logger.info
    warning = logger.warning
    error = logger.error

if __name__ == '__main__':
    Log.info("xxxx")

關于“python面向對象的操作方法”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python面向對象的操作方法”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI