
python基础
文章平均质量分 54
辉辉咯
技术才是硬实力
展开
-
python微信机器人pc端
相信很多玩python的都知道,以前有个第三方库可以操作微信,实现自动回复等等功能,其原理是用https进行通信的, 但是现在大部分微信都不能登录网页版了,很多好玩的项目都受到了影响。因此,我来了。通过截取电脑版微信的消息可以做到功能更全面的效果,项目地址:https://github.com/huihuilo/pchatpchat微信pc端python代码操控(欢迎提出问题,作者尽最大努力改进)先点个赞吧背景很多系统有监控群聊消息的需求 大部分微信都登录不了网页版,python操纵原创 2020-11-20 18:30:42 · 3833 阅读 · 4 评论 -
python实现可以相加的类对象
在python中大部分数据类型都可以相加,比如:字符串,列表,元组,整型等等。那么我们自己实现的类,怎么使其能够相加?字符串,列表,元组等等也是一个对象,在python中一切皆对象嘛,之所以这些对象支持相加,是因为其内部实现了__add__这个魔法方法。可以查看这些对象的源码,发现都有实现了__add__方法: def __add__(self, *args, **kwargs...原创 2020-02-09 17:17:42 · 5353 阅读 · 1 评论 -
python中import导入模块的相关问题
1. import 搜索路径import_module_1.pyimport sysprint(sys.path)'''import的搜索路径:从上往下依次进行搜索['/home/longhui/Desktop/core_python_programming/venv/include/python_advanced_programming', '/home/longhui/Deskt...原创 2018-05-08 15:52:36 · 270 阅读 · 0 评论 -
python中的类属性、实例属性
想要真正的掌握python,python中的类是必不可少的内容,真正的理解透它不是一件容易的事情。类属性和实例属性:class Foo(object): a = 1 def __init__(self): # self 指向实例对象 self.a = 2 print 'self.__class__.a: %s' % self...原创 2018-08-19 12:02:38 · 202 阅读 · 0 评论 -
python比较字符串相似度
python自带比较相似度的模块,difflib。比较两个字符串的模块是difflib.SequenceMatcher,使用起来很简单:import difflibdef string_similar(s1, s2): return difflib.SequenceMatcher(None, s1, s2).quick_ratio()print string_similar(...原创 2018-08-30 00:43:43 · 40054 阅读 · 2 评论 -
python中“当前目录”的坑
在开发的过程中时常会用到文件的路径,路径无非就两种:绝对路径和相对路径绝对路径:G:\Works\projects\tests\string_similar.py相对路径:./string_similar.py(当前路径为:G:\Works\projects\tests) 然而在python中,当前路径的这个当前,是指执行操作的所在位置with open('....原创 2018-09-05 00:34:54 · 430 阅读 · 0 评论 -
python os.path模块常用方法详解
os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html1.os.path.abspath(path) 返回path规范化的绝对路径。>>> os.path.abspath('test.csv') 'C:\\Python...原创 2018-09-03 23:53:27 · 167 阅读 · 0 评论 -
python内置函数filter过滤器
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。注意: Pyhton2.7 返回列表,Python3.x 返回迭代器对象import jsonitems = [ ...原创 2018-09-13 00:02:51 · 443 阅读 · 0 评论 -
python字典更新时出现value为None的情况
字典在python中是非常重要的一种结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。大多数的情况下,更改字典里key对应的值,会使用重新赋值的方法person = {'name': 'jack', 'age': 18}print personperson['name'] = 'jhon' # 修改字典的值print person运行结果{'age': 18...原创 2018-09-17 21:54:07 · 9438 阅读 · 2 评论 -
scrapy中meta的一个坑点
scrapy的meta的作用就是在执行scrapy.Request()函数时把一些回掉函数中需要的数据传进去,meta必须是一个字典,在下一个函数中可以使用response.meta防问,这里需要注意的是,meta传递的数据是浅拷贝传递的,如果传递的数据是可变的数据类型,那么很容易造成数据不对应的错误,以下是本人在工作中的遇到此问题的代码片段: def parse_jinyan(sel...原创 2018-10-17 21:08:00 · 4284 阅读 · 1 评论 -
python2.7利用reduce函数将列表中的多个字典根据某个vaule去重
先介绍reduce()函数的用法描述reduce() 函数会对参数序列中元素进行累积。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。语法reduce() 函数语法:reduce(fun...原创 2018-10-15 23:22:28 · 1424 阅读 · 1 评论 -
用虚拟机搭建服务器,并通过ssh连接,并安装python3.6
1. 首先下载虚拟机:VMware Workstation Pro 14.1.3 Build9474260https://download3.vmware.com/software/wkst/file/VMware-workstation-full-14.1.3-9474260.exeVMware Workstation Pro12.5.9 Build 7535481https://d...原创 2019-05-01 11:25:45 · 1358 阅读 · 0 评论 -
有关python实例属性,类属性,可变数据类型,不可变数据类型的一道面试题
问题:请写出以下代码的输出结果class Person: childrens = 1 #类属性 def __init__(self): passt1 = Person() #实例对象t2 = Person() #实例对象t2.childrens = 2 #实例属性print('p1: ', t1.childrens)print('p2: ', ...原创 2019-05-14 17:04:50 · 513 阅读 · 0 评论 -
[python]你真的理解open函数吗?
open函数是python的一个内置函数,用于打开一个文件,创建一个 file 对象。但是,你真的懂open函数吗?先来看看网上的教程:函数语法open(name[, mode[, buffering]])参数说明: name : 一个包含了你要访问的文件名称的字符串值。 mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全...原创 2019-08-25 23:30:40 · 373 阅读 · 0 评论 -
【拓展】 python3中类的重点与难点:类继承中的私有属性和私有方法
私有属性、方法——Python并没有真正的私有化支持,但可用下划线得到伪私有尽量避免定义以下划线开头的变量 (1)xxx 公有变量(2)_xxx "单下划线 " 开始的成员变量叫做保护变量,意思是只有类对象(即类实例)和子类对象自己能访问到这些变量,需通过类提供的接口进行访问;不能用'from module import *'导入 (3)__xxx 类中的私有变量/方法名...原创 2018-05-04 18:21:30 · 816 阅读 · 1 评论 -
python多线程与多进程的概念与区别
转自:https://www.cnblogs.com/zingp/p/5878330.html1.什么是线程? 线程是操作系统能够进行运算调度的最小单位(程序执行流的最小单元)。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆...转载 2018-03-14 21:29:41 · 4681 阅读 · 0 评论 -
python的时间模块
time模块:import timetime.clock() # 第一次调用,浮点数形式返回当前CPU运行时间time.sleep(1)print(time.clock()) # 第二次调用,浮点数的形式返回距离上次调用该函数至此次的时间间隔# 1.000666284344328print(time.localtime()) # 如果没有传入参数,则直接返回当前本地时间的时间元组#...原创 2018-03-05 13:57:41 · 968 阅读 · 0 评论 -
Python的hasattr() getattr() setattr() 函数使用方法详解
hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True,否则返回False。需要注意的是name要用括号括起来 1 >>> classtest(): 2 ... name="xiaohua" 3 ... def run(self): 4 ... return"He...转载 2018-03-05 14:02:24 · 208 阅读 · 0 评论 -
使用seek()方法报错:“io.UnsupportedOperation: can't do nonzero cur-relative seeks”错误的原因
python文件操作中seek()方法:语法seek() 方法语法如下:fileObject.seek(offset[, whence]).seek(offset[, whence])参数 offset -- 开始的偏移量,也就是代表需要移动偏移的字节数 whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头...转载 2018-03-19 20:50:09 · 4403 阅读 · 0 评论 -
python3中类的重点
__new__和__init__的区别:__init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。也就是,__new__在__init__之前被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。"魔法"方法: ...原创 2018-03-20 22:27:37 · 316 阅读 · 0 评论 -
python3中类的重点与难点:类属性和实例属性的区别
先看图理解:类属性就相当与全局变量,实例对象共有的属性,实例对象的属性为实例对象自己私有。类属性就是类对象(Tool)所拥有的属性,它被所有类对象的实例对象(实例方法)所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似。对于公有的类属性,在类外可以通过类对象和实例对象访问类属性class People(object): name = 'Tom...原创 2018-03-20 23:22:06 · 17775 阅读 · 2 评论 -
python3中类的重点与难点:类继承中的私有属性和私有方法
私有属性和私有方法是类独自私有的,不能在外面直接调用,但是可以使用类中的实例方法(普通方法)间接调用。但是在继承中又会怎么样呢?在继承中,如果调用的是继承父类的公有方法,可以在公有方法中访问父类中的私有属性和私有方法;但是如果子类中实现了一个公有方法,那么这个方法是不能够调用继承父类中的私有方法和私有属性。打个比方:你父亲的那个家庭是一个父类(A类),你自己的一个家庭是一个子类(B...原创 2018-03-21 08:47:53 · 2864 阅读 · 0 评论 -
python3中类的重点与难点:实例方法、类方法与静态方法
静态⽅法和类⽅法1. 类⽅法是类对象所拥有的⽅法,需要⽤修饰器 @classmethod 来标识其为类⽅法,对于类⽅法,第⼀个参数必须是类对象,⼀般以 cls 作为第⼀个参数(当然可以⽤其他名称的变量作为其第⼀个参数,但是⼤部分⼈都习惯以'cls'作为第⼀个参数的名字,就最好⽤'cls'了),能够通过实例对象和类对象去访问。class People(object): c...原创 2018-03-21 09:02:14 · 5310 阅读 · 1 评论 -
python3中类的重点与难点:__new__方法与__init__方法
构造方法包括创建对象和初始化对象,在python当中,分为两步执行:先执行__new__方法,然后执行__init__方法; __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。 __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。 也就是,__new__在__init__之前被调用,__new...原创 2018-03-21 12:54:17 · 21433 阅读 · 6 评论 -
python3中类的重点与难点:单例模式
单例模式1. 单例是什么举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站只能有一个实例,整个系统都使用这个唯一的实例,而且回收站自行提供自己的实例。因此回收站是单例模式的应用。确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,单例模式是一种对象创建型模式。2. 创建单例-保证只有1个对象# 实例化一个单例...原创 2018-03-21 14:15:20 · 1341 阅读 · 0 评论 -
python实现斐波那契数列
'''斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........这个数列从第3项开始,每一项都等于前两项之和。'''month1 = int(input('输入月数:'))month2 = mo...原创 2018-04-11 16:57:23 · 456 阅读 · 0 评论 -
python中==、is的区别和深拷贝、浅拷贝的区别
1. == 与 is 的区别:In [9]: a = [100,200,300]In [10]: b = [100,200,300]In [11]: a is bOut[11]: FalseIn [12]: a == bOut[12]: Trueis 是比较两个引用(地址)是否指向了同一个对象(引用比较)。== 是比较两个对象是否相等,值相等的两个对象内存地址不一定相等In [1...原创 2018-05-08 20:33:51 · 254 阅读 · 1 评论 -
python中的进制、位运算
进制间的转换编程用十进制,十进制转换为二进制、八进制、十六进制In [135]: bin(23)Out[135]: '0b10111'In [136]: oct(23)Out[136]: '0o27'In [137]: hex(23)Out[137]: '0x17'也可以直接反向获取十进制In [146]: 0b10111Out[146]: 23In [147]: 0o27O...原创 2018-05-08 20:49:13 · 4292 阅读 · 2 评论 -
python多线程与多进程中join()作用详解
Python多线程与多进程中join()方法的效果是相同的。下面以多线程为例:join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程再终止没有join的情况下:import threadingimport timedef run(): time.sleep(2) print('当前线程的名字是: ', threading...原创 2018-03-14 22:12:56 · 4815 阅读 · 0 评论