- 博客(71)
- 收藏
- 关注
原创 python 类继承、多重类继承
遇到的问题项目中遇到多重类继承的问题,想调用父类构造函数中的内容,爆出如下错误说不存在某个父类的函数; 报MRO列表错误;我们的目的是想在子类中调用父类的某个已经被覆盖的方法解决方案为了调用父类(超类)的一个方法,可以使用super()函数,比如class A: def spam(self): print('A.spam')class B(A): def spam(self): print('B.spam') ..
2021-04-06 15:58:26
330
原创 python 类的类方法、实例方法和静态方法
一、python 类语法中有三种方法,实例方法,静态方法,类方法。1、python中self,cls的区别普通实例方法,第一个参数需要是self,它表示一个具体的实例本身。 如果用了staticmethod,那么就可以无视这个self,而将这个方法当成一个普通的函数使用。 而对于classmethod,它的第一个参数不是self,是cls,它表示这个类本身。# coding:utf-8class Foo(object): """类三种方法语法形式""" def inst
2021-04-01 14:00:02
816
转载 python __str__和__repr__的区别
Python有一个内置的函数叫repr,它能把一个对象用字符串的形式表达出来以便辨认,这就是“字符串表示形式”。repr就是通过__repr__这个特殊方法来得到一个对象的字符串表示形式。如果没有实现__repr__,当我们再控制台里打印一个变量的实例时,得到的字符串可能会是<__main__.Object at 0x14af07dbe80>,这个表示的是打印的对象,以及对象的内存地址现在让我们看看__str__和__repr__这两个方法有什么区别首先定义一个类class Vec
2021-03-25 16:04:50
431
原创 Python @property 装饰器的使用
@property 装饰器@property 语法糖提供了比 property() 函数更简洁直观的写法。被 @property 装饰的方法是获取属性值的方法,被装饰方法的名字会被用做 属性名。 被 @属性名.setter 装饰的方法是设置属性值的方法。 被 @属性名.deleter 装饰的方法是删除属性值的方法以下示例代码与使用property()函数版本的代码等价:class Student: def __init__(self): self._age =..
2021-03-25 15:44:07
294
2
原创 Python 的statistics模块
统计模块statistics方法介绍statistics.mean(data)就是平均值 支持的输入非常多,包括fractions模块和decimal模块>>> mean([1, 2, 3, 4, 4])2.8>>> mean([-1.0, 2.5, 3.25, 5.75])2.625>>> from fractions import Fraction as F>>> mean([F(3, 7), F(1,
2021-03-25 15:16:00
343
原创 python 获取系统信息
python是跨平台语言,有时候我们的程序需要运行在不同系统上,例如:linux、MacOs、 Windows,为了使程序有更好通用性,需要根据不同系统使用不同操作方式。我们可以使用platform模块来获取系统信息。platform是python自带模块,我们可以直接使用,下面来介绍这个模块:导入模块:import platform常用方法 方法 说明 platform.platform() 获取操作系统及版本信息 platform...
2021-03-12 15:27:00
1014
原创 python代码混淆
1 背景在一些使用python的商业项目上,开发人员不想被用户看到源代码时,就需要对python代码进行加密。这里提供一种代码加密的思路。2 代码加密众所周知,python是一种开源的编程语言,在开源的语言上做加密,加密效果肯定不如编译性语言的加密效果好,其逆向工程的难度会比编译性语言的逆向工程简单,按照这个思路,既然编译性语言c/c++的逆向工程难,那么为何不先把python编译成c/c++代码,然后再加密呢?根据经验这样是可行的,且这样加密的代码比那些编译成pyd文件或者打包成exe的方
2021-03-12 14:37:08
3110
原创 python标准库之glob介绍
glob文件名模式匹配,提供了一个函数用于从目录通配符搜索中生成文件列表,不用遍历整个目录判断每个文件是不是符合。1 、通配符星号(*)匹配零个或多个字符import glob for name in glob.glob('./test/*'): print(name)执行结果:./test/other./test/test_3.py./test/test_4.py./test/test_2.py./test/test_1.py列出子目录中的文件,必须在模.
2021-03-11 16:40:22
244
原创 Python操作Redis
Python操作Redis1、基本介绍redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别
2020-12-22 17:17:06
238
原创 Python_day25--Flask插件:Flask-SQLAlchemy、Flask-Bootstrap
一、Flask-SQLAlchemy1、ORM 框架 Web开发中,一个重要的组成部分便是数据库了。Web程序中最常用的莫过于关系型数据库了,也称SQL数据库。另外,文档数据库(如 mongodb)、键值对数据库(如redis)近几年也逐渐在 web开发中流行起来,我们习惯把这两种数据库称为NoSQL数据库。大多数的关系型数据库引擎(比如MySQL、Postgre...
2018-07-18 23:48:50
663
原创 Python_day23--jinja2、过滤器、自制过滤器、宏、Time模块、模板的继承
一、Jinja2简介Jinja2是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛。jinja2使用BSD授权。例:<title>{% block title %}{% endblock %}</title><ul>{% for...
2018-07-13 17:59:39
1646
原创 Python_day22--flask简介
一、什么是FlaskFlask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。二、安装FlaskFlask 依赖两个外部...
2018-07-13 03:37:19
463
原创 Python_day21--BOM和DOM详解、HTML事件属性、JS阶段性总结、全选与全不选、省市二级联动、动态添加城市、年月日联动
一、BOM和DOM详解BOM和DOM详解二、HTML事件属性1、windos对象针对 window 对象触发的事件(应用到 <body> 标签):onafterprint文档打印之后运行的脚本。onbeforeprint文档打印之前运行的脚本。onbeforeunload文档卸载之前运行的脚本。onerror在错误发生时运行的脚本。onhaschange当文档已改变时运行的脚本。onl...
2018-07-06 21:10:43
444
原创 Python_day21--练习--点亮灯泡、表格隔行变色
一、点亮灯泡<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>01_点亮灯泡</title> <script> function light()
2018-07-06 17:28:18
540
原创 Python_day21--onclick轮播图、文本框内容拷贝、onload轮播图、有广告的轮播图、登陆页面进阶版
一、轮播图--触发事件onclick诉求:在淘宝广告位上经常能够看到图片的自动播放,以及手动切换图片;我们先达到最基本的要求,点击按钮实现图片的轮播切换;onclick 属性由元素上的鼠标点击触发。注释:onclick 属性不适用以下元素:<base>、<bdo>、<br>、<head>、<html>、<iframe>、<...
2018-07-06 17:16:37
605
原创 Python_day21--div、西开的网站重构、左侧、水平导航栏
一、div简介1、定义<div> 可定义文档中的分区或节(division/section)。<div> 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。如果用 id 或 class 来标记 <div>,那么该标签的作用会变得更加有效。2、用法<div> 是一个块级元素。这意味着它的内容自动地开始一个新行...
2018-07-05 18:59:05
593
原创 Python_day20--css之元素选择器、类选择器、id选择器、层级选择器、属性选择器
一、什么是CSS1、概念层级样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。[1] CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样...
2018-07-04 21:23:04
794
原创 Python_day19--HTML基础--序列化标签、表格标签、表单标签
一、序列化标签(一)无序列表1、<ul> 标签定义无序列表2、<li> 标签定义列表项,有序列表和无序列表中都使用 <li> 标签例1:单层列表<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">
2018-06-28 16:07:23
484
原创 Python_day19--HTML基础--文本标签、超链接标签、图片标签
一、什么是Web开发 最早的软件都是运行在大型机上的,软件使用者通过“哑终端”登陆到大型机上去运行软件。后来随着PC机的兴起,软件开始主要运行在桌面上,而数据库这样的软件运行在服务器端,这种Client/Server模式简称CS架构。随着互联网的兴起,人们发现,CS架构不适合Web,最大的原因是Web应用程序的修改和升级非常迅速,而CS架构需要每个客户端逐个升级桌面App,因此,Brows...
2018-06-27 20:56:18
1011
原创 Python_day19--Webstorm的安装
一、下载Webstorm的安装包上官方网站下载http://www.jetbrains.com/webstorm/download/#section=linux二、解压压缩包tar xf 压缩包的名称 -C /opt(这里是你要解压到的目录)三、安装阅读这个 Install-Linux-tar.txt文件通过这个文件我们可以看到进入到bin目录执行这个./webstorm.sh就可以运行这个程序...
2018-06-27 15:13:52
1988
原创 Python_day18--爬取猫眼网TOP-100
import jsonimport requestsimport refrom requests.exceptions import RequestException#请求单页def get_one_page(url): try: headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0...
2018-06-22 21:01:51
225
原创 Python_day18--分布式进程管理
一、分布式进程管理端import randomfrom queue import Queuefrom multiprocessing.managers import BaseManager# 1. 创建任务队列和任务执行结果的队列task_queue = Queue()result_queue = Queue()# 2. 将队列通过网络暴露出去,让其他主机可以访问到队列;cla...
2018-06-22 20:17:56
212
原创 Python_day17--正则表达--分组,贪婪匹配,切分字符串,爬取贴吧的邮箱
一、分组除了简单地判断是否匹配之外,正则表达式还有提取子串的强大功能。用 () 表示的就是要提取的分组(Group)例如:^(\d{3})-(\d{3,8})$ 分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码:m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')print(m)print(m.group(0))print(m.gr...
2018-06-21 20:52:53
381
原创 Python_day17--正则表达--基础语法,re模块(一),电话、邮箱匹配
一、什么是正则表达字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的 Email 地址,虽然可以编程提取 @ 前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该...
2018-06-21 19:15:38
6837
原创 Pyhton_day17--协程
一、异步IO1、为什么要使用异步IO在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件、发送网络数据时,就需要等待IO操作完成,才能继续进行下一步操作。这种情况称为同步IO。在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了。因为一个IO操作就阻塞了当前线程,导致其他代码...
2018-06-20 20:10:28
305
原创 Python_day17--进程和线程的比较、计算密集型和IO密集型
一、多线程与多进程的优缺点多进程和多线程,这是实现多任务最常用的两种方式。首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。如果用多线程实现Master-Worker,主线程就...
2018-06-20 14:34:20
525
原创 Python_day16--多进程
一、什么是多进程要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。Unix/Linux操作系统提供了一个fork() 系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID...
2018-06-16 22:08:03
267
原创 Python_day16--多线程
一、什么是多线程多任务可以由多进程完成,也可以由一个进程内的多线程完成。我们说进程是由若干线程组成的,一个进程至少有一个线程。由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。Python的标准库提供了两个模块: _thread 和 threading , ...
2018-06-15 15:36:24
303
原创 Python_自动提醒带伞系统简单模型
代码概述:通过去指定的天气网站抓取本地当天信息,并且提取相关字段从而来判断是否要去带伞,并且发送邮件给指定用户;import jsonfrom urllib import requestfrom urllib.request import urlopenimport smtplibfrom email.mime.text import MIMETextfrom emilconf impo...
2018-06-12 20:47:41
790
原创 Python_day15--发送邮件
一、SMTP 发送邮件SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。二、邮箱的准备工作声明:本作者在这里时用163邮箱作为发送端,因为163邮箱的授权密码是一次设定成功后无需修改的,相对我们的实验来说更简单1、开启2、开...
2018-06-12 19:55:53
585
原创 Python--银行转账系统的简单实现
银行转账时,本质就是对数据库中的数据进行加减法,但是当我们在转账的中途突然断电了怎么办,这里就需要用到数据库的执行事务。 事务机制可以保证数据的一致性。 失误应该具有4个属性:原子性、一致性、隔离性、持久性。这四个数次那个通常称为ACID特性。 *原子性(atomicity)。一个事物是一个可分割的工作单位,事物中包括的诸操作要么都做,要么都不做。 ...
2018-06-07 21:00:08
3001
原创 Python_day13--批量更新、数据库的封装、存储和读取照片、mysql远程备份
一、批量更新前面我们产生了一些表单,username和passwd,当我们需要批量的修改时;import pymysqlfrom colorFont import *#连接数据库conn = pymysql.connect(host='localhost',user='root',passwd='yutao', db='yutao',chars...
2018-06-07 18:52:37
2135
原创 Python_day13--mysql的连接数据库、写入单条或批量写入操作、读取表中的数据
一、创建与数据库的连接首先我们要导入pymysql模块1、创建连接、conn = pymysql.connect(host = 'loclhost', user = 'root', passwd = 'yutao',db = 'yutao',charset = 'utf8')创建游标,给数据库发送sql语句/指令;cur = conn.cursor()2、给数据库发送指令1)首先创建一个表名字为:...
2018-06-05 20:32:59
2777
1
原创 Python_day13--mariadb的安装、mysql基础语句
一、认识mariadb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。MariaDB由MySQL的创始人Michael Widenius(英语:Michael ...
2018-06-05 18:01:56
412
原创 Python--双人版2048(改善版)
注:此代码需要在shell下运行import cursesfrom itertools import chainfrom random import choice, randint# 创建一个游戏类class Gamefiled(object): # 游戏文件的属性 def __init__(self, width=4, height=4, win_value=2048): s...
2018-06-04 19:34:23
640
1
原创 Python--汽车管理系统
1,定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡) 、到达的时间和离开的时间等信息和相关的对属性做操作的行为。2,定义一个管理类,完成对停车场的管理。停车场的具体要求:设停车场 是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车 在停车场内按门外的便道上等待,一旦有车开走,则排在便道上的第一 辆车即可开入;每辆停放在车场的车在它离开...
2018-06-01 19:12:34
4878
2
原创 Python_da12--2048作业
一、基础版本流程图:设计思路:游戏分为<初始化init><游戏中game><胜利win><失败gameover>四个状态;main函数中主要有init函数,game函数和not_game函数,函数的返回值作为字典的key值,函数作为value值生成字典,循环捕获key值,通过key值的变化来调用函数,使整个程序循环运转!1).init函数初始...
2018-06-01 19:04:02
252
原创 Python_day11--异常处理(捕获异常、抛出异常)
一、抛出一个错误码在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数 open() ,成功时返回文件描述符(就是一个整数),出错时返回 -1。 用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出...
2018-05-31 20:04:14
2132
原创 Python——day11--anaconda的安装以及使用
一、什么是ananconda anaconda指的是一个开源的python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大(约 515 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。二、安装anaconda1、从官网下载Lin...
2018-05-30 16:37:21
393
原创 Python_day10--format
一、format函数format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 2.单个参数可以多次输出,参数顺序可以不相同 3.填充方式十分灵活,对齐方式十分强大 4.官方推荐用的方式,%方式将会在后面的版本被淘汰1、通过位置来填充字符...
2018-05-23 20:54:37
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人