讲在组合之前: 解决类和类之间代码冗余问题有两种解决方案:1,继承 2,组合 1,继承:描述的是类和类之间,什么是什么的关系,一种从属关系 2,组合:描述的是类和类之间的关系。是一种什么有什么的关系组合:一个类产生的对象,该对象拥有一个属性,这个属性的值来自于另外一个类的对象class OldboyPeople:school = ‘oldboy‘def__init__(self,name,age,sex):self.name = nameself.age = ageself.sex = sex
class ...
# coding=utf-8import sys, loggingfrom paramiko.client import SSHClient, AutoAddPolicy
from paramiko import AuthenticationException
from paramiko.ssh_exception import NoValidConnectionsError
class SshClient:def__init__(self, host_ip, username, password):# 创建ssh对象self.ssh_client = SSHClient()self.host_ip = host_ipself.username = usernameself.password = passwordself.port = 22def__enter__(self):tr...
目录面向对象之--封装一:封装介绍二、将封装的属性进行隐藏操作面向对象之--封装一:封装介绍封装是面向对象三大特性最核心的一个特性
封装<->整合二、将封装的属性进行隐藏操作1、如何隐藏:在属性名前加__前缀,就会实现一个对外隐藏属性效果
该隐藏需要注意的问题:I:在类外部无法直接访问双下滑线开头的属性,但知道了类名和属性名就可以拼出名字:_类名__属性,然后就可以访问了,如Foo._A__N,
所以说这种操作并没有严格意义...
1.私有属性class Person(object):def__init__(self,name,age):self.name = nameself.age = age #实例属性self.attack_val = 30self.__life_val = 100 #前面加两个下划线就是私有变量,私有属性a = Person(‘wdc‘,22)
print(a.age) #实例属性可以直接外面使用和修改print(a.__life_val) #私有属性外面不可以使用和修改 2.私有属性的用法class Person(object):def__init__(self,name,age):self.name = nameself.age = age #...
一.函数的定义,函数名,函数体以及函数的调用1.函数的定义语法:def 函数名():函数体2.函数名的定义与变量名命名一样3.函数的封装与调用#函数的封装def yue():print(‘美女,约不约‘)print(‘不约‘)print(‘我这么帅,不约?‘)print(‘不约‘)
#调用yue()函数yue()
yue()
yue()二.函数的返回值1.函数中遇到return, 此函数结束, 不再继续执?.def yue():print("约你")print("约她")returnprint("约谁") #这句话不会被执行
yue(...
Python3操作MySQL基于PyMySQL封装的类??在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类,基于PyMySQL库在Python3上实现。在写业务逻辑代码的时候,可以方便很多,时间关系,没有写太完善,只写了常用的操作。??直接上代码:#!/usr/bin/env python
# -*- coding: utf-8 -*-'Python连接到 MySQL 数据库及相关操作(基于Python3)'import pymysql....
1import pymysql2 3class Model(object):4def__init__(self, username=‘root‘, password=‘123456‘, database=‘demo‘, 5 port=3306, host=‘localhost‘):6# 创建连接 7 self.connection = pymysql.connect(user=username, password=password, database=database,8 port=port, host=host, cursorclass=pymysql.cursors.DictCursor)9# 创建游标10 ...
内容目录面向对象基本用法好处和应用场景面向对象的三大特性内容详细1.面向对象基本格式# 定义类
class 类名:def 方法名(self,name):print(name)return 123def 方法名(self,name):print(name)return 123def 方法名(self,name):print(name)return 123
# 调用类中的方法
# 1.创建该类的对象
obj = 类名()
# 2.通过对象调用方法
result = obj.方法名(‘alec‘)
print(result)# 例子
# 定义一个类:Account
class Account:# 方法def lo...
#encoding=utf-8import requestsimport jsonclass HttpClient(object): def __init__(self): pass def __post(self,url,data=None,json=None,**kargs): response=requests.post(url=url,data=data,json=json) return response def __get(self,url,params=None,**kargs): response=requests.get(url=url,params=params) def request(self,requestMethod,requestUrl,paramsType,requestData...
一、封装数据属性、明确区分内外:示例代码如下: 1class People:2def__init__(self, name, age):3 self.__name = name4 self.__age = age5 6def tell_info(self):7print(‘Name:<%s> Age<%s>‘ % (self.__name, self.__age))8 9 p = People(‘egon‘, 18)
10p.tell_info()
1112结果为:
13 Name:<egon> Age<18>可以防止外部直接修改隐藏属性,并且提供了一个接口,按照固定的格式向调用者输出信息也可以提供修改隐...
1 接口与归一化设计1.1 归一化概念: 归一化的好处: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大降低了使用者的使用难度。 2.归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合 继承的两种用途 一:继承基类的方法,并且做出自己改变或者扩展(代码重用):实践中,继承的这种用途意义并不很大,甚至常常是有害的。因为它使得子类与基类出现强...
一 .Django中(原生mysql封装)1.函数封装import pymysql# 查 所数据def get_all(sql):conn = pymysql.connect(host="localhost", user="root", password="root", database="db6")cur = conn.cursor(cursor=pymysql.cursors.DictCursor)cur.execute(sql)res = cur.fetchall()cur.close()conn.close()return res# 查 一行数据def get_one(sql,args):conn = pymysql.connect(host="localhost", user="root", password="root", data...
k8s python api二次封装pip install pprint kubernetes
import urllib3
from pprint import pprint
from kubernetes import client
from os import path
import yamlclass K8sApi(object):def __init__(self):# self.config = config.kube_config.load_kube_config()urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)self.configuration = client.Configuration()self.configuration.host = "https://192.16...
本文实例讲述了python实现写日志封装类。分享给大家供大家参考。具体如下:# encoding:utf-8
import sys
import logging
import time
def writeLog(message):logger=logging.getLogger()filename = time.strftime(%Y-%m-%d,time.localtime(time.time()))handler=logging.FileHandler("./log/"+filename+"error")logger.addHandler(handler)logger.setLevel(logging.NOTSET)logger.info(message)
if __name__ == __main__:writeLog(...
一、相关概念
在自定义日志之前,我们需要了解如下信息:
1、日志收集器:可以理解为用于收集日志信息的容器;
2、日志级别(Level):常见的日志级别有:DEBUG、INFO、WARNING、ERROR以及CRITICAL
3、输出渠道(Handle):控制台输出:StreamHandle将日志信息保存在文件中:FileHandle
4、日志格式(Format):一般包含如下信息:日志时间-日志名称-日志级别名称-文件名称-行号-日志信息等
【示例】1 # 4、设置日志的输出格式
2 fmt = "...