Python

Python深入学习之特殊方法与多范式

Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式、声明式等,我们暂不深入)。Python的多范式依赖于Python对象中的特殊方法(specialmethod)。特殊方法名的前后各有两个下划线。特殊方法又被成为魔法方法(magicmethod),定义了许多Python语法和表达方式,正如我们在下面的例子中将要看到的。

系统 2019-09-27 17:45:48 2027

Python

Python 实现文件的全备份和差异备份详解

Python实现文件的全备份和差异备份之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题:md5sum获取有些软连接的MD5值存在问题不支持对空目录进行备份,因为md5sum无法获取空目录的md5值权限的修改md5sum无法判断解决方案:利用文件的mtimectimemtime(Modifiedtime)是在写入文件时随文件内容的更改而更改的ctime(Createtime)是在写入文件、更改所有者、权限或链接设置时随Inode的内容更

系统 2019-09-27 17:45:28 2027

Python

初步认识Python中的列表与位运算符

Python列表List(列表)是Python中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。列表用[]标识。是python最通用的复合数据类型。看这段代码就明白。列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:#!/usr/

系统 2019-09-27 17:38:44 2027

Python

利用python批量检查网站的可用性

前言随着站点的增多,管理复杂性也上来了,俗话说:人多了不好带,我发现站点多了也不好管,因为这些站点里有重要的也有不重要的,重要核心的站点当然就管理的多一些,像一些万年都不出一次问题的,慢慢就被自己都淡忘了,冷不丁那天出个问题,还的手忙脚乱的去紧急处理,所以规范的去管理这些站点是很有必要的,今天我们就做第一步,不管大站小站,先统一把监控做起来,先不说业务情况,最起码那个站点不能访问了,要第一时间报出来,别等着业务方给你反馈,就显得我们不够专业了,那接下来我们

系统 2019-09-27 17:38:21 2027

Python

Python实现的检测网站挂马程序

系统管理员通常从svn/git中检索代码,部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员第一时间发现,可结合crontab或nagios等工具。程序测试如下:#pythoncheck_change.pyUsage:pythoncheck_change.pyupdate/home/wwwrootpythoncheck_change.pycheck/

系统 2019-09-27 17:38:00 2027

Python

leetcode 汉明距离 - python3

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注意:0≤x,y<231.classSolution:defhammingDistance(self,x:int,y:int)->int:x_str=str(bin(x)).replace('0b','')y_str=str(bin(y)).replace('0b','')max_len=max(len(x_str),len(y_str))x_s

系统 2019-09-27 17:56:07 2026

Python

Python面向对象特殊成员

类的特殊成员之call#!/usr/bin/envpython#_*_coding:utf-8_*_classSpecialMembers:#类的构造方法def__init__(self):print("MyBlogisUrl:http://yw666.blog.51cto.com")#对象的构造方法def__call__(self):print("MyNameis:Yangwen")#创建一个对象,并且执行类的构造方法obj=SpecialMembers

系统 2019-09-27 17:56:02 2026

Python

【python】python进程、线程、协程和什么时候使用

原文链接:https://blog.csdn.net/bandaoyu/article/details/90583629(现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里https://www.cbedai.net/ialexanderi可以跳转到教程。)说明进程:是操作系统进行资源分配的最小单元,资源包括CPU、内存、磁

系统 2019-09-27 17:54:55 2026

Python

Python使用py2exe打包程序介绍

一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32comclient和server,和其它的独立程序。py2exe是发布在开源许可证下的。二、安装py2exe从http://prdownloads.sourceforg

系统 2019-09-27 17:54:15 2026

Python

如何使用Python 打印各种三角形

直角三角形rows=int(input('输入列数:'))foriinrange(1,rows):print('*'*i)foriinrange(1,rows):forjinrange(i):print("*",end="")print("")等腰直角三角形rows=int(input('输入列数:'))foriinrange(1,rows):print('*'*i)foriinrange(1,rows):forjinrange(1,i+1):print(

系统 2019-09-27 17:54:09 2026

Python

基于python时间处理方法(详解)

在处理数据和进行机器学习的时候,遇到了大量需要处理的时间序列。比如说:数据库读取的str和time的转化,还有time的差值计算。总结一下python的时间处理方面的内容。一、字符串和时间序列的转化time.strptime():字符串=>时间序列time.strftime():时间序列=>字符串importtimestart="2017-01-01"end="2017-8-12"startTime=time.strptime(start,"%Y-%m-%

系统 2019-09-27 17:54:04 2026

Python

Python 常见函数的基本使用(边学边更)

最近在学习Python,所谓好记性不如烂笔头故借这次学习机会做个笔记,方便今后快速再学习。以下是常见函数的使用说明:range函数该函数用于创建数列,根据参数个数不同对应不同的用法进行说明(1)range(a,b,c)三个参数时,表示创建一个从a~b-1的数组,每c个数取一个值。当c=1时,可省略c,即用法等同于(2)(2)range(x,y)两个参数时,表示创建一个从a~b-1的数组,一共b-a个元素。当x=0时,可省略y,用法等同于(1)(3)rang

系统 2019-09-27 17:53:51 2026

Python

019 Python与用户交互

目录Python3的控制台输入Python2的控制台输入大家知道一门语言或者说电子硬件设备都应该有输入和输出的部分python控制台输出使用的是print()。那么输入呢?Python3的控制台输入name=input("请输入你的姓名:")print(name)print(type(name))​输出信息:​请输入你的姓名:xucheng​name​age=input("请输入你的年龄:")print(age)print(type(age))​输出信息:

系统 2019-09-27 17:53:32 2026

Python

Python连接mssql数据库编码问题解决方法

python一直对中文支持的不好,最近老遇到编码问题,而且几乎没有通用的方案来解决这个问题,但是对常见的方法都试过之后,发现还是可以解决的,下面总结了常用的支持中文的编码问题(这些方法中可能其中一个就能解决问题,也可能是多个组合)。(1)、首先,要保证文件的开头要加上编码设置来说明文件的编码复制代码代码如下:#encoding=utf-8(2)、然后,在连接数据的连接参数里加上字符集说明查询出的结果的编码,这个不加的后果可能是查询出的汉字字符都是问号复制代

系统 2019-09-27 17:53:20 2026

Python

python 并发编程 非阻塞IO模型原理解析

非阻塞IO(non-blockingIO)Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blockingsocket执行读操作时,流程是这个样子:从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会block用户进程,而是立刻返回一个error。从用户进程角度讲,它发起一个read操作后,并不需要等待,而是马上就得到了一个结果。用户进程判断结果是一个error时,它就知道

系统 2019-09-27 17:53:07 2026