问题出现原因:删除Python没有正常删除,而是直接删除了安装Python的文件夹,导致卸载面板还存在对应版本,但是卸载会出错(卸载不掉)。解决:找到路径:C:\Users\【用户名】AppData\Local\PackageCache\:路径下文件如下,删除对应卸载不掉的文件目录,不带版本信息的目录删除即可,然后再卸载面板双击卸载就可以彻底删除对应版本**
print("\n".join(["\t".join(["%sx%s=%s"%(x,y,x*y)forxinrange(1,y+1)])foryinrange(1,10)]))效果如下:1x1=11x2=22x2=41x3=32x3=63x3=91x4=42x4=83x4=124x4=161x5=52x5=103x5=154x5=205x5=251x6=62x6=123x6=184x6=245x6
python中对象内存分配的秘密:http://note.youdao.com/noteshare?id=4f2a12ca09e6ec21d3ea03d05e2744e9
find():查找字符串是否有特定字符串,若有返回索引值,若没有,返回-1index():查找字符串中是否有特定字符,若有返回索引值,若没有,抛出异常replace(old,new):使用新的字符串替代原字符串中特定的字符串split(str):根据分隔符str拆分字符串,默认以
切片操作首先支持下标索引,通过[N:M:P]操作索引正向从0开始,逆向从-1开始N:切片开始位置M:切片结束位置(不包含)P:指定切片步长,为正数表示按照指定步长正向切片,为负数反之一、列表的切片操作列表切片后还是列表通过列表生成器定义一个列表:In[2]:a=[nforninrange(10)]In[3]:aOut[3]:[0,1,2,3,4,5,6,7,8,9]通过切片浅拷贝对象:In[4]:
eval()函数的妙用官方文档中的解释是,将字符串str当成有效的表达式来求值并返回计算结果。globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象#通过eval实现计算器defcalc(n):print("{}={}".format(n,eval(n)))calc('10+10')ca
#通过递归实现求n的阶乘defmy_test(n):ifnis0:return1else:returnn*my_test(n-1)print(my_test(5))>>120#通过普通循环实现求n的阶乘defmy_test2(n):result=nforiinrange(1,n):result*=ireturnresultprint(my_test2(5))>>120
ORM:对象关系映射,是通过代码和数据库实现交互的一种映射关系DjangoORM:使用活动记录实现(activerecord)数据库中每一行(记录)都映射代码中的一个对象框架可以查看数据库模式(schema)适合CURD操作自动创建ID主键默认自动提交SQLAlchemy:使用数据映射器实现数据库结构和对象之间是分离的,采用持久层保持与数据库的交互(保存操作对象)代码无需知道数据库整个关系结构(代
在返回列表嵌套字典时候,往往需要对数据进行一定的处理:按照字典中某一个key排序In[87]:a=[{"name":"牛郎","age":23},{"name":"许仙","age":20},{"name":"董永","age":18}]In[88]:aOut[88]:[{'name':'牛郎','age':23},{'name':'许仙','age':20},{'name':'董永','age'
a=[1,[2,[3],4],5]deflist_more(arg):new_list=[]foriinarg:iftype(i)isnotlist:new_list.append(i)else:new_list.extend(list_more(i))returnnew_listIn[65]:list_more(a)Out[65]:[1,2,3,4,5]
回数:数字正反都是它本身就叫回数defis_back_num(num):ifstr(num)==str(n)[::-1]print("{}是回数".format(num))else:print("{}不是回数".format(num))例如In[51]:defis_pa(n):...:ifstr(n)==str(n)[::-1]:...:print('{}是回数'.format(n))...:el
元组tuple:在Python数据类型中属于不可变数据类型命名元组:namedtuples:是python中的元组数据类型的扩展普通元组中的数据只能通过索引(index)来访问命名元组:可以通过唯一标识符来访问存储的数据,(名字.对象)使用:导入fromcollectionimportnamedtuple定义:In[11]:Car=namedtuple('Car','colorsizemileag
如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。例如1^3+5^3+3^3=153defmy_sum(num):"""计算阿姆斯特朗数"""num_list=list(str(num))#转换为字符串列表n=len(num_list)#计算长度my_list=[int(x)**nforxinnum_list]#计算s=sum(my_list)returnsli=[]#计算10
在Python中每次创建一个package后都会自动生成一个'__init__.py'的空文件;该问价的作用是:声明我们当前创建的文件夹(包)是一个**Python模块**,在Python中每一个包中必须有一个__init__.py文件.一般这个文件都为空,只有我们在这个包下面创建多个.py文件后,当我们想使用该包下的某一模块,我们则需要在__init__.py文件中通过__all__=['模块名
蓝图(blueprint)的目的是实现各个模块的视图函数写在不同的文件目录中,程序入口模块(主视图)中导入功能模块(模块视图),并且注册蓝图对象功能模块(分路由视图)中利用蓝图对象.route进行装饰视图函数main.pyfromflaskimportFlaskfromordersimportorder_blue#导入我们自定义的蓝图(功能模块蓝图对象)app=Flask(__name__)#将蓝
Flask中模板渲染中过滤器的定义:fromflaskimportFlask,render_templateapp=Flask(__name__)@app.route("/")defindex():returnrender_template("temp-demo2.html")#方式一#自定义过滤器函数,命名不能与内置过滤器重名,不然会覆盖#自定义列表切片过滤器defli_setup2(li):#
Flask是一个使用Python语言编写的轻量Web开发级框架--"麻雀虽小,五脏俱全"。flash两大核心:基于Werkzeug的路由模块,基于Jinja2模板引擎。中文文档:http://docs.jinkan.org/docs/flask/虚拟环境配置参照中文文档:下面通过在代码里面介绍一些基础知识点:fromflaskimportFlaskfromflaskimport
![](http://i2.51cto.com/images/blog/201804/21/b441a0942ad300878e562c5840be5fca.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3po
importsocketimportthreading#创建接收路由列表routers=[]#创建互斥锁lock=threading.Lock()#设置需要扫描的端口号列表port_list=['3389','2425','139']#定义查询路由函数defsearch_routers():#获取本地ip地址列表local_ips=socket.gethostbyname_ex(socket.ge
Python中is和==的区别,如下:环境实在IPython做的测试在Python中is是一个对象标识符(objectidentity),==表示相(equality);is是通过对象所指向的内存地址是否相等来进行判断==则是通过调用方法eq判断两边的对象是否相等一般情况下aisb返回True的话这表示a,b指向同一内存地址a==b返回True,即a和b的值相等图1图2图1和图2对比发现,操作思路
python的super用法及含义注释:以下都是在python2.7版本验证的总括:1、python解决二义性问题,经历了深度优先算法、广度优先算法、拓扑排序算法,目前python的版本都是使用拓扑算法(C3) 2、严谨super(A,self).__init__()和A.__init__(self)这两种调用类方法的方法混用3、A.__init__(self)是经典类的调用方法,使用深度优先算
面向对象简单实现命令参数计算器importsys'''命令行实现计算功能通过面向对象实现简单的计算器功能_author_=fei_yi_ban'''classCalc(object):#初始化运算参数def__init__(self,a,b,c):self.a=aself.b=bself.c=c#计算实现defmethod(self):ifself.b=="+":returnint(self.a)
协程是Python中实现多任务一种方式,相比多任务之进程和线程,协程不需要消耗过多的资源,更高效的利用了cpu资源。在Python中通过gevent封装generator迭代器功能实现多任务的切换。协程在运行过程中是靠程序的耗时操作来实现程序中断。达到切换多任务。至始至终,程序都是在一条主线程里面完成的。下面是一个利用协程实现多张图片的同时下载。fromgeventimportmonkeyimpo
通过迭代器实现:classFibIterator(object):def__init__(self,n):self.n=n#是使用current保存当前数列中第几个数self.current=0#使用num1保存数列中前一个数,初始值为0self.num1=0#使用num2保存数列中后一个数,初始值为1self.num2=1def__next__(self):#判断迭代当前个数小于我们输入数字if
importsocketimportreimportgeventfromgeventimportmonkeymonkey.patch_all()#识别等待时间,让协程切换defclient_handler(client_socket):'''接收客户端链接请求,响应对应的的数据'''#接收数据request_data=client_socket.recv(4096)#判断是否接收到数据ifnotr
模拟浏览器请求数据:importsocket#创建TCP链接tcp_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#DNS解析和链接HTTP服务器tcp_socket.connect(("www.qq.com",80))#编写请求头,发送HTTP请求报文#请求行request_line="GET/HTTP/1.1\r\n"#请求头,设
匿名函数,关键字lambda,后接参数,然后是功能代码,整体返回结果#匿名函数lambdafun=lambdax,y:x+yprint(fun(2,3),type(fun))输出结果:5<class'function'>列表生成式,通过在[]中通过...for...in...快速生成数字列表#列表生成式list=[xforxinrange(5)]print(list)输出结果:[0,1
Python基础知识梳理:
Socket是进程之间通讯的一种方式,调用socket网络库中的API函数实现不同主机相关进程的数据交换。网络中所有涉及通讯的设备都需要scoket。首先我们需要了解一下相关概念1、IP地址:根据TCP/IP协议分配给网络中主机的唯一网络地址,该地址是网络通讯中必须知道的2、端口号:主机内部用来区分本地通讯进程的,一个进程必须有一个端口号3、连接:指两个进程之间的通讯链路4、半相关:网络中用一个三
水仙花数(Narcissisticnumber)也被称为超完全数字不变数(pluperfectdigitalinvariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrongnumber),水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身(例如:1^3+5^3+3^3=153)《摘自百度百科》。下面给出三位数水仙花Python代码实现::#循环遍
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号