Python
望向缸外的大眼睛
这个作者很懒,什么都没留下…
展开
-
Don't repeat yourself温故而知新
import requests, refrom urllib.parse import urljoin# 写文件def fileWrite(title, message, name): with open(name + ".txt", "a+") as f: f.write(title + "\n" + message + "\n") print(ti...原创 2019-05-26 12:02:54 · 327 阅读 · 0 评论 -
Python3 单元测试
# 单元测试, 保留, 项目用到查class Dict(dict): def __init__(self, **kw): super().__init__(**kw) def __getattr__(self, key): try: return self[key] except KeyError: ...原创 2019-03-29 05:16:34 · 3014 阅读 · 0 评论 -
Python3 socket Web编程
代码:import socketsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.bind(("localhost", 8000))sock.listen(2)while True: fd, addr = sock.accept() ls = fd.recv(65530) print(ls)...原创 2019-04-11 14:48:26 · 2476 阅读 · 0 评论 -
Python3定制类
Python3 定制类:说到定制类, 肯定要先讲类是怎么在内存中建立的?提到这个, 就不能不先讲python的万物之源, type(), 其即可判断数据的类型, 在Python中还有一些特殊的功能. 即创建类(type(classname, classParentname, attrs)), 其中由于python支持多继承, classParentname就默认为元组了, 由于attrs是...原创 2019-03-28 20:24:48 · 2783 阅读 · 0 评论 -
Python3异步爬虫(asyncio的速度和串行差不多。。。这)
import asyncio, requests, pymongoimport re, timeclass asycioSpider(object): """docstring for asycioSpider""" headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) ...原创 2019-04-07 20:57:22 · 3441 阅读 · 1 评论 -
Python3 枚举类型
代码: # 枚举类型 from enum import Enum Month = Enum("Month", ("Jan", "Feb", "Mar", "Apr", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")) for name, value in Month.__members__.items(): ...原创 2019-03-28 09:26:58 · 3370 阅读 · 0 评论 -
Python3 粗略计算PI的值
# 计算PI的值import itertoolsdef pi(N): list1 = [] for value in itertools.count(1, 2): if value > N: break list1.append(value) list2 = [4 / value if list1....原创 2019-04-06 17:43:46 · 3746 阅读 · 0 评论 -
python3 login代码
# 散列算法分析用户的账户密码正确与否,正确登录import hashlibdb = { 'michael': 'e10adc3949ba59abbe56e057f20f883e', 'bob': '878ef96e86145580c38c87f0410ad153', 'alice': '99b1c2188db85afee403b1536010c2c9'}def l...原创 2019-04-06 16:43:39 · 3640 阅读 · 0 评论 -
Python3 __slots__在类中的作用
# __slots__用于限定实例可添加的属性class SlotsClass(object): __slots__ = ('name', 'age')SlotsClass.name = "Oliver"SlotsClass.age = 17# 添加一个不存在于__slots__的属性, 结果没有报错, 在slots限定# 下, 可以添加类属性SlotsClass.pho...原创 2019-03-27 22:39:01 · 3441 阅读 · 1 评论 -
Python3 类属性方法外部添加
# 例子一# 导入MethodType模块from types import MethodType# 定义空类class ExampleA(object): pass# 空类实例化examA = ExampleA()# 定义添加的函数def funcExam(self, age): self.age = age# 添加函数examA.funcExam = Met...原创 2019-03-27 22:10:13 · 3702 阅读 · 0 评论 -
Python3 __call__函数的使用
# __call__函数的使用, 将类带有函数属性的功能class Student(object): def __init__(self): self.name = "oliver" def __call__(self): print(self.name)stu = Student()stu()...原创 2019-03-28 08:52:02 · 3084 阅读 · 0 评论 -
python3各种__xxitem__使用
代码:# 各种item的使用方法class ItemTest(object): def __init__(self): self.test = {"me": "I am here!", "who": "Who is there?"} def __getitem__(self, item): print('调...原创 2019-03-28 08:44:17 · 2786 阅读 · 0 评论 -
win10安装pyqt5
Windows10 安装pyqt5失败,提示权限不足,使用python pip install pyqt5即可解决原创 2019-03-28 06:38:24 · 2848 阅读 · 0 评论 -
python__xxx__
slots 限定类中实例的属性str 打印类时自动调用name 模块名称, 当在本模块中运行是name解释为mainiter 返回一个迭代对象next 不断调用迭代对象getitem 获得某一项, 可迭代当不可索引, 定制方法才可以索引.setitem 把对象当做list或dict来对集合赋值delitem 删除某个元素getattr(self, 参数) 如果某属性不存在, 就调...原创 2019-03-28 03:21:53 · 2645 阅读 · 0 评论 -
Python3杂记
1、用list而不是func2、用tuple而不是list3、用iterator而不是list4、class添加__enter__、exit,使用with而不是直接使用。5、用asyncio而不是threading原创 2019-04-08 18:53:26 · 2613 阅读 · 0 评论 -
Python三目运算
python三目运算方式i = []# 如果i是列表类型,则原假设列表类型[]成立, 否则执行else, 变量j的类型变为字典{}或集合{}类型j = [] if isinstance(i, list) else {} #j=5# 如果i是列表类型,则原假设列表类型[]不成立, 否则执行else, 变量j的类型变为字典{}或集合{}类型k = [] if not isinstance(...原创 2019-04-03 09:36:36 · 3008 阅读 · 0 评论 -
下载的电子书,移动太麻烦了, 就写了个脚本(Python3)
import ospath = r"G:\电子书"def movBook(path, movPath): for file in os.listdir(path): dir = os.path.join(path, file) if os.path.isdir(dir): movBook(dir, movPath) else: dirf = os.path.join(...原创 2019-04-25 15:58:17 · 171 阅读 · 0 评论 -
python3 端口扫描
代码:import socketfrom multiprocessing import Pool, Managerdef socket_Exec(task): que, ip, port = task try: print("正在运行的ipaddress", (ip, port)) s = socket.socket(socket.AF_INE...原创 2019-04-19 15:07:54 · 819 阅读 · 0 评论 -
python3 zipfile使用穷举法计算数字密码
代码:import zipfile, random, sysfrom threading import Threaddef zipfileExtract(loadzip, passwd): try: loadzip.extractall(pwd=passwd.encode()) except Exception as e: pass else: return 1def m...原创 2019-04-19 11:50:54 · 300 阅读 · 0 评论 -
python3用装饰器计算函数运行时间
# 装饰器计算函数运行时间def timeCalc(func): import time def run(*args, **kwargs): start = time.time() func(*args, **kwargs) print("程序的运行时间为: {}".format(time.time() - start)) ...原创 2019-04-23 23:03:39 · 975 阅读 · 0 评论 -
Simple Server to transmit page --- python3 socket
import socket, ssl# SimpleServer to transmit Page, but some bug occur.class SimpleServer(object): """docstring for simpleServer""" def __init__(self, adress, exAddr): super(SimpleServer, self)._...原创 2019-04-23 04:43:40 · 92 阅读 · 0 评论 -
Simple Server Demo ---Python3 and socket
import os, socket# Server Main Functiondef server(adress): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(adress) s.listen(5) print("Sever Start: {}".format(adress)) while True: ...原创 2019-04-22 21:22:37 · 90 阅读 · 0 评论 -
Java与Python的不同(更新中)
1、除了变量的定义外,python语法更加接近c, java是纯粹的面向对象的语言;2、构造函数, python构造函数一个类中只能存在一次;Java可以在一个类中使用多次构造函数,以实现不同的功能。3、python中的类变量可以直接用类名调用,多个类实例,其类变量也有多个,并不是如同java中一样,类变量是单独的一个变量且内存中只有一个类变量。他们只是保留了可以用类直接调用这个相同点而...原创 2019-04-27 02:01:27 · 214 阅读 · 0 评论 -
Python3 socket/cchardet每日一练(编码不标准的网页,无法识别)
代码:import socket, cchardetdef htmlText(url, headers=None): if not headers: headers = {'User-Agent': ''} url = url if url[-1] == '/' else url + '/' s = socket.socket(socket.AF_INE...原创 2019-04-17 21:50:53 · 187 阅读 · 0 评论 -
Python3 socket爬虫实现
代码实现: import socket url = 'www.baidu.com' html = '' sendHead = 'GET / HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n' % url sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)...原创 2019-04-14 23:32:03 · 2013 阅读 · 0 评论 -
python3 来一波刷csdn访问量, 你看到的不一定是真实的, 真相永远隐藏在水下
代码:import requests, re, randomvaluesDict = []blogLinks = []# 获取use-agent代理def getUserAgent(url, pattern): res = requests.get(url) res.encoding = res.apparent_encoding values = re.fi...原创 2019-04-13 23:16:38 · 1616 阅读 · 1 评论 -
Python aiohttp多线程并发爬虫
代码:import re, requests, aiohttp, time, random, threading, asyncio, async_timeouturl = r'http://www.xbiquge.la/13/13959/'# 用户代理headers = [{'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 1...原创 2019-04-10 01:02:21 · 4928 阅读 · 0 评论 -
python3 排序
代码:from random import samplea = [sample([i for i in range(10)], 1)[0] for i in range(10)]print(a)def sort(listValue, resultValue=list()): if listValue == []: return resultValue els...原创 2019-04-16 11:24:42 · 256 阅读 · 0 评论 -
python3计算列表长度
代码:a = [i for i in range(10)]def len(a, num=0): num = num + 1 if a[0] == a[-1]: return num else: return len(a[:-1], num)if __name__ == '__main__': print(len(a))...原创 2019-04-16 10:15:54 · 7647 阅读 · 0 评论 -
Python3 socket http/https网页获取
代码:获取http/https协议的网页import socketimport ssldef client(url, charset=None, headers=None): conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 默认添加请求头 if headers == None: headers = 'User-...原创 2019-04-15 22:14:50 · 1574 阅读 · 1 评论 -
Python3继承的方法寻找机制(MRO)
python3继承的方法查找规则, 广度优先遍历父类或父辈之上来寻找.python2经典类寻找的规则是深度优先遍历的规则.问题: 多继承可能存在的问题MRO(MRO(Method Resolution Order):方法解析顺序。)问题, 这个问题的产生主要是同名方法或属性的出现, 使得调用到该方法存在着一个供需信息可能出现不对等的问题....原创 2019-03-28 02:40:10 · 2757 阅读 · 0 评论 -
Python3类中属性判断
巩固结论: __init__函数, 只是多了个自动执行的功能, 但未实例化的时候, 其也是普通函数, 其内部的属性作用域在函数之内, 故而下例查不到类中的__init__中的属性, 但是类实例化之后, 就可以查到了. 也就是,这种属性, 只能被调用后才能检查得到, 因为实例化调用__init__函数后, 其内部的带self.开头的属性, 变成了作用域是实例内部的属性(其他被调用后的函数也一样, ...原创 2019-03-28 01:58:09 · 3106 阅读 · 0 评论 -
PyQt5.12待完成编程环境
代码:(占位置,表示一定要完成所有功能,包括富文本,文字代码提示)进度:原创 2019-03-13 20:11:26 · 2735 阅读 · 0 评论 -
Python3 Qt.SPlashScreen时钟
时钟:原创 2019-03-08 13:34:24 · 2752 阅读 · 1 评论 -
Python爬虫反爬的一种方式
网页异步加载: 通过把异步加载的信息的某些关键字符串作为下一个url的成分一部分, 来实现反爬措施.原创 2019-03-16 14:38:20 · 2810 阅读 · 0 评论 -
PyQt5界面多线程多进程爬虫(爬了600w张网页, 出现了一些问题)
代码:(先占位置)图片:原创 2019-03-19 19:41:56 · 7389 阅读 · 6 评论 -
PyQt5.12计算器
PyQt5.12计算器:import sys, functoolsfrom PyQt5.QtWidgets import (QDialog, QApplication, QPushButton, QHBoxLayout, QVBoxLayout, QLineEdit)from PyQt5.QtCore import QtcalcIn...原创 2019-03-09 22:25:07 · 2813 阅读 · 0 评论 -
PyQt5.12简易计算器
简易计算器代码: import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QWidget, QApplication, QLineEdit, QTextBrowser, QVBoxLayout class calcWin(QWidget): def __init__(self)...原创 2019-03-09 20:44:27 · 2795 阅读 · 0 评论 -
python3 偏函数
Python3 偏函数: # 导入partial from functools import partial def add(x, y): return x + y nums = (1, 2) # 形成新的函数, *解压元组,使其变成两个参数 sum = partial(add, *nums) print(sum())...原创 2019-03-09 17:01:04 · 2662 阅读 · 0 评论 -
Python装饰器的理解
装饰器原理:将被装饰函数导入装饰函数,由装饰函数返回一个内部函数,并把这个返回的函数装入被装饰函数中,而后运行被装饰函数,其实运行的是装饰函数的内部函数,如果传入参数,也是以装饰函数的内部函数所拥有的参数数量为准。和C中#include<头文件>部分功能——精简代码——一样,不过其封装了程序的运行过程,装饰后的被装饰函数和装饰前的被装饰函数已经不是同一个函数了,只是被...原创 2019-03-03 04:26:17 · 2590 阅读 · 0 评论