拥有Python标签的文章
Python

Python列表append和+的区别浅析

在python中使用列表的时候大家经常会需要向一个列表中添加一个元素,像下面这两种使用方法需要注意:复制代码代码如下:t=[1,2,3]t1=t.append([4])t2=t+[4]以上两种使用方式是有区别的,我们来看看实际运行的效果:复制代码代码如下:>>>t=[1,2,3]>>>t1=t.append([4])>>>t[1,2,3,[4]]>>>t1>>>>>>t2=t+[4]>>>t2[1,2,3,[4],4]>>>t[1,2,3,[4]]可以看到

系统 2019-09-27 17:52:37 2377

Python

python函数

1.位置参数位置参数就是普通的参数定义defpower(x):print(x**2)2.默认参数当调用函数时没有给参数值,那么会给使用定义的默认值。下面定义的函数可以定义参数值也可以不定义,不定义时x默认为9defpower(x=3):print(x**2)默认参数注意事项,当默认参数使用的是可变的类型参数时,会产生不同的结果。当函数定义默认的参数是一个空列表时,第一次调用函数时,变量L设为['end'],当第二次调用时,会以['end']为默认参数,因为

系统 2019-09-27 17:52:14 2377

Python

Python Tkinter 简单登录界面的实现

如下所示:fromtkinterimport*classReg(Frame):def__init__(self,master):frame=Frame(master)frame.pack()self.lab1=Label(frame,text="账户:")self.lab1.grid(row=0,column=0,sticky=W)self.ent1=Entry(frame)self.ent1.grid(row=0,column=1,sticky=W)se

系统 2019-09-27 17:51:33 2377

Python

Python序列类型切片取值彻底剖析

简介Python中对序列类型某个子集或者区间的检索称作切片。实际上,切片功能非常强大,能够提供对可编辑序列类型数据的增、删、改、查等各种操作,运用恰当的话会极大地节省编码量。因此,切片知识在Python开发中极其重要,如果啃不掉这根硬骨头,将会给你未来的Python开发之路带来极大挫败感。全国二级Python考试中考查的序列类型主要有三种,即字符串、元组和列表,也是实战中使用最频繁的数据结构。其中,列表是可编辑的,而字符串和元组仅提供读操作。本文将以列表为

系统 2019-09-27 17:49:56 2377

Python

Python 图像处理: 生成二维高斯分布蒙版的实例

在图像处理以及图像特效中,经常会用到一种成高斯分布的蒙版,蒙版可以用来做图像融合,将不同内容的两张图像结合蒙版,可以营造不同的艺术效果。这里II表示合成后的图像,FF表示前景图,BB表示背景图,MM表示蒙版,或者直接用蒙版与图像相乘,形成一种渐变映射的效果。如下所示。这里介绍一下高斯分布蒙版的特性,并且用Python实现。高斯分布的蒙版,简单来说,就是一个从中心扩散的亮度分布图,如下所示:亮度的范围从1到0,从中心到边缘逐渐减弱,中心的亮度值最高为1,边缘

系统 2019-09-27 17:48:27 2377

Python

Python的类实例属性访问规则探讨

一般来说,在Python中,类实例属性的访问规则算是比较直观的。但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此。在这里,我们需要明白以下几个地方:1.Python是一门动态语言,任何实体都可以动态地添加或删除属性。2.一个类定义了一个作用域。3.类实例也引入了一个作用域,这与相应类定义的作用域不同。4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找。5.在对类实例属性进行赋

系统 2019-09-27 17:47:18 2377

Python

Python版微信红包分配算法

红包分配算法代码实现发给大家,祝红包大丰收!#coding=gbkimportrandomimportsys#printrandom.randint(0,99)#print"====",random.uniform(0,0.99)defcalRandomValue(min,max,total,num):printmin,max,total,numtotal=float(total)num=int(num)min=0.01if(numreturnifnum=

系统 2019-09-27 17:47:02 2377

Python

python内存管理机制原理详解

python内存管理机制:引用计数垃圾回收内存池1.引用计数当一个python对象被引用时其引用计数增加1;当其不再被变量引用时引用计数减1;当对象引用计数等于0时,对象被删除(引用计数是一种非常高效的内存管理机制)2.垃圾回收垃圾回收机制:①引用计数,②标记清除,③分带回收引用计数:引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术.当python某个对象的引用计数降为0时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾了.(

系统 2019-09-27 17:45:59 2377

Python

python3迭代器与生成器

Python3迭代器与生成器一:迭代器迭代是访问集合元素的一种方式。可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。字符串,列表或元组对象都可用于创建迭代器:a=[1,2,3,4,5]b=iter(a)可用for循环进行遍历:forxinb:print("%s"%x,end="")运行结果:`12345也可用next()进行遍历:prin

系统 2019-09-27 17:55:55 2376

Python

Python 20行简单实现有道在线翻译的详解

简介主要是尝试简单的使用pyhton的爬虫功能,于是使用有道进行尝试,并没有进行深入的诸如相关api的调用。以下是需要的POST数据代码以下是相关部分的代码:importurllib.requestimporturllib.parseimportjsoncontent=input('需要翻译的内容:')#翻译内容url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&

系统 2019-09-27 17:55:42 2376

Python

十大经典排序算法 python版

0.概述01.算法分类在排序算法中,根据时间复杂度的不同可以将排序算法分为两类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn)(下限),因此称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。02.算法复杂度03.稳定和不稳定稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而

系统 2019-09-27 17:50:32 2376

Python

Python 中迭代器与生成器实例详解

Python中迭代器与生成器实例详解本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下:1.手动遍历迭代器应用场景:想遍历一个可迭代对象中的所有元素,但是不想用for循环解决方案:使用next()函数,并捕获StopIteration异常defmanual_iter():withopen('/etc/passwd')asf:try:whileTrue:line=next(f)iflineisNone:br

系统 2019-09-27 17:48:07 2376

Python

python爬虫之自制英汉字典

最近在微信公众号中看到有人用Python做了一个爬虫,可以将输入的英语单词翻译成中文,或者把中文词语翻译成英语单词。笔者看到了,觉得还蛮有意思的,因此,决定自己也写一个。首先我们的爬虫要能将英语单词翻译成中文,因此,我们就需要一个网站帮助我们做这件事情。于是,我们选定有道词典,网址为:http://dict.youdao.com/。在该网页中我们输入单词nice,就会出来这个单词的意思,如下图:针对上述过程,对于熟悉爬虫的读者来说,是不难完成将输入的单词的

系统 2019-09-27 17:57:05 2375

Python

初学Python之爬虫的简单入门

初学Python之爬虫的简单入门一、什么是爬虫?1.简单介绍爬虫爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将互联网中丰富的网页信息保存到本地,形成镜像备份。我们熟悉的谷歌、百度本质上也可理解为一种爬虫。如果形象地理解,爬虫就如同一只机器蜘蛛,它的基本操作就是模拟人的行为去各个网站抓取数据或返回数据。2.爬虫的分类网络爬虫一般分为传统爬虫和聚

系统 2019-09-27 17:56:55 2375

Python

Python3 对象组合zip()和回退方式*zip详解

zip概述zip即将多个可迭代对象组合为一个可迭代的对象,每次组合时都取出对应顺序的对象元素组合为元组,直到最少的对象中元素全部被组合,剩余的其他对象中未被组合的元素将被舍弃。keys=['one','two','three']values=[1,2,3]d=zip(keys,values)print(list(d))示例结果:[('one',1),('two',2),('three',3)]可以看到我们由zip模拟了一个类似字典的一一对应的元组迭代对象,

系统 2019-09-27 17:55:59 2375