
Python
文章平均质量分 85
MarsenSeven
learn young, learn fair
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
K-Means和DBSCAN算法对比分析(算法Python实现,聚类效果可视化展示)
基于划分的聚类算法(K-Means)与基于密度的聚类算法(DBSCAN)对比分析算法思想K-Means算法步骤DBSCAN算法步骤算法实现K-Means算法实现DBSCAN算法实现聚类效果分析与思考效果展示采用的方法:K-Means聚类效果展示效果展示采用的数据集:效果展示及对比如下:DBSCAN聚类效果展示效果展示采用的数据集:效果展示及对比如下:聚类效果对比分析案例1:鸢尾花数据集案例2:双月数据集总结对K-means的思考使用Python实现的算法思想,算法设计场景是对平面二维样本点的计算算法思想原创 2020-11-07 21:07:07 · 2185 阅读 · 0 评论 -
认识Python中易用的单元测试模块doctest
开发高质量软件的过程中,我们经常会为每个函数编写测试,这样在开发过程中运行这些测试的时候就比较方便,doctest是一个python标准库自带的轻量单元测试工具,适合实现一些简单的单元测试。doctest模块提供的这样的工具,用于扫描模块并验证程序文档字符串中嵌入的测试,在docstring中寻找到测试用例并执行,比较输出结果与期望值是否符合。我们如何构造这些测试呢?很简单在python的...原创 2020-02-09 18:16:52 · 462 阅读 · 0 评论 -
Python中嵌套的列表推导式,以及实际应用中的更佳做法
Python中嵌套的列表推导式,以及实际应用中的更佳做法语法说明和示例来源自Python3.8官方文档以转置矩阵的例子来说明嵌套列表推导式的使用:我们以Python中嵌套的列表来作为矩阵的存储结构,下面是一个3x4的矩阵,它由 3 个长度为 4的列表组成:matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12],]矩阵的转置...原创 2020-01-27 12:39:34 · 760 阅读 · 0 评论 -
Python运行脚本后进入交互模式
在运行脚本的时候,想要在运行后进入交互模式,在运行脚本的命令中的文件参数前,加选项 -i 就可以了测试test.py文件内容如下:终端中输入命令python -i test.py运行脚本,脚本执行打印出“Hello”后直接进入了与解释器的交互模式中,在这个上下文环境中,可以直接使用脚本中定义的变量函数。示例如下:$ python -i test.py Hello>>>...原创 2020-01-16 16:38:12 · 2799 阅读 · 0 评论 -
模糊解析出日志文件中的日期
python提供的有标准日期模块:datetime, time,但实际开发处理的情况可能更复杂。比如要模糊解析出日志文件中的日期,当然有方法可以自己去解析,就是有些复杂,这里分享一个造好的轮子。????python-dateutil是作为Python标准日期模块的拓展,在标准日期时间模块无法解决你的日期问题的时候,就可考虑在这个第三方模块中寻找解决问题的方法。使用之前需要安装pip inst...原创 2020-01-16 15:24:55 · 456 阅读 · 0 评论 -
Python:检查对象使用内存的情况
1,在编写优化程序的时候,检查对象使用内存的情况是有帮助的。 sys.getsizeof()2. 从对象内存占用比较range对象,生成器 和 list原创 2020-01-15 13:04:29 · 582 阅读 · 0 评论 -
Python中使用表情符emoji
分析社交媒体数据的时候,表情符是重要的内容。安装表情符的模块是emoji,需要安装emoji后使用通过pip安装模块pip install emoji示例安装后就可以通过如下方式使用表情符>> import emoji>> # 根据对应的’code‘得到表情符>> print(emoji.emojize('Python is :thumbs...原创 2020-01-15 11:33:08 · 5681 阅读 · 5 评论 -
[MacOS] Pycharm工程中打开终端,pip3等部分命令无法识别(command not found)的问题
出现这样问题应该是Shell的配置文件的问题MacOS中Pycharm工程中的Terminal的shell path默认是 /bin/bash我使用的的shell是zsh, Pycharm的Terminal的Shell被我改为了zsh, 操作如下图:然后去修改了zsh的配置文件修改配置文件# 修改zsh的配置文件 .zshrc, 终端输入:vim ...原创 2020-01-11 16:45:42 · 2837 阅读 · 0 评论 -
Json Web Token分布式站点的单点登录场景
先了解基于token的认证和传统的session认证的区别1、session认证什么是cookies和session?cookies浏览器会话技术,用来存储信息sessionidsession是服务器端的缓存技术浏览器端的缓存技术,为了辨别用户身份,进行session跟踪而存储在用户本地终端上的数据。HTTP协议 无连接和无状态的特性,是cookies和sessio...原创 2019-06-18 16:35:30 · 569 阅读 · 0 评论 -
python-数据结构-堆-heapq模块
堆的定义:n个元素的序列{k1,k2,ki,…,kn}当且仅当满足下关系时,称之为堆。(ki <= k2i,ki <= k2i+1)或者(ki >= k2i,ki >= k2i+1), (i = 1,2,3,4...n/2)堆是一种重要的线性数据结构,通常被看作是一棵树的数组对象。(堆总是一个完全二叉树)由于二叉树良好的形态已经包含了父节点和孩子节点的关系...原创 2019-03-13 13:57:58 · 326 阅读 · 0 评论 -
抽象(面向过程到面向对象)
抽象:开始学写程序的时候,都是直接顺序的写出执行语句,实现了自己想要的效果。比如下面的这个计算斐波那契数列的代码fibs = [1, 1]for i in range(6): fibs.append(fibs[-2] + fibs[-1])print(fibs)# [1, 1, 2, 3, 5, 8, 13, 21]我们在程序里面直接写的是获取8个斐波那契数,我们把...原创 2019-03-12 11:58:29 · 285 阅读 · 0 评论 -
交换变量值的方式
Python中有对称赋值 a, b = b, a 常见的是使用中间变量 temp = aa = bb = temp 使用抑或, a抑或b的结果再抑或b的结果仍是a 这也是最早的数据加密方式...原创 2019-03-11 11:45:07 · 222 阅读 · 0 评论 -
Python报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
首先问题出现的背景是我们使用模块的地方是没有出现错误的。问题解决方法:不要将python代码文件命名为python预留字,模块名等。这样在调用模块的时候,就会先找到代码文件而不是要导入的模块# 查看关键字的方法:import keywordprint(keyword.kwlist)遇到的问题:调用的时候import doctest 的名字与文件名doctest名字相同。而实际我是要调用...原创 2019-03-11 11:19:17 · 9032 阅读 · 0 评论 -
Python数据类型---容器类类型
容器类数据类型python内置数据类型中,有一类数据类型,它能像容器那样存储不同的元素。列表list、元组tuple、字符串str、字典dict、集合set都是属于容器类型。一、容器类对象的几种类别容器:container 序列:sequence 映射:mapping 序列(sequence)是一种数据结构,是有序的容器类型,list、str和tuple都属于序列...原创 2018-12-28 21:08:07 · 2702 阅读 · 1 评论 -
Python内置函数-min函数和max函数-详解
博文主要内容如下:max和min函数的使用介绍:对可迭代对象元素进行比较,找到最大/最小值 max(iterable, *[, default=obj, key=func]) 对传入的多个参数进行比较,找到最大/最小值 max(arg1, arg2, *args, *[, key=func]) 介绍对复杂结构的数据下,如何使用函数定义中的key 。 ...原创 2019-01-01 20:55:13 · 14650 阅读 · 5 评论 -
Python中使用json保存结构化数据--json是什么?在python开发中的使用
内容简介:JSON介绍,Python3标准库中json模块拓展:Django中的JSONResponse()一、JSON ?JSON ( JavaScript Object Notation ) 是一种轻量级的数据交换语言,采用完全独立于编程语言的文本格式来存储和表示数据(受JavaScript对象文字语法的启发),用于不同编程语言之间的数据交换。看完上面之后,我们先来了解...原创 2019-01-02 22:11:28 · 1053 阅读 · 0 评论 -
安全哈希和信息摘要算法--Python3中的hashlib
需求是为了生成数据的‘指纹信息’,通过指纹信息来确认数据是否被篡改。通过md5.sha等数学方法去生成数据的指纹信息。摘要算法又称为哈希算法、散列算法。把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)这些算法都是单向的,因此能够知道数据是都是被篡改过的。任意长度的数据经过算法的处理后得到一个长度固定的字符串(又称为哈希值);但是通过哈希值并不能反推出数据。注意:...原创 2019-03-02 17:42:58 · 1221 阅读 · 0 评论 -
Python:由文件关闭引起的对with语句的探索
文件关闭中的with as在操作文件的时候,通常为了避免不必要的问题(程序退出时,因为垃圾回收机制,程序也会自动的关闭文件对象,但是这是我们不可控的;在有些操作系统和设置中,关闭文件可以避免无意义地锁定文件),我们通常要在打开文件之后要去关闭文件。如果对文件进行了写入操作的时候,一定要注意将其关闭,因为Python可能缓冲写入的数据(将数据暂时保存在内存区,提高程序运行效率),因此如果程序抛出...原创 2019-02-26 18:04:21 · 745 阅读 · 0 评论 -
Python: 你知道这些吗?-深浅拷贝的背后
写程序的时候,要将自己的逻辑思维和程序语言特点相结合,对于这些知识的认识必须要清晰,避免一些隐秘的错误。深浅拷贝(Shallow copy / Deep copy)深拷贝是内容拷贝,对象里面的所有内容都新申请了内存;>>> lt = [1, [2, 3], 4]>>> import copy>>> lt2 = copy.de...原创 2019-03-08 14:05:24 · 206 阅读 · 0 评论 -
[Python开发-pymysql]--获取新插入数据的id
新增数据后获取插入数据的idimport pymsqlconn = pymysql.connect(host='localhost', user='test', password="123456", database='test1', port=3306, charset='utf8', cursorclass=pymysql.cursors.Di...原创 2019-03-09 10:48:32 · 4760 阅读 · 1 评论 -
Python文件操作常用的API(open函数使用)
打开文件,获取文件对象fp = open(file, mode, encoding)# file:要操作的文件路径, 使用的时候注意目录的拼接# mode: 打开方式# encoding: 编码方式关于第一个参数file需要注意的是:文件的路径,使用的时候要注意文件目录的拼接,在项目里时常会有人忘记拼接路径而出错。路径问题查阅: os.path关于第二个参数mode:...原创 2019-03-13 21:24:47 · 3684 阅读 · 2 评论 -
Python数据库API
Python数据库APIPython数据库API是一种连接到SQL数据库的标准化方式Python支持连接各种数据库,比如说MySQ和SQLite, MongoDB和Redis。各种数据库的基础功能大都相同,那我们使用其中一个操作数据库的程序,应该很容易的将其修改,然后再将其使用到另一个数据库上。但是每个数据库都有相应的Python模块,它们的接口也是不同的,为了解决这个问题日,开发了一个...原创 2019-03-06 20:15:02 · 1087 阅读 · 0 评论 -
Python大文件的处理
由问题引入:拷贝文件(考虑到大文件的问题)import osdef copy_file(src_path, dst_path): # 判断源文件和目标文件路径是否相同 if os.path.abspath(src_path) == os.path.abspath(dst_path): return # 判断源文件是否是文件 if not os...原创 2019-03-14 09:12:22 · 1006 阅读 · 0 评论 -
Python数据类型--布尔型bool--真值--探究
博文内容简介: 1 Python中被作为 假 的值 :False, None, 0, "", (), [], {} 2 Python中的bool类:bool类是int类的子类,内置的True和Flase是bool类的两个实例 拓展: JavaScript中真假值。一 、Python中的真假值在Python条件判断中的被视为...原创 2018-12-27 20:46:28 · 2943 阅读 · 0 评论