面向对象总结

# 学习态度
# python基础 2个月
# html css js jq 1个月

# 上课困

# 学习方法 :
# 列出知识点
# 例子 写了哪些

# 面向对象学了哪些块
# 为什么要讲面向对象
# 角色的不清晰,导致了方法的调用混乱
# 重复的代码
# 类和对象的定义 语法
# 对象与对象之间的交互 : 人打狗 狗掉血
# 面向对象的命名空间
# 组合

# 面向对象的三大特性
# 继承 单继承 父类 子类
#多继承 经典类和新式类的区别 抽象类和接口类(规范)
# 多态(其他语言中的,python天生支持) 鸭子类型(list和tuple)
# 封装 私有的 __变量
# @property
# @classmethod
# @staticmethod

# 面向对象的进阶
# issubclass isinstance
# 反射 hasattr getattr
# 内置的方法:
# 内置方法和内置函数和内置的数据类型以及内置的模块都有着千丝万缕的联系
# __new__ 创建self 构造方法
# __call__ 对象()

# 写代码 两种思路
# 面向过程
# 面向函数
# 面向对象

知识教程地址:https://www.cnblogs.com/mys6/p/10584933.html

configparse

# configparse创建文件
# import configparser
# config = configparser.ConfigParser()
# config["DEFAULT"] = {'ServerAliveInterval': '45',
#                                    'Compression': 'yes',
#                                    'CompressionLevel': '9',
#                                   'ForwardX11':'yes'
#                                     }
# config['bitbucket.org'] = {'User':'hg'}
#
# config['topsecret.server.com'] = {'Host Port':'50022','ForwardX11':'no'}
#
# with open('example.ini', 'w') as f:
#        config.write(f)

查找文件
# import configparser
#
# config = configparser.ConfigParser()
# #---------------------------查找文件内容,基于字典的形式
# # print(config.sections()) # []
#
# config.read('example.ini')
# print(config.sections()) # ['bitbucket.org', 'topsecret.server.com']
#
# print('bytebong.com' in config) # False
# print('bitbucket.org' in config) # True

# print(config['bitbucket.org']["user"]) # hg
# print(config['DEFAULT']['Compression']) #yes
# print(config['topsecret.server.com']['ForwardX11']) #no
#
# print(config['bitbucket.org']) #<Section: bitbucket.org>
#
# for key in config['bitbucket.org']: # 注意,有default会默认default的键,无论打印哪一组先内容都打印出default的键,除非改名字
# print(key)
#
# print(config.options('bitbucket.org')) # 同for循环,找到'bitbucket.org'下所有键
#
# print(config.items('bitbucket.org')) #找到'bitbucket.org'下所有键值对
#
# print(config.get('bitbucket.org','compression')) # yes get方法Section下的key对应的value

增删改操作

# import configparser
# config = configparser.ConfigParser()
# config.read('example.ini') # 读文件
# config.add_section('yuan') # 增加section
# config.remove_section('bitbucket.org') # 删除一个section
# config.remove_option('topsecret.server.com',"forwardx11") # 删除一个配置项
# config.set('topsecret.server.com','k1','11111')   在'topsecret.server.com'下新建一个键值"k1","1111"
# config.set('yuan','k2','22222')
# f = open('new2.ini', "w")
# config.write(f) # 写进文件
# f.close()

logging

# login 登录
# log 日志
# logging

# 什么叫日志?
# 日志 用来记录用户行为 或者 代码的执行过程
# print

# logging
# 我能够“一键”控制
# 排错的时候需要打印很多细节来帮助我排错
# 严重的错误记录下来
# 有一些用户行为 有没有错都要记录下来

basicConfig

import logging

# logging.basicConfig(level=logging.WARNING,这里会打印该级别以上的日志
#                                   format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
#                                   datefmt='%a, %d %b %Y %H:%M:%S')

filename='test.log'  隐藏这一段,屏幕打印,显示话写入文件

filemode='a'
#      try:
#              int(input('num >>'))
#     except ValueError:
#             logging.error('输入的值不是一个数字')

# logging.debug('debug message') # 低级别的 # 排错信息
# logging.info('info message') # 正常信息
# logging.warning('warning message') # 警告信息
# logging.error('error message') # 错误信息
# logging.critical('critical message') # 高级别的 # 严重错误信息

# print('%(key)s'%{'key':'value'})   >>>value   格式化
# print('%s'%('key','value'))

# basicconfig 简单 能做的事情相对少
# 中文的乱码问题
# 不能同时往文件和屏幕上输出

log对象

# 配置log对象 稍微有点复杂 能做的事情相对多
import logging
logger = logging.getLogger()
fh = logging.FileHandler('log.log',encoding='utf-8')
sh = logging.StreamHandler() # 创建一个屏幕控制对象
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
formatter2 = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s [line:%(lineno)d] : %(message)s')
# 文件操作符 和 格式关联
fh.setFormatter(formatter)
sh.setFormatter(formatter2)
# logger 对象 和 文件操作符 关联
logger.addHandler(fh)
logger.addHandler(sh)
logging.debug('debug message') # 低级别的 # 排错信息
logging.info('info message') # 正常信息
logging.warning('警告错误') # 警告信息
logging.error('error message') # 错误信息
logging.critical('critical message') # 高级别的 # 严重错误信息

# 程序的充分解耦
# 让程序变得高可定制

# zabbix

# logging
# 有5种级别的日志记录模式 :
# 两种配置方式:basicconfig 、log对象

# django框架

# 作业 必须要写log

29天后面的月考题目讲解未总结(待处理)

面向对象总结、configparser配置文件模块、logging日志模块的更多相关文章

  1. Python入门之logging日志模块以及多进程日志

    本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python ...

  2. python 自动化之路 logging日志模块

    logging 日志模块 http://python.usyiyi.cn/python_278/library/logging.html 中文官方http://blog.csdn.net/zyz511 ...

  3. logging日志模块的使用

    logging日志模块的使用 logging模块中有5个日志级别: debug 10 info 20 warning 30 error 40 critical 50 通常使用日志模块,是用字典进行配置 ...

  4. Python logging(日志)模块

    python日志模块 内容简介 1.日志相关概念 2.logging模块简介 3.logging模块函数使用 4.logging模块日志流处理流程 5.logging模块组件使用 6.logging配 ...

  5. 约束、自定义异常、hashlib模块、logging日志模块

    一.约束(重要***) 1.首先我们来说一下java和c#中的一些知识,学过java的人应该知道,java中除了有类和对象之外,还有接口类型,java规定,接口中不允许在方法内部写代码,只能约束继承它 ...

  6. pyhton——logging日志模块的学习

    https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模 ...

  7. logging日志模块详细,日志模块的配置字典,第三方模块的下载与使用

    logging日志模块详细 简介 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么 了,但是当我需要看大量的地方或者在一个文件中查看的时 ...

  8. logging 日志模块学习

    logging 日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪,所以还是灰常重要滴,下面我就来从入门到放弃的系统学习一下日志既可以在屏幕上显示,又可以在文件中体现. ...

  9. logging日志模块

    为什么要做日志: 审计跟踪:但错误发生时,你需要清除知道该如何处理,通过对日志跟踪,你可以获取该错误发生的具体环境,你需要确切知道什么是什么引起该错误,什么对该错误不会造成影响. 跟踪应用的警告和错误 ...

  10. day31 logging 日志模块

    # logging 日志模块 ****** # 记录用户行为或者代码执行过程 # print 来回注释比较麻烦的 # logging # 我能够“一键”控制 # 排错的时候需要打印很多细节来帮助我排错 ...

随机推荐

  1. 【搜索】C - Catch That Cow

    #include<stdio.h> #include<string.h> struct A{ int state; int step; }queue[]; // 结构体数组用来 ...

  2. PHP删除空格函数

    删除空格或其他字符的相关函数 ltrim函数 描述:实现删除字符串开始位置的空格或其他字符 语法:string ltrim(string $str [,string $charlist]) 说明:ch ...

  3. Django之admin管理数据库,cookie验证及分页设置

    一.admin管理数据库 1)models.py创建class类表 class Book(models.Model): name=models.CharField(max_length=) price ...

  4. 68.iOS设备尺寸及型号代码(iPhoneXR/XS)

    所有设备型号官网地址: https://www.theiphonewiki.com/wiki/Models iPhone: 机型 像素 比例 像素密度 屏幕尺寸 机型代码 发布日期 iPhone 2g ...

  5. mysql之表的查看操作

    一 补充一些杂碎的知识 1 插入数据: create table 新表名(字段 数据类型[约束条间]...) select 字段... from 旧表名 create table 新表名(字段 数据类 ...

  6. 682. Baseball Game

    static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...

  7. 2018.10.29 NOIP训练 数据结构(带修改莫队)

    传送门 带修莫队板题. 直接按照经典写法做就行了. 代码

  8. Java日期时间使用总结[转载]

    Java日期时间使用总结   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式 ...

  9. 常用.bat

    休眠.bat rundll32 powrprof.dll,SetSuspendState 常用.bat start /d  "d:\Program Files (x86)\Tencent\T ...

  10. PLSQL Developer对oracle中的数据进行备份恢复

    1.备份数据结构 --进入  工具-->导出用户对象  如图所示 把包括所有者的√去掉,到时候我们就可以随便建一个用户导入数据了,不一定非要scott用户   2.备份数据 工具-->导出 ...