• Python操作dict时避免出现KeyError的几种解决方法

    2020-09-20

    在读取dict的key和value时,如果key不存在,就会触发KeyError错误,如:t = {  'a': '1',  'b': '2',  'c': '3',}print(t['d'])就会出现:KeyError: 'd'第一种解决方法首先测试key是否存在,然后才进行下一步操作,如:t = {  'a': '1',  'b': '2',  'c': '3',}if 'd' in t:

  • Python中的特殊方法以及应用详解

    2020-09-20

    前言Python 中的特殊方法主要是为了被解释器调用的,因此应该尽量使用 len(my_object) 而不是 my_object.__len__() 这种写法。在执行 len(my_object) 时,Python 解释器会自行调用 my_object 中实现的 __len__ 方法。除非有大量的元编程存在,直接调用特殊方法的频率应远小于实现它们的次数。模拟数值类型可以通过在自定义对象中实现 _

  • python实现二分查找算法

    2020-09-19

    介绍二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。前提必须待查找的序列有序时间复杂度O(log2n)原理1)确定该期间的中间位置K2)将查找的值t与array[k]比较,若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。3)区域确定过程:若array[k]>t,由于数组有序,

  • Nginx域名转发使用场景代码实例

    2020-09-18

    场景1:因服务器限制,所以只对外开放了一个端口,但是需要请求不同的外网环境,所以在中转服务器上用nginx做了一次转发实现:server { listen  8051; server_name localhost;  location /license/ {      proxy_pass http://xxx.xxx.xxx.xxx:8058/; }  location / {      pro

  • python实现简单遗传算法

    2020-09-18

    ObjFunction.pyimport mathdef GrieFunc(vardim, x, bound): """ Griewangk function """ s1 = 0. s2 = 1. for i in range(1, vardim + 1):  s1 = s1 + x[i - 1] ** 2  s2 = s2 * math.cos(x[i - 1] / math.sqrt(i))

  • python实现人工蜂群算法

    2020-09-18

    ABSIndividual.pyimport numpy as npimport ObjFunctionclass ABSIndividual:  '''  individual of artificial bee swarm algorithm  '''  def __init__(self, vardim, bound):    '''    vardim: dimension of vari

  • Python 操作 MySQL数据库

    2020-09-18

    开发环境与配置  win_x64  Ubuntu14.04  Python3.x  pip安装pymysql模块直接使用pip安装 pip install pymysqlwin64上直接在cmd中执行连接本地数据库使用模块pymysql连接数据库本地数据库相关配置请参阅: http://rustfisher.github.io/2017/02/25/backend/MySQL_install/#!

  • Python实现迪杰斯特拉算法过程解析

    2020-09-18

    一、 迪杰斯特拉算法思想Dijkstra算法主要针对的是有向图的单元最短路径问题,且不能出现权值为负的情况!Dijkstra算法类似于贪心算法,其应用根本在于最短路径的最优子结构性质。最短路径的最优子结构性质:如果P(i,j)={Vi…Vk…Vs…Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必定是从k到s的最短路径。证明:假设P(i,j)={Vi…Vk…Vs…

  • Python自定义sorted排序实现方法详解

    2020-09-18

    题目输入一个正整数数组,把数组里面的所有属猪拼接起来成为一个数打印能拼接起来的所有数字中最大/最小的那个。思考直观想法就是求出这个数组中所有数字的全排列,然后拼接起来,再比较大小即可,当然复杂度过高。另一个想法,我们可以定义一个排序规则,如下:如果两个数m,n能拼接成数字mn,nm,如果mn>nm,则m应该在n前面,反之亦然根据这个排序规则,我们可以重新排列数组,将排列好的数组拼接起来输出即可'为

  • python闭包与引用以及需要注意的陷阱

    2020-09-18

    python闭包关于闭包, 很多blog中都这样解释 :对于一个嵌套定义的函数,外层的函数的返回值是内层函数,而在内层函数中又引用了外层函数的局部变量,在外层函数执行后,其局部变量并非被回收,而会同返回的内层函数一同存在,而这一现象被称为闭包(closure)。不过以上的理解有些繁琐和局限, 在计算机科学中 ,闭包(Closure)词法闭包(Lexical Closure)的简称,是引用了自由变量

  • 浅谈python 类方法/静态方法

    2020-09-18

    1.类方法类方法是从属于"类对象"的方法。类对象可以通过装饰器@classmethod来定义,具体格式如下:@classmethoddef 类方法名(cls [, 形参列表]):方法体要点如下:  @classmethod必须位于方法的上面一行  第一个参数cls(class的缩写,和前面笔记介绍的self类似),必须要有,代指"类对象"本身。  调用类方法格式:类名.类方法名(参数列表)。参数列

  • python 代码运行时间获取方式详解

    2020-09-18

    我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。这里将介绍四种常用的测试代码运行速度的方法。第一种:使用time模块对代码的运行时间进行统计,代码如下:import timeclass Debug:  def mainProgram(self):    start_time = time.time()    for

  • 记一次Django响应超慢的解决过程

    2020-09-17

    在本地windows机器开发的Django项目运行正常,放到服务器上后响应超慢,花了一整个工作日没找到原因(非常绝望),又花了一整个周末才找到原因和临时解决办法,如果你的项目超慢可以参考一下解决思路。排查过程:1.怀疑是Python环境问题,到服务器上各种虚拟环境版本进行尝试,无果。2.因为用了mysql数据库,开始用pymysql包连接改动了一些参数,担心是驱动问题导致数据库查的慢,更换mysq

  • Python request中文乱码问题解决方案

    2020-09-17

    Python request获取网页中文乱码问题r = requests.get(“http://www.baidu.com“) **r.text返回的是Unicode型的数据。使用r.content返回的是bytes型的数据。也就是说,如果你想取文本,可以通过r.text。如果想取图片,文件,则可以通过r.content。**方法1:使用r.textRequests 会自动解码来自服务器的内容。

  • Django修改app名称和数据表迁移方案实现

    2020-09-17

    项目一开始的设计很重要,django中app的名称建议用小写我的博客由两个app组成,Blog和JiaBlog,总觉得不美观,想改成小写的oblog和blog,那么最关键的地方在于和orm数据表的映射把JiaBlog.articles改成blog.articles是终极目标,这里不推荐用django的migrate写一个sql批量生成mysql改表名的语句SELECT CONCAT( 'ALTER

  • Scrapy项目实战之爬取某社区用户详情

    2020-09-17

    本文介绍了Scrapy项目实战之爬取某社区用户详情,分享给大家,具有如下:get_cookies.pyfrom selenium import webdriverfrom pymongo import MongoClientfrom scrapy.crawler import overridden_settings# from segmentfault import settingsimport

  • django跳转页面传参的实现

    2020-09-17

    一、情景     eg:查看一条数据的详情,需要跳转页面,并进行传值二、思路方式1:触发详情按钮时,Js获取到该条数据的id值,并传递给url,后台接受到该请求,通过id查询到这条数据。并返回一个json串给前端。前端拿到数据进行处理,映射给页面。方式2:触发详情按钮时,同时前端进行本地保存当前数据(sessionstorage\localstorage),跳转页面后,前端直接从storage当前

  • Python字符串三种格式化输出

    2020-09-17

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助。格式化输出:内容按照一定格式要求进行输出。1.使用占位符%输出python2.6版本之前,使用%格式化字符串沿用的是C语言的输出格式。使用说明:print("格式化字符串" % 变量)#变量超过2个使用元组格式:print("格式化字符串" % (变量1,变量2))使用%占位符表示字符串中变

  • 通俗易懂了解Python装饰器原理

    2020-09-17

    作用装饰器可以用于用于装饰一个函数或方法,使得在不修改原函数、方法代码的前提下,为方法添加前置或后置操作;例如突然想要计算一下各个函数的执行时间,又不希望在每一个函数中添加tim.time()来计算执行时间用法装饰器的写法网上很多,但是我觉得还是尽量先理解,再知道怎么写会比较好,所以会先说如何理解,在后面重写用法实现了解装饰器是如何实现的,远比会写装饰器更重要,简单的说装饰器就是接收一个函数对象,

  • python如何使用腾讯云发送短信

    2020-09-17

    腾讯云方面的申请和流程都比较简单,基本都是可视化操作的,这里就不在赘述了。这篇文章着重讲解怎么用python实现调用。 我假设你已经满足了以下几个前提 + 已经开通了腾讯云短信业务 + 创建好了短信签名 + 也已经审核过了短信正文模板 + 并且已经知道自己的SDK AppID、签名ID、短信模板IDPython 相关需要安装腾讯云提供的模块或SDK 我们以qcloudsms_py模块为准,首先pi

  • python Matplotlib模块的使用

    2020-09-17

    一、Matplotlib简介与安装  Matplotlib也就是Matrix Plot Library,顾名思义,是Python的绘图库。它可与NumPy一起使用,提供了一种有效的MATLAB开源替代方案。它也可以和图形工具包一起使用,如PyQt和wxPython。  安装方式:执行命令 pip install matplotlib  一般常用的是它的子包PyPlot,提供类似MATLAB的绘图框

  • python 服务器运行代码报错ModuleNotFoundError的解决办法

    2020-09-17

    一、问题描述一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No module named ‘xxx' 错误。二、问题原因在代码中引入了其他文件的包(自己写的包,非 pip 安装的),问题出在 import 那行语句。错误的原因是因为路径的原因,服务器端的路径和我们本地的路径不一样显示。三、解决示例要解决这个问题,可以在自

  • 简单了解Python字典copy与赋值的区别

    2020-09-17

    描述Python 字典(Dictionary) copy() 函数返回一个字典的浅复制。语法copy()方法语法:dict.copy()返回值返回一个字典的浅复制。实例以下实例展示了 copy()函数的使用方法:dict1 = {'Name': 'Zara', 'Age': 7}; dict2 = dict1.copy()print "New Dictinary : %s" % str(dict2

  • Python通过类的组合模拟街道红绿灯

    2020-09-17

    一,红绿灯揭示板案例思路1. 创建Traffic_light红绿灯类(1)静态属性 :<1> 绿灯时间,<2> 黄灯时间 , <3> 红灯时间, <4> 两块显示时间的电子屏(2)动态属性<1> 输入红黄绿时间函数(静态函数),<2> 红黄绿时间倒计时函数 ,<3> 构造电子屏数字的显示函数,<4> 显示两块电子屏绑定两位数的显示函数<5> 实例化对象展示电子屏函数2. 电子屏类的创建(Light

  • python实现简单的tcp 文件下载

    2020-09-16

    什么是下载?首先客户端会问服务器,有没有一个xxx的文件啊?服务器开始寻找,找到后对客户端说有,然后客户端在本地新建一个文件,客户端从服务器收到一点数据,就写进这个文件中,再收到一点数据,再写入这个文件中,只要把所有的接收到的数据都写入到这个文件中,就完成了下载的操作。所以下载需要2个部分。服务器的发送方和客户端的接收方。我们这里不考虑复杂的情况。什么限速啊,验证啊,文件大小......只实现最简

 29593    1 2 3 4 5 6 7 8 9 10 下一页 尾页

微信扫一扫

易采站长站微信账号