python类

Python logging 日志类

徘徊边缘 提交于 2019-11-30 12:23:05
1 #!/usr/bin/env python 2 # _*_ coding:utf-8 _*_ 3 4 5 import logging 6 from logging import handlers 7 8 9 class Log: 10 def __init__(self): 11 # 创建一个logger 12 self.logger = logging.getLogger() 13 self.logger.setLevel(logging.DEBUG) 14 15 # 创建一个handler,用于写入日志文件 16 # 每天凌晨重新创建一个日志文件 17 fh = logging.handlers.TimedRotatingFileHandler(filename="log.txt", when='midnight', encoding='utf-8') 18 # 再创建一个handler,用于输出到控制台 19 ch = logging.StreamHandler() 20 21 # 定义handler的输出格式formatter 22 formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') 23 fh.setFormatter(formatter) 24 ch.setFormatter

python 类

为君一笑 提交于 2019-11-29 22:25:52
如果不会就不能说自己会编程 面向对象   OOP编程是利用类和对象来创建各种模型来实现对真实世界的描述,基于面向对象的程序可以合人更容易理解代码逻辑。 class Dog: def bulk(self): print("Chenronghua:wangwangwang!!") d1=Dog();d2=Dog();d3=Dog() d1.bulk();d2.bulk();d3.bulk() View Code View Code 封装 继承 多态 来源: https://www.cnblogs.com/xupanfeng/p/11537837.html

Python面向对象编程——类与对象

别来无恙 提交于 2019-11-29 21:40:09
Python面向对象编程——类与对象 一、类与对象的概念 类即类别、种类,是面向对象设计最重要的概念,从一小节我们得知对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体。 那么问题来了,先有的一个个具体存在的对象(比如一个具体存在的人),还是先有的人类这个概念,这个问题需要分两种情况去看。 在现实世界中:肯定是先有对象,再有类。 世界上肯定是先出现各种各样的实际存在的物体,然后随着人类文明的发展,人类站在不同的角度总结出了不同的种类,比如 人类、动物类、植物类等概念。也就说,对象是具体的存在,而类仅仅只是一个概念,并不真实存在,比如你无法告诉我人类 具体指的是哪一个人。 在程序中:务必保证先定义类,后产生对象。 这与函数的使用是类似的:先定义函数,后调用函数,类也是一样的:在程序中需要先定义类,后调用类。不一样的是:调用 函数会执行函数体代码返回的是函数体执行的结果,而调用类会产生对象,返回的是对象。 二、定义类 按照上述步骤,我们来定义一个类(我们站在老男孩学校的角度去看,在座的各位都是学生) 在现实世界中,先有对象,再有类 对象1:李坦克 特征: 学校=oldboy 姓名=李坦克 性别=男 年龄=18 技能: 学习 吃饭 睡觉 对象2:王大炮 特征: 学校=oldboy 姓名=王大炮 性别=女 年龄=38 技能: 学习 吃饭 睡觉 对象3:牛榴弹 特征: 学校

Python 笔记:07 子类

旧城冷巷雨未停 提交于 2019-11-29 17:11:45
子类: 一、定义:   是相对于父类而言的,B类从A类,继承了A类中的属性和方法,则A类是父类,B类是子类 二、固定格式:   class 子类名(父类名):   #初始化子类属性   def __init__(self,父类变量1,父类变量2):    #初始化父类的属性     super( ).__init__(父类属性1,父类属性2)或父类名.__init__(父类属性1,父类属性2)     self.子类新变量名=值   def 子类新方法:     ...... 三、实例化相同 四、例:   class Taide_dog(Dog)   def __inint__ (self,name,age)   super().__init__(name,age)或 Dog.__init__(name,age)   self.weight=15   def run(self)’   print('This Dog weight : ' + str(self.weight)+ ' It needs to run!‘) 来源: https://www.cnblogs.com/wssking/p/11523418.html

python object类

我与影子孤独终老i 提交于 2019-11-29 13:55:46
object类 object是python的默认类,有很多的方法,python种默认的list,str,dict等等都是继承了object类的方法 继承了object的类属于新式类 ,没有继承属于经典类 在python3种默认都是新式类,也即是所有的自定义类,基类都会继承object类 描述 在python3.x的所有类都是object的子类 所以对于一些内置的方法会写在object类中 如果子类不定义,在调用的时候最终会调用object类中的方法 就不会让程序出现不必要的错误了 __init__方法就是其中的一个例子 所有继承了object类的类 ---- 新式类 在python2中 不继承object类的都是 经典类 格式 class A(object): pass # 新式类 class A: pass # 经典类 :在多继承中遵循深度优先 # 经典类中没有super和mro方法 总结 所有的py3中 的类都继承object 是新式类 在继承中 遵循 广度优先的 C3算法 也可以使用mro来查看继承顺序 super这个方法 可以帮助我们查找到mro顺序中的下一个类 来源: https://www.cnblogs.com/Hybb/p/11518961.html

python新式类、旧式类

自作多情 提交于 2019-11-29 06:50:45
Python super方法浅见 主要讲 super 的逻辑,以及经典类,新式类的分析 原文地址 Python类继承的高级特性 新式类、旧式类的区别分析 深度优先、广度优先 新式类的C3算法 原文地址 来源: https://blog.csdn.net/AggressionStorm/article/details/100544613

python类的继承的两种方式写法

江枫思渺然 提交于 2019-11-29 05:55:27
class Animal(object): """docstring for Animal""" def __init__(self, name): self.name = name def run(self): print ('Animal is running...',self.name)class Dog(Animal): """docstring for Dog""" def __init__(self,name): # super(Dog, self).__init__(name) Animal.__init__(self,name) def printName(self): print ('Name: %s' % self.name)kk=Dog("kity")kk.printName()kk.run() 来源: https://www.cnblogs.com/bobo200/p/11457396.html

学习python的第四天(类,继承)

北慕城南 提交于 2019-11-29 04:58:26
每日小酌:这世界上,最富有的人,是跌倒最多的人;最勇敢的人,是每次跌倒都能站起来的人;最成功的人,是那些每次跌倒,不单能站起来,还能够坚持走下去的人。 开始学习 类 定义类关键字 class init 是一个特殊的方法用于在创建对象时进行初始化操作不用的时候可写可不写 拿例题说事1 class tyler ( object ) : # 类还可以不写object(默认就继承了object)创建 class tyler: def __init__ ( self , name , age ) : self . name = name self . age = age def study ( self , course ) : self . course = course print ( '%s正在学习%s。' % ( self . name , self . course ) ) def watch ( self ) : if self . age < 18 : print ( '%s只能看《熊出没》' % self . name ) else : print ( '%s只能看《动作片》' % self . name ) if __name__ == "__main__" : stu = tyler ( 'asd' , 19 ) #这里的()走的是初始化__init__函数

python课堂整理34----类的增删改查及实例属性增删改查

China☆狼群 提交于 2019-11-29 02:42:33
一、类的增删改查 类里面定义的函数,第一个参数一定要写 self ,因为class的特殊性 定义类名:首字母大写 函数属性命名:动词加名词(即干什么事) class Chinese: country = 'China' def __init__(self,name): self.name = name def play_ball(self, ball): print("%s 正在打%s"%(self.name,ball)) p1 = Chinese('sb') #实例化 print(Chinese.country) #查 Chinese.country = 'CHINESE' #改 print(p1.country) #查 Chinese.dang = 'gong chan党' #增加 print(p1.dang) #p1也能查看dang,因为p1会到类里去找dang这个属性   class Chinese: country = 'China' def __init__(self,name): self.name = name def play_ball(self, ball): print("%s 正在打%s"%(self.name,ball)) p1 = Chinese('sb') #实例化 Chinese.dang = 'gong chan党' #增加 print(p1

python类中方法__str__()和__repr__()简单粗暴总结

时光毁灭记忆、已成空白 提交于 2019-11-28 22:04:21
在交互式模式下,类中同时实现__str__()和__repr__()方法: 直接输入实例名称显示repr返回的类容; 用print打印实例名称显示str返回的内容; >>> class Test: ... def __repr__(self): ... return 'Test -> return repr' ... def __str__(self): ... return 'Test -> return str' ... >>> t = Test() >>> t Test -> return repr >>> print(t) Test -> return str 在交互式模式下,如果只实现了__repr__()方法则: 直接输入实例名称和print打印都显示repr返回的内容。 >>> class Test: ... def __repr__(self): ... return 'Test -> return repr' ... >>> t = Test() >>> t Test -> return repr >>> print(t) Test -> return repr 在交互式模式下,如果只实现了__str__()方法则: 直接输入实例名称返回的是对象地址信息。 而print打印输出的是str返回的内容。 >>> class Test: ... def __str__