• 为什么Python类语法应该不同?

    如果您已经使用了任何编程语言很长一段时间,您就会发现您想要的东西跟它原有的是不同的。Python对我来说是真的是这样。如果可以的话,对于Python中很多的我想要改的东西,我有很多的想法。现在我向您讲述其中一个:类定义的语法。 但是,让我们先从定义函数的语法开始。它有一个非常好的特性:函数定义看起来像它们相应的函数调用。函数定义如下: def func_name(arg1, arg2): 当您调用该函数时,您使用类似的语法:函数名称和括号中以逗号分隔的参数列表: x = func_name(12...

    Python开发 2020年7月27日
  • Python隐藏特性:字符串驻留、常量折叠

    下面是Python字符串的一些微妙的特性,绝对会让你大吃一惊。 案例一: >>> a = "some_string" >>> id(a) 140420665652016 >>> id("some" + "_" + "string") # 注意两个的id值是相同的. 140420665652016 案例二: >>> a = "wtf" >>> b = "wtf" >>> a is b Tru...

    Python开发 2020年7月27日
  • 老司机告诉你:正规的运维工作是什么的?

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。 运维人员对公司互联网业务所依赖的基础设施、基础服务、线上业务进行稳定性加强,进行日常巡检发现服务可能存在的隐患,对整体架构进行优化以屏蔽常见的运行故障,多数据中接入提高业务的容灾能力。 通过监控、日志分析等技术手段,及时发现和响应服务故障,减少服务中断的时间,使公司的互联网业务符合预期的可用性要求,持续稳定地为用户提供务。 在安全方面,运维人员需要关注业务运行所涉及的各...

    Linux云计算 2020年7月24日
  • Python with提前退出:坑与解决方案

    问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: 全局进程锁本身不用多说,大部分都依靠外部的缓存来实现的,redis上用的是setnx,有时候根据需要加上缓存击穿问题、随机延后以防止对缓存本身造成压力。 当时同样写了单元测试来测试这段代码的有效性: 看起来非常完美地通过了。 这样的一个全局进程锁是通过__enter__方法抛出异常, __exit__方法中捕获异常来实现的: 看起来还不错,毕竟单元测试都过了。 但是,这样的实现是有问题的: 原因在于__exit__ 的执行...

    Python开发 2020年7月24日
  • 车牌检测和识别的Python应用软件实现

    1.车牌检测和识别项目介绍 车牌的检测和识别的应用非常广泛,比如交通违章车牌追踪,小区或地下车库门禁。在对车牌识别和检测的过程中,因为车牌往往是规整的矩形,长宽比相对固定,色调纹理相对固定,常用的方法有:基于形状、基于色调、基于纹理、基于文字特征等方法,近年来随着深度学习的发展也会使用目标检测的一些深度学习方法。该项目主要的流程如下图所示: 1.输入原始图片,通过二值化,边缘检测,和基于色调的颜色微调等办法检测出原图中的车牌号的位置;2.把检测到的车牌(ROI)裁剪,为车牌号的识别做准备;3.基...

    技术干货 2020年7月23日
  • Python with提前退出:坑与解决方案

    问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: 全局进程锁本身不用多说,大部分都依靠外部的缓存来实现的,redis上用的是setnx,有时候根据需要加上缓存击穿问题、随机延后以防止对缓存本身造成压力。 当时同样写了单元测试来测试这段代码的有效性: 看起来非常完美地通过了。 这样的一个全局进程锁是通过__enter__方法抛出异常, __exit__方法中捕获异常来实现的: 看起来还不错,毕竟单元测试都过了。 但是,这样的实现是有问题的: 原因在于__exit__ 的执行...

    Python开发 2020年7月22日
  • 你都知道哪些好用的python工具?

    工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐给追求美好事物的你。 Python Tutor Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在 Web 浏览器中编写 Python 代码,并逐步可视化地运行程序。如果你不知道代...

    Python开发 2020年7月21日
  • 学习程序员必知必会的基础算法(收藏)

    近年来学习python的程序员愈来愈多,有的同学选择了python培训机构,也有的人觉得自己天赋好选择了自学不管大家怎么去学习,在学习python基础的过程中,肯定离不开的就是基础算法,今天就为大家介绍几大学习中的基础算法。 算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。 事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以...

    Python开发 2020年7月21日
  • 说声谢谢!给你需要的NumPy知识

    Python虽然是一门比较好入门的语言,相较于其他语言来说是一门比较简单的语言。不过有一个很重要的问题就是,即使Python 语言的很多方法不用手打都已经被封装,可以Python初学者还是要学习很多东西。下面我结合了一些经常用到的NumPy基础知识送给大家。 基础知识 NumPy 主要的运算对象为同质的多维数组,即由同一类型元素(一般是数字)组成的表格,且所有元素通过正整数元组进行索引。在 NumPy 中,维度 (dimension) 也被称之为轴线(axes)。 比如坐标点 [1, 2, 1]...

    Python开发 2020年7月20日
  • 谷歌SRE与运维工作的思考

    运维部门要保障产品业务稳定性,开发部门要想随时随地快速上线新功能,而线上的故障往往是由新的变更导致的——不管是新发布了版本,还是修改配置,或者是改变了用户某些行为导致流量负载产生变化,传统意义上这两个部门在本质目标上是相对的。所以运维部门往往会要求开发部门对变更或发布做控制,并且规定要走一些繁琐的流程;而开发部门会想法设法绕过这些繁琐步骤,以支持新功能更快上线。 谷歌的工作方式:面对运维部门与开发部门之间的产品稳定性与迭代创新速度之间的矛盾,允许产品在设定的“错误预算”内发生异常,利用可量化的S...

    Linux云计算 2020年7月17日
历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、容器云、Go、Python开发专业人才培训机构!