![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 54
HappyRocking
坚信强人工智能的到来
展开
-
python3 自定义比较器
python3 自带的排序函数 sort()、sorted() 等,可以自定义比较器,实现特殊需求,以下介绍3种常见方法。比如现在有二维空间中的3个点,需要对它们进行排序,规则是:先按x坐标排序,如果相同,则按y坐标排序。class Pos: """ 坐标类 """ def __init__(self, x = 0, y = 0): self.x = x self.y = y def __str__(self):原创 2020-06-09 20:10:21 · 6150 阅读 · 1 评论 -
python的try...except
java代码中捕获异常可以使用 try{} catch(){} finally{}相应的,python中也有类似用法,格式为try: 可能会出问题的代码except Exception as err: 捕捉到异常之后的处理finally: 不管有没有异常最后都会执行的代码举个例子,一个解一元二次方程的算法:import mathprint("原创 2017-11-01 21:51:40 · 283 阅读 · 0 评论 -
使用beautifulsoup4使用lxml解析库报错
应该是lxml没有安装成功,测试lxml是否安装成功的方法:进入python3命令行,import lxml一、windows系统下安装lxml的方法:1、首先安装wheelcmd命令行执行pip install wheel2、下载相应版本的lxml后缀为.whl的文件www.lfd.uci.edu/~gohlke/pythonlibs/原创 2017-11-04 13:30:16 · 3355 阅读 · 1 评论 -
Python函数式编程——map()、reduce()
1.map()格式:map( func, seq1[, seq2...] )Python函数式编程中的map()函数是将func作用于seq中的每一个元素,并用一个列表给出返回值。当seq只有一个时,将func函数作用于这个seq的每个元素上,得到一个新的seq。下图说明了只有一个seq的时候map()函数是如何工作的(本文图片来源:《Core Python Programming (2nd ed...转载 2017-11-30 23:44:49 · 242 阅读 · 0 评论 -
ufunc运算
ufunc是universal function的缩写,它是一种能对数组中每个元素进行操作的函数。Numpy内置的许多ufunc函数都是C语言实现的,计算速度非常快,简单看个例子:[python] view plain copy>>> x = np.linspace(0,2*np.pi,10) >>> y=np.sin(x) >>> y转载 2017-11-30 23:57:44 · 1196 阅读 · 0 评论 -
python __name__ == '__main__'的作用
这句话的作用是,让你写的脚本模块既可以导入到别的模块中使用,也可以该模块自己使用。相当于java的一个类中定义了 main() 函数,那么这个类既可以被其他的java类引用,也可以自己执行。如#test__name__.pydef output(): print('This method is in ', __name__)if __name_原创 2017-11-23 10:24:29 · 298 阅读 · 0 评论 -
numpy的asarray和array的区别
相同:array和asarray都可以将数组转化为ndarray对象区别:当参数为一般数组时,两个函数结果相同;当参数本身就是ndarray类型时,array会新建一个ndarray对象,作为参数的副本,但是asarray不会新建,而是与参数共享同一个内存。1、参数是一般数组:a = [1,1] # a是一般数组b = np.array(a) # array和asarray没有区别,都是会创建一...原创 2017-11-23 10:26:27 · 3286 阅读 · 2 评论 -
python基础:类、私有变量、类变量
class Student(object): # 类名的括号里写继承的类,如果没有则写object,这是所有类都要继承的类 school = '清华大学' # 直接在类中定义的属性为类属性,归Student类所有,所有实例都可以访问到,但是与java的静态变量不同,如果一个实例改变了school的值,那么这个新值就生效,且只对这一个实例生效 def __init原创 2017-11-23 10:27:10 · 1187 阅读 · 1 评论 -
L-System分形
L-System(Lindenmayer system)是一种生成分形图案的方法。与迭代函数系统生成分形依靠数字的迭代不同,L-System依赖的是字符的迭代。字符间也有迭代公式,可以将字符换成某个字符串,随着迭代次数的增加,字符串长度越来越大,而字符串中的每一个字符,都代表着一种对线条的操作,如延伸、旋转等。最后将字符串依次执行一遍,便会得到一张分形图案。字符的含义:F/f:向前原创 2017-12-08 00:36:42 · 3588 阅读 · 0 评论 -
迭代函数系统生成分形
迭代函数系统(Iterated Function System,IFS)可以用来创建分形图案,他所创建的图形永远是自相似的。有一个很著名的树叶图形的绘制便是使用了此原理。在一个二维平面中,有4种映射函数,可以将一个点映射到另一个 位置:1. x(n+1)= 0 y(n+1) = 0.16 * y(n)2. x(n原创 2017-12-06 00:53:38 · 3604 阅读 · 0 评论 -
python 生成随机图形验证码
使用python的pillow来生成随机图片验证码。1、首先安装pillowpip install pillow2、代码比较简单,使用到了 Pillow 的最基本的用法,如生成一张图片、生成画笔、选择字体、进行绘画(画圆、画线、写字等)。# 生成随机图形验证码import randomfrom PIL import Image,ImageDraw,ImageFont# 创建原创 2017-12-05 00:35:17 · 1840 阅读 · 0 评论 -
wing如何改变编码
原创 2017-11-23 10:28:12 · 1278 阅读 · 0 评论 -
python语法之for...else...
将 else 放在 for 的下面,表示此 for 循环没有被 break 过,如:A = 1for i in range(5): if i == 3: breakelse: # no break A=2print(A)A = 1for i in range(5): if i == 6:原创 2017-12-29 00:16:14 · 445 阅读 · 0 评论 -
最短路径问题:Dijkstra算法的python实现
本文用python实现了Dijkstra算法,算法原理见最短路径问题:Dijkstra算法原理和证明。 1import sys 2def Dijkstra(name_list, W, s): 3 ''' 4 Dijkstra 算法:计算从源点到其他点的最短距离 5 W:权重矩阵,存放图中所有边的非负权值,对称矩阵 6 name_list:按照顺序存放W中点的名称,从0开始...原创 2018-02-11 23:38:01 · 4840 阅读 · 0 评论 -
查询子字符串:一篇文章读懂KMP算法
KMP算法可以用于在一个字符串中是否包含某个子字符串,比常规双重循环算法的效率高,但是此算法初次接触可能不太容易理解,等到理解之后会感觉很简单。为了方便大家快速理解KMP算法的过程,我制作了两个动态图,一个是常规算法,一个是KMP算法,清晰易懂。有两个字符串:source:bababaabdtarget:abaabd要求在source中查询target字符串第一次出现的位置。常规算法的动态图:KM...原创 2018-02-18 11:11:50 · 561 阅读 · 0 评论 -
如何用anaconda安装不在anaconda环境中的python包
近日想要使用python的分词包,但是使用conda install jieba命令却提示没有找到这个包。但是如果用传统的pip install,会与anaconda中的pip命令混淆。解决方案:1、在 D:\ProgramData\Anaconda3\Scripts 中 把 pip.exe 和 pip-script.py 改成 condapip.exe 和 condapip-script.py ...原创 2018-03-30 10:10:57 · 1994 阅读 · 0 评论 -
Django 更改sqlite3的model后如何生效
问题修改了 Image 表,将 time 字段添加了属性 auto_now = True:class Image(models.Model): id = models.CharField(max_length=36, primary_key=True) path = models.CharField(max_length=100) status = models.Integ...原创 2018-04-10 14:26:10 · 1007 阅读 · 0 评论 -
Django 如何用命令行操作 sqlite3
两种方法:1、在 Django 项目主目录中使用python manage.py dbshell进入 sqlite 的命令行,可以直接使用 select 等命令对数据库进行增删改查。2、在 Django 项目主目录中使用python manage.py shell进入 python 的命令行,可以使用 python 语法对 django 项目的 model 进行操作,如查询 status=0 的 ...原创 2018-04-10 14:35:31 · 2624 阅读 · 0 评论 -
python单斜杠和双斜杠运算符的区别
由于2.x版本不再更新,目前只讨论3.x版本的python。1、单斜杠(/)表示除法,且不管除数和被除数是不是整数,最后结果都是float类型。2、双斜杠(//)表示地板除,即先做除法(/),然后向下取整(floor)。至少有一方是float型时,结果为float型;两个数都是int型时,结果为int型。另外,地板除 floor(x) 表示不大于x的最大整数,因此不是取整数部分,如 x 为负数时:...原创 2018-04-03 17:39:06 · 46577 阅读 · 4 评论 -
shutil.rmtree()介绍
shutil.rmtree() 表示递归删除文件夹下的所有子文件夹和子文件。因此如果想删除E盘下某个文件夹,可以用shutil.rmtree('E:\\myPython\\image-filter\\test', ignore_errors=True)这样 test 文件夹内的所有文件(包括 test 本身)都会被删除,并且忽略错误。...原创 2018-04-03 17:45:38 · 46478 阅读 · 3 评论 -
django 新建项目报错:Requested setting INSTALLED_APPS, but settings are not configured.
今天学习 django,使用 anaconda 安装完 django 后,想要新建一个项目:django-admin.py startproject HelloWorld但是却报错:解决办法:将 django-admin.py 后面的 .py 去掉即可:django-admin startproject HelloWorld原因:网上教程是手动来安装django,然后使用 django-admin...原创 2018-04-04 14:43:06 · 7570 阅读 · 0 评论 -
anaconda 创建一个python环境的相关命令
1、安装了anaconda之后,在 Anaconda Prompt 中,很容易创建一个虚拟环境:conda create -n 你的虚拟环境名 python=3.5在执行过程中会询问Proceed ([y]/n)? ,这时候输入y回车即可创建成功。 2、然后使用activate 你的虚拟环境名来激活虚拟环境。3、退出虚拟环境使用:deactivate如:4、查看有哪些虚拟环境:conda en...原创 2018-04-04 15:05:22 · 1866 阅读 · 0 评论 -
python collections 模块中的 deque
collections.deque介绍collections 是 python 内建的一个集合模块,里面封装了许多集合类,其中队列相关的集合只有一个:deque。 deque 是双边队列(double-ended queue),具有队列和栈的性质,在 list 的基础上增加了移动、旋转和增删等。常用方法d = collections.deque([])d.append('a')...原创 2018-04-24 00:01:46 · 16422 阅读 · 2 评论 -
详细举例讲解 python 的 global 和 nonlocal 的区别
区别两个关键词都用于允许在一个局部作用域中使用外层的变量。global 表示将变量声明为全局变量nonlocal 表示将变量声明为外层变量(外层函数的局部变量,而且不能是全局变量)原理1、 python 在访问一个变量时,先要去定位这个变量来源于哪里。 python引用变量的顺序如下:当前作用域局部变量外层作用域变量当前模块中的全局变量python内置变量 ...原创 2018-04-28 01:18:39 · 15560 阅读 · 7 评论 -
Tensorflow API 讲解——tf.estimator.Estimator.evaluate
evaluate(self, input_fn, steps=None, hooks=None, checkpoint_path=None, name=None)作用使用验证集 input_fn 对 model 进行验证。 对于每一步,执行 input_fn(返回数据集的一个 batch)。已经进行了 steps 个 batch,或者input_fn 抛出了出界异常(OutO...原创 2018-05-07 18:16:28 · 9727 阅读 · 2 评论 -
Tensorflow API 讲解——tf.layers.conv2d
conv2d(inputs, filters, kernel_size, strides=(1, 1), padding='valid', data_format='channels_last', dilation_rate=(1, 1), activation=None, use_bias=True, kernel_initia...原创 2018-05-08 18:54:45 · 22089 阅读 · 4 评论 -
Tensorflow API 讲解——tf.estimator.Estimator
class Estimator(builtins.object)介绍Estimator 类,用来训练和验证 TensorFlow 模型。 Estimator 对象包含了一个模型 model_fn,这个模型给定输入和参数,会返回训练、验证或者预测等所需要的操作节点。 所有的输出(检查点、事件文件等)会写入到 model_dir,或者其子文件夹中。如果 model_dir 为空,则默认...原创 2018-05-29 18:22:04 · 23157 阅读 · 8 评论 -
python 用所有标点符号分隔句子
问题给出一段话,由短句组成,短句之间可能被任意标点符号隔开。想要提取所有的短句。解决使用 re.split 函数,用正则式匹配的方法,一次性分隔所有短句。import repattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|‘|’...原创 2018-07-03 16:44:18 · 19274 阅读 · 0 评论 -
python语法——@装饰器详解
python的装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数。 装饰器用到了闭包原理,目的是为了简化代码,用@来表示。不带参数的装饰器我们从一个最简单的装饰器例子说起:def add_one(f): def fun(*args): a = args[0] f(a + 1) return fun@add_one...原创 2018-07-23 10:44:46 · 438 阅读 · 0 评论 -
一张图说明python时间、时间戳与字符串三者的相互转换
一张图说明时间戳、时间、时间字符串三者之间的转换方法: 其中,蓝色线为一步到位,红色线没有直接的转换方法,是经过了两步蓝色线实现的。时间戳:int类型,秒级时间戳。时间:time_strut_time类型,需要提前引入 import time。字符串:str类型。时间与时间戳的互转time1 = time.localtime(ts)ts = int(time.mkt...原创 2018-07-24 19:54:00 · 2395 阅读 · 0 评论 -
从暴力求解到动态规划—— 7 种方法求解连续子数组的最大和问题(python实现)
问题描述已知一个数组 a[n],里面存放着浮点数,可能是正数、负数或0。求它的所有连续子数组中的最大和。连续子数组:指的是数组的一个连续切片,即可以表示为 a[i:j],0≤i≤j<n。连续子数组的和:比如连续子数组为 a[i:j] ,则和为 a[i] + a[i+1] + ... + a[j]。比如 a = [31,-41,59,26,-53,58,97,-93,-23,8...原创 2018-08-01 21:31:44 · 2283 阅读 · 0 评论 -
python语法——如何写多行字符串
问题有一个字符串很长,如何写成多行?解决方法一使用续行符:sql = "select * "\" from a "\" where b = 1"但是高版本python可能会不支持此方式,且每次都要在行最后加上续行符,不够简洁。方法二使用括号:sql = ("select *"" from a "" where b = 1")括原创 2018-08-14 15:15:00 · 12914 阅读 · 0 评论 -
python语法——三目运算符
在java中,有三目运算符,如:int c = (a &amp;gt; b) ? a : b表示 c 取两者中的较大值。 但是在 python ,不能直接这样使用,估计是因为冒号在 python 有分行的关键作用。 那么在 python 中,如何实现类似功能呢?可以使用 if else 语句,也是一行可以完成。 如:c = (a if(a &amp;gt; b) else b)同样是...原创 2018-08-18 18:00:28 · 874 阅读 · 0 评论 -
python语法——用f-string实现字符串连接
老方法将字符串与变量连接起来,比如想打印记录一个函数输入内容和输出内容的日志,一般方法有:1、字符串相加a = 'input:' + input + ',output:' + output2、使用 C 语言中的 %a = 'input:%s,output:%s' % (input, output)3、使用 format 方法a = 'input:{},outpu...原创 2018-08-18 18:05:34 · 6295 阅读 · 0 评论 -
Leetcode算法——1、两数求和
题目Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the s...原创 2018-09-01 16:00:21 · 815 阅读 · 0 评论 -
Leetcode算法——2、链表相加
题目You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and ...原创 2018-09-01 16:14:44 · 802 阅读 · 0 评论 -
Leetcode算法——3、最长无重复子串问题
题目Given a string, find the length of the longest substring without repeating characters.给定一个字符串,找到最长的不包含重复字符的子字符串的长度。示例: Given “abcabcbb”, the answer is “abc”, which the length is 3. Given “bb...原创 2018-09-01 17:26:32 · 452 阅读 · 0 评论 -
Leetcode算法——5、最长回文子串
题目Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.给定一个字符串s,找到s中最长的回文字字符串。假设s的最大长度为1000.示例: Example 1:Input: &quot;babad&quot;Output...原创 2018-09-08 10:37:55 · 1076 阅读 · 3 评论 -
最长回文子串——马拉车算法详解
马拉车算法(Manacher‘s Algorithm)是用来解决求取一个字符串的最长回文子串问题的。此算法充分利用了回文字符串的性质,将算法复杂度降到了线性,非常值得一学。我将网上所有讲解马拉车算法的文章基本看了一遍,总结出了最通俗易懂的介绍,同时用 python 进行了实现。题目给定一个字符串s,找到s中最长的回文子字符串。所谓回文字符串,指的是无论从左往右读还是从右往左读,...原创 2018-09-12 06:52:44 · 12990 阅读 · 10 评论 -
Leetcode算法——8、字符串转整数
题目Implement atoi which converts a string to an integer. The function first discards as many whitespace characters as necessary until the first non-whitespace character is found. Then, starting fr...原创 2018-09-17 09:36:25 · 413 阅读 · 0 评论