- 博客(49)
- 问答 (1)
- 收藏
- 关注
转载 流畅的Python (Fluent Python) —— 第二部分01
1. 当只有最后一个位置信息时,我们也可以快速看出切片和区间里有几个元素: range(3) 和 my_list[:3] 都返回 3 个元素。2. 当起止位置信息都可见时,我们可以快速计算出切片和区间的长度,用后一个数减去第一个下标(stop - start)即可。3. 这样做也让我们可以利用任意一个下标来把序列分割成不重叠的两部分,只要写成my_list[:x] 和 my_list[x:] 就可以了。2.4.2 对对象进行切片。
2024-08-28 23:59:52
107
转载 流畅的Python (Fluent Python) —— 第一部分
Python 最好的品质之一是一致性。魔术方法(magic method)是特殊方法的昵称。特殊方法也叫双下方法。
2024-08-28 00:05:43
109
转载 流畅的Python (Fluent Python) —— 前言
这本书并不是一本完备的 Python 使用手册,而是会强调 Python 作为编程语言独有的特性,这些特性或者是只有 Python 才具备的,或者是在其他大众语言里很少见的。Python语言核心以及它的一些库会是本书的重点。
2024-08-27 23:42:13
131
转载 [读书笔记]流畅的Python(Fluent Python)
指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便的使用语言开发程序,同时增强程序代码的可读性,避免出错的机会;作者从Python的特性角度出发,以Python的数据模型和特殊方法为主线,主要介绍了python的集合类型(sequence、mapping、set等)、把函数作为一等对象来使用、类的构建、新的文件控制流程(生成器、上下文管理器、协程)、用描述符来从底层解释Python对象属性的存储等各个方面。可以看一看官网教程,做一做里面的例子,如果感觉吃力,那么就是新手了。
2024-08-27 23:35:58
164
转载 使用工具SecureCRT通过ssh远程连接Windows server 2019
其中Windows Server 2019 已经安装好了OpenSSH Authentication Agent 服务了。在需要安裝的ws2019开启powershell,执行安装 openssh server 指令。在安裝OpenSSH Server 時如果出現類似下面錯誤訊息,可能表示需要安裝某些更新。我安裝的是windows server 2019 版本是1809。剛安裝完成加入網域後,就直接下指令安裝結果出現上述錯誤訊息。後來直接先做一次windows update 後就可以安裝。
2024-08-27 23:22:35
236
转载 Windows 在 git bash下使用 conda 命令
1. Python 安装路径 (可以是Anaconda 虚拟环境的python路径)我的电脑右键 -> 属性 -> 左边栏高级系统设置 -> 环境变量 -> 系统变量。4. AnacondaLibraryin 目录。3. Anaconda Script 目录。2. Anaconda 安装地址。conda list 命令不报错。2. 安装后配置环境变量。
2024-08-27 23:17:13
326
转载 Windows 7 使用msg命令向局域网其他Windows 7 设备发送信息时出现【获取会话名称时的错误 5】的解决方法
百度好多都说什么不能用administrator账户,我在学校机房测试的好像没问题。还有,百度好多都说添加了凭据要重启?反正我是没重启,照样能用。***********************分割线***********************将这里的【AllowRemoteRPC】的数值改为 1。如果您觉得文章对您有帮助,可以点击文章右下角。第三步:给设备1添加设备2的凭据。第四步:修改设备2的注册表键值。一、测试连通性(两端都要);设备2也成功联通了设备1。第二步:给设备2创建密码。
2024-08-27 23:14:43
726
转载 MSG命令使用详解
打开控制面板,双击凭据管理器,点击添加windows凭据,第一行写测试电脑的IP地址,第二行写测试电脑的用户名,第三行写测试电脑的密码,重启电脑,运行--cmd-------MSG /server:192.168.1.201 * "Hello" ------------->>> 运行成功。MSG /server:192.168.1.200 * "Hello" ----------------->>>>> 运行成功,弹出消息对话框。如果没有指定,发出提示,或者从 stdin读取。
2024-08-27 23:12:02
1086
转载 python简单使用xpath查找网页元素
原文:https://blog.csdn.net/qq_38225558/article/details/82700939。p = selector.xpath('/html/body/p[last()]/text()') #获取最后一个。//标签1[@属性1="属性值1"]/标签2[@属性2="属性值"]/..../text()//标签1[@属性1="属性值1"]/标签2[@属性2="属性值"]/..../@属性n。只能借鉴/html/body/form/table/tbody/tr[1]/th。
2024-08-27 23:09:52
224
转载 python3解析库lxml
lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索XPath的选择功能十分强大,它提供了非常简明的路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有我们想要定位的节点,都可以用XPath来选择。
2024-08-27 23:07:41
129
转载 用lxml解析HTML
比如在整个HTML文档中查找id为“leftmenu”的 div,可以用“/descendant::div[@id='leftmenu']”,也可以简单地使用“ //div[@id='leftmenu']”。别担心,lxml还有一个属性叫做“tail”,它的意思是结束节点前面的内容,也就是说在“<br />”与“</div>”之间的内容。此外,“*”可以代替所有的节点名,比如用"/html/body/*/span"可以取出body下第二级的所有span,而不管它上一级是div还是p或是其它什么东东。
2024-08-27 23:02:43
155
转载 【案例】Python之列表反转
reversed()返回的是一个迭代器,需要用list()转换一下。列表反转是初学时比较常见的问题,这里总结了三种列表反转的方式。步长为负数,表示倒着切片,遵循左闭右开(含开始值,不含结束值)1.2>内建函数reversed()这里切片可能有人看不懂,简单解释下。反转列表只对顺序排列的列表有效果。1.3>切片操作反转。
2024-08-27 22:59:08
121
转载 Python中collections模块介绍
一旦限定长度的deque满了,当新项加入时,同样数量的项就从另一端弹出。返回一个新的双向队列对象,从左到右初始化(用方法 append()) ,从 iterable (迭代对象) 数据创建。为字典的没有的key提供一个默认的值。三种定义命名元组的方法:第一个参数是命名元组的构造器(如下的:Person,Human)如果在已经存在的key上添加新的值,将会保留原来的key的位置,然后覆盖value值。Python字典中的键的顺序是任意的:它们不受添加的顺序的控制。类提供了保留他们添加顺序的字典对象。
2024-08-27 22:58:06
37
转载 Python常用数据结构之collections模块
注:字典dic在定义的时候就定义好了值为字典类型,虽然现在字典中还没有键值 k1,但仍然可以执行字典的update方法. 这种操作方式在传统的字典类型中是无法实现的,必须赋值以后才能进行值得更新操作,否则会报错。Counter作为字典dicit()的一个子类用来进行hashtable计数,将元素进行数量统计,计数后返回一个字典,键值为元素,值为元素个数。默认字典,字典的一个子类,继承所有字典的方法,默认字典在进行定义初始化的时候得指定字典值有默认类型。有序字典也是字典的一个子类。
2024-08-27 22:56:52
64
转载 python3 deque(双向队列)
输出:deque(['a', 'b', 'z', 'c', 'd', 'e'])输出:deque(['a', 'b', 'c', 'd', 'e'])输出:deque(['e', 'd', 'c', 'b', 'a'])输出:deque(['d', 'e', 'a', 'b', 'c'])输出:e deque(['a', 'b', 'c', 'd'])输出:a deque(['b', 'c', 'd', 'e'])输出:deque(['a', 'b', 'd', 'e'])输出:deque([1, 2])
2024-08-27 22:55:19
103
转载 python的deque(双向)队列详解
相比于list实现的队列,deque实现拥有更低的时间和空间复杂度。list实现在出队(pop)和插入(insert)时的空间复杂度大约为O(n),deque在出队(pop)和入队(append)时的时间复杂度是O(1)。所以deque更有优越性 而且deque既可以表示队列 又可以表示栈 实在是太方便了。d.insert(位置,元素) 在指定位置插入元素。输出: [null,null,null,2,1,2]可见deque是标准库collections中的。这其中最好用的是deque。
2024-08-27 22:52:47
107
转载 Python 栈(stack)
栈只能在一端进行插入和删除操作,它按照先进后出(FILO)的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。思路:从起点开始按照顺序寻找路径,通过栈记录已经走过的路径。如果最后发现不通就返回上一步,换个方向继续寻找。栈(stack)又名堆栈,它是一种运算受限的线性表。
2024-08-26 23:06:17
72
转载 http状态码301和302详解及区别——辛酸的探索之路
大部分的搜索引擎在大部分情况下,当收到302 重定向时,一般只要去抓取目标网址就可以了,也就是说网址B。也就是说,一个不道德的人在他自己的网址A 做一个302 重定向到你的网址B,出于某种原因, Google 搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B 上的内容,这种情况就叫做网址URL 劫持。而使用301跳转的场景就是之前的网站因为某种原因需要移除掉,然后要到新的地址访问,是永久性的,就比如你的那套房子其实是租的,现在租期到了,你又在另一个地方找到了房子,之前租的房子不住了。
2024-08-26 23:04:58
679
转载 获取spark-submit --files的文件内容
SparkFiles.get(filePath),我获取的结果是:/hadoop/yarn/local/usercache/research/appcache/application_1504461219213_9796/spark-c39002ee-01a4-435f-8682-2ba5950de230/userFiles-e82a7f84-51b1-441a-a5e3-78bf3f4a8828/README.md,不知道为什么,无论本地还是hdfs都没有找到该文件。
2024-08-25 17:21:05
83
转载 es查询-统计总数以及深度分页
如果你的业务需求在超过 10000 这个阈值之后就不需要精准的计算的话,就不需要设置该值,毕竟匹配大量的文档是一个成本较高的操作,同样的如果你并不需要统计数量,那么将该值设置为 false "track_total_hits": false 也是一种优化检索效率的操作。根据官方文档的说法,scroll的搜索上下文会在scroll的保留时间截止后自动清除,但是我们知道scroll是非常消耗资源的,所以一个建议就是当不需要了scroll数据的时候,尽可能快的把scroll_id显式删除掉。
2024-08-25 17:19:19
1291
转载 git 强制忽略文件
1、对于已经加入版本控制的文件,我们可以强制忽略文件git update-index --assume-unchanged <files>这样,即使已经更改了文件,用git status也不会看见文件已经更改。如果忽略的文件多了,可以使用以下命令查看忽略列表。所有被忽略的文件,取消忽略的方法,如下。
2024-08-25 17:05:24
78
转载 注意java时间戳和unix时间戳区别
但是Jav获取时间戳的API并不是获取到Unix时间戳,而是获取到*从1970年1月1日(UTC/GMT的午夜)开始所经过的毫秒数。起因是小红书爬虫抓取下来的笔记发布日期通过java format转换失败,但是在时间戳转换工具网上又能转成功。Unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。仔细看了后发现爬下来的时间戳和java语言本身生成的位数有不同。毫秒和秒差了一千倍(1s=1000ms),就这是位数区别的原因。
2024-08-25 17:00:56
196
转载 搭建本地 HTTPS 环境
之前写自己的网站时, 申请过免费的https证书. 最近想在自己本地搭一个, 结果忘了当初证书是怎么来的了. 本来想着去申请个免费的证书, 但想了想, 我只需要在自己本地能使用就行了, 我自己的环境, 那当然是我说了算了. 只要能够将证书构造出来, 安装到本地就可以识别了. 搜了搜, 发现还真的有生成证书的工具. 道理咱都懂, 动手才是王道, 走你.不过这样安装, 只能在本地环境访问, 仅供测试使用.对于在本地环境搭建HTTPS的开发来说, 不用费时费力的申请线上证书, 可模拟线上HTTPS。
2024-08-25 16:48:37
261
转载 selenium execute_script 方法实用技巧
driver.execute_script() 是 Selenium WebDriver 中非常强大且灵活的功能,可以用来执行任意的 JavaScript 代码在浏览器上下文中。.click()一般只用于点击操作,如果使用点击后输入操作会无效,所以给输入框输入文字请采用.focus()将焦点设置到指定的元素上,再输入自定义的内容。#特定元素element,是定位的位置,可以是文字,也可以是具体某个下拉框,选择框等等;# 设置显式等待,等待直到页面加载完成(例如,可以等待页面底部的某个元素出现)
2024-08-25 16:38:31
302
转载 本地搭建https服务
配置Nginx配置 (记住:是在你需要进行https认证的域名的Nginx配置文件中 新增 一个server配置文件 )找到证书(/usr/local/etc/nginx/server.crt),导入系统证书目录。链接:https://www.jianshu.com/p/529cfb1ef84a。输入完这些内容,就会在当前目录生成server.csr文件, 顺序执行如下命令。访问(访问的时候,如果提示不是私密链接,选择继续访问就好了)学而不思则罔,思而不结则殆,结而不看,一事无成。然后自己给自己颁发证书。
2024-08-25 16:27:56
219
转载 js实现跳转的多种方法
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。而在web开发时,程序员会遇到一个页面跳转的问题。在此整理了几种跳转方式。
2024-08-25 16:09:56
318
转载 Day-9 python
4、下载并安装pywin32:https://sourceforge.net/projects/pywin32/files/pywin32/ # 去220目录下根据你的系统与python解释器下载相应的版本。用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL的优先级队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的网址。SPIDERS是开发人员自定义的类,用来解析responses,并且提取items,或者发送新的请求。
2024-08-25 16:03:29
32
转载 python 子类调用父类的三种方法,python中子类调用父类方法几点细节(正确使用super)
a方法是传统的调用方法, b是改进后的方法. 区别是: 当基类的名字有改变时, a方法子类的中的相应代码也要改. b就不用改了, 所以b方法要好一些. 方便代码的维护. c方法呢, 是python3.x以上版本用的. 我没有测试, 应当是可以的。调用方法有3种, 如下面的程序中的标记的 12,13,14 三行(任何一种方法都可以)新式类:就是所有类都必须继承的类,如果什么都不想继承,就继承到object类。子类的方法要显示调用父类的方法,不调用系统不会默认调用(不同于java)
2024-08-25 15:55:50
47
转载 HTTP和HTTPS协议
如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。客户端与服务器进行动态交互的 Web 应用程序出现之后,HTTP 无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie,而另一个则是Session。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
2024-08-25 15:32:56
40
原创 Sympy的基本操作(7个骰子掷出3对的概率)
掷出5个骰子, 出现2个不同对子加单吊的概率为1800/7776 .7个骰子掷出3个不同对子加单吊的概率: 37800/279936 .由此可以知道: 掷出5个骰子, 出现2个不同对子加单吊的预期频数。7个骰子掷出1次 等价于 1个骰子掷出7次。就是 指数项 里边有两个2的对应项的系数项之和。
2023-02-26 16:06:48
259
原创 微信FileStorage MsgAttach文件太乱怎么办?教你用Python解决
这让我怎么找文件啊,真让人头大.所以我写了一个python程序,可以将这些目录里面的文件全部移动到指定目录.最近我发现微信接收文件太多太乱,你看微信FileStorageMsgAttach文件夹。核心代码是cpf1f2...fntaget_file_or_folder。简单的讲是cpfile1file2把文件1复制到文件2。[完美解决MsgAttach文件太乱的问题][完美解决微信在C盘文件太大的问题]所以要小伙伴们的电脑没有cp命令的话,我记得之前不是这样的啊,......
2022-07-31 15:48:46
29101
2
转载 五子棋算法性能优化
棋类使用置换表其实就是最常见的一种性能优化方式。他不不会对棋力有负面影响(不会剪掉不该剪掉的分支),但是能提升运算速度从而达到提升棋力的作用。如果你把前面几章讲的技术都运用了,那么大约能实现 8 层深度的搜索,对战业余玩家会有很高的胜率。不过如果你想挑战一些对五子棋比较有研究的高级玩家,那么仅仅8层搜索是不够的。我们知道,棋力 = 搜索深度,我们要提升电脑的棋力,最直接方式就是加大搜索深度。但是搜索深度每加深一层,时间会提升大约 20 倍,如果8层深度需要20秒,那么10层将会需要 超过了一个小时,这显然
2022-06-08 23:22:53
876
转载 五子棋小游戏-Python基础练习tkinter版
假设俩个人轮流报数,可以报 1、2、3 这三个数,然后积分榜累加这俩个人报的数,最先加到 6 的人输这个游戏存在先手优势,即谁最先报数,就有必胜的方案jggnie下图中方块表示乙报完数后的局面(此时甲要开始报数了),圆圈表示甲报完数后的局面,由图可知甲先报数对于甲来说,第一次不能报 2 和 3,因为这样乙总有办法让甲输,即图中红色路线如果甲报数 1,那么无论第二次乙报什么数,甲总有路线让乙输,即图中蓝色路线将报数游戏中,将甲(自己)获胜用 1 代替,将乙(对手)获胜用 -1 代替以根...
2022-06-08 22:31:42
495
转载 5.2Python数据处理篇之Sympy系列(二)---Sympy的基本操作
目录目录目录 前言 (一)符号的初始化与输出设置-symbol() symbols() latex() 1.作用: 2.操作: (1)说明: (2)源代码: (3)输出效果 (二)替换符号-subs(old,new) 1.说明: 2.源代码: 3.输出效果: 4.注意点: (1)是否改变原表达式 (2)替换多个表达式 (三)将字符串变为sympy的表达式-sympify() 1.说明: 2.源代码: ...
2022-05-18 19:41:53
3116
转载 js中scroll滚动相关
js中scroll滚动相关scroll,滚动,一般讨论的是网页整体与浏览器之间的关系。一.元素相关属性/方法 解释 element.scrollHeight 返回元素的整体高度。 element.scrollWidth 返回元素的整体宽度。 element.scrollLeft 返回元素左边缘与视图之间的距离。 element.scrollTop 返回元素上边缘与视图之间的距离。 这四个属性,全部是只读属性其中,无非就是分为宽高和左..
2022-05-17 22:41:16
3762
空空如也
为啥这个网站打不开?我号没了?
2022-01-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人