一.多态 多态 多态:一类事物有多种形态,同一种事物的多种形态,动物分为鸡类,猪类.狗类 例子 import abc class H2o(metaclass=abc.ABCMeta): ​ def __init__(self,name,temperature): self.name = name self.temperature = temperature ​ @abc.abstractmethod def tell_state(self): pass ​ class Water(H2o): ​…
一.__new__方法 __init__()是初始化方法,__new__()方法是构造方法,创建一个新的对象 实例化对象的时候,调用__init__()初始化之前,先调用了__new__()方法 __new__()必须要有返回值,返回实例化出来的实例 def __new__(cls, *args, **kwargs): 例子 class Foo: ​ def __init__(self,name): self.name = name ​ def __new__(cls, *args, **kwa…
一.类的装饰器 类作为一个对象,也可以被装饰. 例子 def wrap(obj): print("装饰器-----") obj.x = 1 obj.y = 3 obj.z = 5 return obj ​ @wrap #将Foo类作为一个参数传入装饰器函数wrap,返回同时返回该对象,把新对象重新命名为Foo #即 Foo = wrap(Foo) class Foo: pass ​ #执行结果: #装饰器----- ​ print(Foo.__dict__) #输出结果可以看到,新的F…
[TOC] 一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩.即面向对象中自己检测自己有没有某种方法或者属性 反射的四个函数 1.hasattr(object,name) 判断对象/类/模块中是否有某种属性或者方法,注意第二个参数是字符串 该函数返回的是,存在返回True,不存在返回Fals…
一.__getattribute__ object.__getattribute__(self, name) 无条件被调用,通过实例访问属性.如果class中定义了__getattr__(),则__getattr__()不会被调用(除非显示调用或引发AttributeError异常) class Foo: ​ def __init__(self,x): self.x = x ​ def __getattr__(self, item): print("执行__getattr__") ​…
一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变当前工作目录,os.chdir()参数为路径 import os print(os.getcwd()) print(os.chdir(r"d:\python\exercise\test_package\a")) print(os.getcwd()) 输出结果 D:\06python\exe…
一.面向对象概念 1. "面向对象(OOP)"是什么? 简单点说,“面向对象”是一种编程范式,而编程范式是按照不同的编程特点总结出来的编程方式.俗话说,条条大路通罗马,也就说我们使用不同的方法都可以达到最终的目的,但是有些办法比较快速.安全且效果好,有些方法则效率低下且效果不尽人意.同样,编程也是为了解决问题,而解决问题可以有多种不同的视角和思路,前人把其中一些普遍适用且行之有效的编程模式归结为“范式”.常见的编程范式有: 面向过程编程:OPP(Procedure Oriented P…
三元运算 三元运算(三目运算),是对简单的条件语句的缩写 # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 “值1” 赋值给result变量,否则,将“值2”赋值给result变量 基本数据类型补充 set set集合,是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object set(iterable) -> new set object Bui…
Python开发[第二十二篇]:Web框架之Django[进阶]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205  Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代…
孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我们定义类时是否在类的内部代码块中定义过它们,这些私有方法都是存在的.比如已经知道的 __init__ 方法就是其中一个. 一.__str__ 此方法将输出在本身的相关信息文本. 测试: class ghlh(object): name='孤荷凌寒' qq='578652607' newghlh=gh…
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   前一章(SpringBoot第二十二篇:应用监控之Actuator)介绍了 SpringBoot 应用使用 Actuctor 进行监控.文章最后也提出了一个问题,是否可以将监控结果更好的展示个运维同学?   本章解答这个问题.   Spring Boot Admin 是一个管理和监控 Spring Boot…
  Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Python技术路径中包含入门知识.Python基础.Web框架.基础项目.网络编程.数据与计算.综合项目七个模块.路径中的教程将带你逐步深入,学会如何使用 Python 实现一个博客,桌面词典,微信机器人或网络安全软件等.完成本路径的基础及项目练习,将具备独立的Python开发能力. 完整的Pytho…
一. 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘使用空间 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 内存占用 > 80%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 上面的代码实现了功能,但即使是邻居老王也…
什么是模块: 模块就是一个功能的集合. 模块就和乐高积木差不多,你用这些模块组合出一个模型,然后也可以用这个模块加上其他的模块组合成一个新的模型 模块的种类: 1.内置模块(python自带的比如os.file等模块) 2.自定义模块,自己写的模块 3.第三方模块 模块的导入: import module #导入模块下的全部模块 from module.xx.xx import * #导入模块下的全部模块 from module.xx.xx import xx #导入某块下的指定模块 from…
一.sys模块 1.sys.argv 命令行参数List,第一个元素是程序本身路径 2.sys.exit(n) 退出程序,正常退出时exit(0) 3.sys.version . sys.maxint sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 4.sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 分析:sys.path输出的第一个结果是程序执行文件所在的文件夹绝对路径,这里的输出结果第二个是工程文件目录,但…
一.程序解耦 解耦总的一句话来说,减少依赖,抽象业务和逻辑,让各个功能实现独立. 直观理解“解耦”,就是我可以替换某个模块,对原来系统的功能不造成影响.是两个东西原来互相影响,现在让他们独立发展:核心思想还是最小职责,每个地方都只做一件事情:只要一个地方负责了多项事情,就存在解耦的可能.在系统每个层次都可以体现解耦的思想,比如在架构层面把存储和业务逻辑解耦,把动态页面和静态页面解耦:在模块层面把业务模块和统计模块解耦:在代码层面把多个功能解耦等等. 低耦合,高内聚---模块之间低耦合,模块内部高…
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 第三方模块 内置模块 1.定义模块 情景一: 情景二: 情景三: 2.导入模块 Python之所以应用越来越广泛,在一定程度上…
configparser模块 config:配置,parser:解析.字面意思理解configparser模块就是配置文件的解析模块. 来看一个好多软件的常见文档格式如下: [DEFAULT] # 标题性的东西, # 下面四组键值对是关于[DEFAULT]的介绍 ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.…
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺点.当然,它也不是直接就可以调用,需要我们对c代码进行一些中间过程处理,其基本流程如下: 1.创建c程序功能代码------------1.1创建.c源程序文件(py_test1.c) ------------1.2创建.h头文件(py_test1.h)2.python类型适配,包装c代码(写包裹文…
什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. mark:我们可以把所有的算法想象为一本“菜谱”,特定的算法比如菜谱中的的一道“老醋花生米”的制作流程,只要按照菜谱的要求制作老醋花生米,那么谁都可以做出一道好吃的老醋花生米.so,这个做菜的步骤就可以理解为:“解决问题的步骤” 2.算法的意义 假设计算机无限快,并且计算机存储容器是免费的,我们还…
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. Requests          …
数据库索引 一.索引简介 索引在mysql中也叫做"键",是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要: 索引优化应该是对查询性能优化最有效的手段了: 索引能轻易将查询性能提高好几个数量级: 索引相当于字典的音序表,如果要查某个生字,如果不使用音序表,则需要从几百页中一个个查找,效率太低. 索引特点:创建与维护索引会消耗很多时间与磁盘空间,但查询速度大大提高: 二.索引语法 --创建表时 --语法: C…
一.subprocess模块 subprocess英文意思:子进程 那什么是进程呢? (一)关于进程的相关理论基础知识 进程是对正在运行程序的一个抽象,进程的概念起源于操作系统,是操作系统最核心的概念,操作系统的其他所有内容都是围绕进程的概念展开的. 所以想要真正了解进程,必须事先了解操作系统. 程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以…
函数的理解 面向过程:根据业务逻辑从上到下垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 函数作用是你的程序有良好的扩展性.复用性. 同样的功能要是用3次以上的话就建议使用函数. 特殊理解: 函数可以理解为一个一个的功能块,你把一个大的功能拆分成一块一块的,用某项功能的时候就去调用某个功能块即可! 函数可以理解为:乐高积木,给你一块一块的,你可以用这些积木块组成你想要的任何功能! 函数可以调用函数!主函数的作用就是把函数进行串联.调用!函数本身是不能自己执行的如果不…
今日内容概要 1.高性能相关 2.scrapy初识 上节回顾: 1. Http协议 Http协议:GET / http1.1/r/n...../r/r/r/na=1 TCP协议:sendall("GET / http1.1/r/n...../r/r/r/na=1") 2. 请求体 GET: GET / http1.1/r/n...../r/r/r/n POST: POST / http1.1/r/n...../r/r/r/na=1&b=2 POST / http1.1/r/n.…
面向过程的编程 面向过程:根据业务逻辑从上到下写垒代码! 例子: 需求一.有一个程序需要做身份认证: 用户名有个字典: #定义一个用户名信息字典 user_info = { "zhangsan":"mima1", "lisi":"mima2", "wangwu":"mima3", } 现在做登录判断: user_input = raw_input("\033[32;1m请输入您…
Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/env python #coding:utf-8     import socket     def handle_request(client):     buf = client.recv(1024)     client.…
Python3 字符串 字符串是一个有序的字符序列 如何表示一个字符串: 在非注释中凡是用引号括起来的部分都是字符串: ‘  单引号     ”  双引号      ‘’‘  三单引号    “”“  三双引号 非空字符串中的表示方法: ‘hello’  .   “hello”  .  “”“hello”“”  . ‘’‘hello’‘’ 单引号和双引号三引号的区别: 单引号内的双引号不算结束符: 双引号内的单引号不算结束符: 三引号字符串,也叫所见即所得字符串,               …
什么是反射? 反射的概念是由Smith在1982年提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成就. 四个可以实现自省的函数,是Python的内置函数 下列方法适用于类和对象 先看这四个方法对实例(b1)的使用 # 演示代码 class BlackMedium: feature = 'Ugly' def __init__(self, nam…
序言 搭建MySQL环境MySQL Server. 请参考:https://blog.csdn.net/m0_37788308/article/details/79965378 或者 https://blog.csdn.net/qq_20788055/article/details/80372577 安装MySQL Workbench数据库管理工具. 请参考:http://www.xitongcheng.com/jiaocheng/win10_article_40089.html MySQL W…