![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 64
来路与归途
来路慢慢,情不知所起;
归途遥远,眨眼便是过去。
展开
-
Transformers使用教程
Transformers使用说明原创 2022-12-07 18:32:56 · 762 阅读 · 0 评论 -
python多进程
Python中的multiprocess提供了Process类,实现进程相关的功能。原创 2022-08-01 16:39:17 · 365 阅读 · 0 评论 -
linux下普通用户(非root用户)安装JDK
参考地址:linux下普通用户(非root用户)安装JDK8_@素素~的博客-CSDN博客_非root用户安装jdk Linux非root用户部署jdk等命令_Reacubeth的博客-CSDN博客_将jdk转移到一个非root目录下原创 2022-06-15 14:45:58 · 1746 阅读 · 0 评论 -
函数名.变量
函数名.变量 定义函数的变量并进行初始化,函数 def fun(): fun.start+=1 print(fun.start)fun.start=0fun()fun()fun() 1 2 3 函数名.变量 等价于 类内的静态变量 def fun(): passfun.start=0fun.ads=1print(dir(fun)) class fun_class(): ...原创 2021-09-09 23:32:05 · 376 阅读 · 0 评论 -
python异步编程
数据库类型 数据库名称 异步数据库 说明 key_value数据库 shelve Python常用库 - shelve // Blue Wish (isware.cn) redis tornado-redis pydblite cacheout (37条消息) Python缓存神奇库cacheout全解,优于内存的性能_攻原创 2021-09-07 23:09:00 · 302 阅读 · 0 评论 -
property、setter、deleter装饰器的使用
property装饰器python的@property是python的一种装饰器,是用来修饰方法的。作用:我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。使用场景:1.修饰方法,是方法可以像属性一样访问。class DataSet(object): @property def method_with_property(self): ##含有@property原创 2021-09-07 23:03:08 · 6039 阅读 · 2 评论 -
python new方法和init方法
python类的实例化过创建对象 __new__构造函数,初始化对象 __init__返回对象引用案例说明 class A(): def __new__(cls, *args, **kwargs): print("A 的new方法被执行") def __init__(self): print("A 的init方法被执行")class B(A): def __new__(cls, *args, **kwar...原创 2021-08-24 20:06:59 · 265 阅读 · 0 评论 -
python命名空间
命名空间一般有三种命名空间:内置名称(built-in names), Python 语言内置的名称,比如函数名 abs、char 和异常名称 BaseException、Exception 等等。 全局名称(global names),模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。 局部名称(local names),函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量。(类中定义的也是)作用域有四种作用域:L(Local).原创 2021-08-05 17:42:08 · 342 阅读 · 0 评论 -
设计模式——python
定义设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,他不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。根据目的可以分为三类,创建型模式主要用于创建对象、结构型模式主要用于处理类或对象的组合、行为型模式主要用于描述对类和对象怎么交互和怎么分配职责序号 模式 & 描述 包括 1 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断原创 2021-07-06 14:36:37 · 111 阅读 · 0 评论 -
抽象工厂模式
工厂模式:用一个类去封装其他的类,提供统一的接口;抽象工厂是对工厂的再次封装,目的提供统一的接口;抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。介绍意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主原创 2021-07-04 16:34:38 · 71 阅读 · 0 评论 -
工厂模式—python
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽原创 2021-07-04 14:09:34 · 612 阅读 · 0 评论 -
python getattr 函数
描述getattr()函数用于返回一个对象属性值。语法getattr 语法:getattr(object, name[, default])参数object -- 对象。 name -- 字符串,对象属性。 default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。返回值返回对象属性值。案例,获取类的变量、函数 class A(): def __init__(self,a): se.原创 2021-05-12 19:54:10 · 386 阅读 · 0 评论 -
set中add与updata区别
python集合中update()描述update() 方法用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。语法update() 方法语法:set.update(set)参数set -- 必需,可以是元素或集合或列表等可迭代对象返回值无。add()方法描述add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。语法add()方法语法:set.a原创 2021-04-15 18:52:05 · 400 阅读 · 0 评论 -
计算两个字符串之间的相似度
1.jaccard相似度:字符级别——相同字符的个数占总字符的个数参考文档:https://blog.csdn.net/u012836354/article/details/79103099只是衡量两个字符串之间的相同字符的占比,而未考虑字符的排序导致的两个字符的差异 s1="艾伦图灵传"s2="艾伦图灵传"def jaccard_score(s1,s2): print("s1",set(s1)) print("s2", set(s2)) print("s1&原创 2021-01-14 16:47:22 · 2606 阅读 · 0 评论 -
python运算符的区别
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)代码 输出 my_list=['20210105']print("变量类型",type(my_list))print("变量地址",id(my_list))print("变量的值",my_list) 变量类型 <class 'list'> 变量地址 2295910720136 变量的值 ['20210105'] 1. is和==的区别原创 2021-01-05 10:47:22 · 346 阅读 · 2 评论 -
super() 函数
class A(): def x(self): print('class A') super().x() print(self)class B(): def x(self): print('class B') print(self)class C(A,B): def x(self): print('class C') super().x() print.原创 2020-10-22 22:55:51 · 438 阅读 · 0 评论 -
python_模块
包,Package,是一种Python模块的集合,从文件组织形式上看,包就是一个文件夹,里面放着各种模块(.py文件),也可以有子文件夹(子包)。包名构建了一个Python模块的命名空间。比如,模块名A.B表示A包中名为B的子模块。这种使用加点的模块名可以让你写的软件包里面的模块名称和其它软件包里面的模块名称一样,但又不相互冲突。关键术语 Python Packaging Index是一个开源许可的软件包公共存储库,可供所有 Python 用户使用。 Python Packaging .原创 2020-10-22 00:50:03 · 137 阅读 · 0 评论 -
python 双层for循环的跳出
1.while.....else的使用在 while … else 在条件语句为 false 时执行 else 的语句块。语法格式如下:while <expr>: <statement(s)>else: <additional_statement(s)>功能: count = 0while count < 5: print (count, " 小于 5") count = count + 1else原创 2020-09-04 23:26:50 · 2719 阅读 · 1 评论 -
Python标准库模块heapq_堆
目录堆的概念堆结题的基本技巧:heapq堆的常用方法:heapq.heapify(list)heapq.heappush(heap, item)heapq.heappop(heap)heapq.heapreplace(heap.item)heapq.heappushpop(heap,item)heapq.merge(*iterables, key=None, reverse=False)heapq.nlargest(n, iterable, key=Non...原创 2020-08-20 22:05:26 · 539 阅读 · 0 评论 -
Python bisect模块
Python的bisect模块是内置模块,bisect模块实现了一个算法用于有序序列的插入和查找。。在一些情况下,这比反复排序列表或构造一个大的列表再排序的效率更高。Bisect是二分法的意思,这里使用二分法排序,将待插入的元素插入到合适的位置bisect模块提供了如下几个函数:函数说明:https://blog.csdn.net/qq_39478403/article/details/105373620?utm_medium=distribute.pc_relevant.none-task-b原创 2020-08-09 18:01:20 · 2261 阅读 · 0 评论 -
python 面向对象开发
类内方法:1. __str__(self)方法:当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据 __str__方法需要返回一个字符串,当做这个对象的描写未重写__str__方法 重写__str__方法 class Child2(): def __init__(self,x): self.x=x # def __str__(self): # return原创 2020-08-03 20:44:01 · 152 阅读 · 1 评论 -
python实现排列组合
排列组合是组合学最基本的概念。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。itertools参考文档: https://docs.python.org/3.1/library/itertools.htmlimport itertoolsitertools.combinations(iterable, r)参数说明: iterable: 指定待组合的所有元素 r : 组合的...原创 2020-07-30 17:24:06 · 1530 阅读 · 0 评论 -
python 选择排序
选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。1. 算法步骤首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。arr=[1,2,3,5,6,8,12,14,11]n=len(arr)for i in range(n): k=i .原创 2020-07-29 11:42:15 · 127 阅读 · 0 评论 -
Python 堆排序
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。arr=[1,3,11,15,12,14,5]def adjust(arr,n,i): largest=i l=i*2+1 r=i*2+2 #判定左子树与根节点的大小 if l<n and arr[l]>arr[i]:.原创 2020-07-28 20:46:52 · 257 阅读 · 0 评论 -
Python 约瑟夫生者死者小游戏
约瑟夫游戏的大意:30 个游客同乘一条船,因为严重超载,加上风浪大作,危险万分。因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免于难。无奈,大家只得同意这种办法,并议定30 个人围成一圈,由第一个人数起,依次报数,数到第 9 人,便把他投入大海中,然后再从他的下一个人数起,数到第 9 人,再将他投入大海中,如此循环地进行,直到剩下 15 个游客为止。问:哪些位置是将被扔下......n=30 #船上人员个数m=9 #制定第几个人将被丢到海里k=15 #船上剩原创 2020-07-28 16:49:43 · 625 阅读 · 0 评论 -
Python 插入排序冒泡排序
插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。data=[1,6,9,5,7,8]n=len(data)for i in range(1,n): l=i-1 j=i while l>=0 and data[j]<data[l]: data[j],data[l]=data[l],data[j] j=j-1原创 2020-07-28 16:31:40 · 117 阅读 · 0 评论 -
python 斐波那契数列
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。Python 实现斐波那契数列代码如下:原创 2020-07-28 14:16:41 · 2849 阅读 · 0 评论 -
python文档压缩与解压——zipfile
zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:创建一个ZipFile对象class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]]) #表示一个zip文件参数file: 表示文件的路径或类文件对象(file-like object);参数mode:指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a','w'表示新...原创 2020-07-03 13:14:37 · 985 阅读 · 0 评论 -
tkinter窗口切换
方法1:按钮+Frame步骤:1.1创建主桌面import tkinter as tkroot = tk.Tk() 1.2 创建不同的Frame,相当于不同的桌布,分别用来创建不同的窗口face1 = tk.Frame(root)face2 = tk.Frame(root) 1.3 实现界面跳转 调用tkinter.destroy()方法销毁旧界面,同时生成新界面的对象;有多个界面时,可以用一个变量保存当前界面,方便销毁;...原创 2020-06-12 11:21:57 · 8712 阅读 · 5 评论 -
Python标准库shutil用法实例详解
shutil模块提供了许多关于文件和文件集合的高级操作,特别提供了支持文件复制和删除的功能。参考地址:https://docs.python.org/3/library/shutil.html文件夹与文件操作copyfileobj(fsrc, fdst, length=16*1024): 将fsrc文件内容复制至fdst文件,length为fsrc每次读取的长度,用做缓冲区大小fsrc: 源文件 fdst: 复制至fdst文件 length: 缓冲区大小,即fsrc每次读取的长度im原创 2020-06-04 13:34:26 · 181 阅读 · 0 评论 -
python——bytes和hex字符串之间的相互转换
1.在Python2.7.x上(更老的环境真心折腾不起),hex字符串和bytes之间的转换是这样的:>>> a = 'aabbccddeeff'>>> a_bytes = a.decode('hex')>>> print(a_bytes)b'\xaa\xbb\xcc\xdd\xee\xff'>>> aa = a...原创 2020-04-28 14:59:11 · 1659 阅读 · 0 评论 -
SQLite - Python开发教程
import sqlite3 #加载本地数据库#步骤1,连接数据库conn=sqlite3.connect('test1.db')# 步骤2,创建cursormycursor=conn.cursor()# 步骤3,执行sql命令# 创建表'''cmd="CREATE TABLE COMPANY(" \ "ID INT PRIMARY KEY NOT NULL,"...原创 2020-03-20 16:46:21 · 153 阅读 · 0 评论 -
python多线程
程序:指令和数据的有序集合,一个可运行文件进程:一段程序的执行过程进程的三种状态:就绪态,运行态,阻塞态就绪态:获取了除CPU外的其他所有资源,只要处理器分配资源就可以立马执行运行态:获取处理器资源,程序开始执行阻塞态:等待条件满足才能运行的状态,如等待I/0操作线程:通常,一个进程中包含多个线程,线程可以利用进程中的所有资源,线程作为独立运行、独立调度的基本单位,为进...原创 2020-03-08 17:59:36 · 83 阅读 · 0 评论 -
Pandas基础操作
原创 2020-03-02 21:36:49 · 79 阅读 · 0 评论 -
pycharm安装教程
PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍一下 PyCharm 在 Windows下是如何安装的。这是 PyCharm 的下载地址:http://www.jetbrains.com/pycharm/download/#section=windows进入该网站后,我们会看到如下界面:prof...原创 2020-02-28 21:59:09 · 1216 阅读 · 0 评论 -
python中的坑
1.列表索引超出范围获取列表的切片,开始的 index 超过了成员个数不会产生 IndexError,而是仅仅返回一个空列表索引值超出范围后,会产生IndexError错误list = ['a', 'b','c', 'd', 'e']print(list[10:]) #[]# print (list[10]) #IndexError: list index out o...原创 2020-02-11 17:29:20 · 225 阅读 · 0 评论 -
python正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能正则表达式对象1)re.RegexObjectre.compile() 返回 RegexObject 对象。2)re.MatchObjectgroup() 返回被 RE 匹配的字符串。start() 返回匹配开始的位置 end() ...原创 2020-01-20 15:24:53 · 116 阅读 · 0 评论 -
python运行cmd命令
方法1:os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功注意:os.system是简单粗暴的执行cmd指令,如果想获取在cmd输出的内容,是没办法获到的import os#python 运行cmd命令path='D:\Soft-manage\pycharm\mytkinter\img/a.py'# path='D:\Soft-ma...原创 2020-01-13 23:57:26 · 648 阅读 · 0 评论 -
python——队列与堆
栈:一种后进先出(LIFO)的线性表; push:进栈;pop:出栈; 队列:一种先进先出(FIFO)的线性表; 每个元素总是从队列的 rear 端进入队列的,然后等待该元素 之前的所有元素都出队之后,当前元素才能出队 双端队列(deque):它可以在两端同时进行插入、删除操作 # 双端队列fro...原创 2019-12-18 01:52:42 · 271 阅读 · 0 评论 -
Python解析JSON数据的基本方法
一 JSON数据格式介绍JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON建构于两种结构:json是Javascript中的对象和数组中的对象,本质上来讲就是有特定结构的字符串,所以可以通过这两种结构可以表示各种复杂的结构:1 对象: 对象在js中表示为”{}”括起来的内容,数据结构为{key:value, key:value…}...原创 2019-02-06 12:33:51 · 37842 阅读 · 0 评论