在Python中,有四类最常见的内建容器类型:列表(list)、元组(tuple)、字典(dict)、集合(set)。通过单独或是组合使用它们,可以高效的完成很多事情。Python语言自身的内部实现细节也与这些容器类型息息相关。比如Python的类实例属性、全局变量globals()等就都是通过字典类型来存储的。在这篇文章里,我首先会从容器类型的定义出发,尝试总结出一些日常编码的最佳实践。之后再围绕各个容器类型提供的特殊机能,分享一些编程的小技巧。当我们谈
系统 2019-09-27 17:45:32 2151
最近由于服务器托管中心频繁出现网络故障问题,因此写了一简单的py程序,用于检测网络状态。实现的原理相当简单,运行ping命令发送30个数据包,如果超过30%的丢失,则认为故障发生,然后做故障处理,如写日志,发邮件。主要函数importosdefmonitoring(server_ip):cmd="ping-c30%s"%server_ipp=os.popen(cmd)info=p.read()p.close()re_lost_str='(\d+)%pack
系统 2019-08-29 23:34:27 2151
在介绍岭回归算法与Lasso回归算法之前,先要回顾一下线性回归算法。根据线性回归模型的参数估计公式可知可知,得到的前提是矩阵可逆。换句话说就是样本各个特征(自变量)之间线性无关。然而在实际问题中,常常会出现特征之间出现多重共线性的情况,使得行列式的值接近于0,最终造成回归系数无解或者无意义。为了解决这个问题,岭回归算法的方法是在线性回归模型的目标函数之上添加一个l2的正则项,进而使得模型的回归系数有解。具体的岭回归目标函数可表示为如下:在Python中,岭
系统 2019-09-27 17:57:10 2150
在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任意字符,*代表0-无穷个,比如说要分别匹配某个目录下的子目录:>>>importre>>>match=re.match(r"/(.*)/(.*)/(.*)/","/usr/local/bin/")>>>match.groups()('usr','local','bin')>>>比如像上面,使用(.*)就能很好的匹配,但如果字符串中里面即有TAB键,又有空格,要匹配出来,如何匹配呢?比如说像"Hell
系统 2019-09-27 17:56:22 2150
importbase64importskimage.ioimportmatplotlib.pyplotaspltdefbase64_to_rgb(base64_str):"""默认base64中的图像为rgb,直接转换成即可:parambase64::return:"""ifisinstance(base64_str,bytes):base64_str=base64_str.decode("utf-8")imgdata=base64.b64decode(b
系统 2019-09-27 17:54:57 2150
Centos7自带python2.7,我们不对它进行升级,而是使用源码安装python3,让二者共存。这样可以保证系统中使用python2.7的软件正常运行。首先看看成功安装python3后,软链接的依赖关系,也包括python2.7的依赖关系:[root@localhost~]#ll/usr/bin/python*lrwxrwxrwx.1rootroot7Jun1306:30/usr/bin/python->python2lrwxrwxrwx.1root
系统 2019-09-27 17:52:13 2150
数据类型数据类型-字符串列举Python中的基本数据类型?答:Python3中有六个标准的数据类型:字符串(String)、数字(Digit)、列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)。如何区别可变数据类型和不可变数据类型答:从对象内存地址方向来说可变数据类型:在内存地址不变的情况下,值可改变(列表和字典是可变类型,但是字典中的key值必须是不可变类型)不可变数据类型:内存改变,值也跟着改变。(数字,字符串,布尔
系统 2019-09-27 17:48:33 2150
log日志监测程序运行:可以1⃣️Linux重定向将python运行报错记录到log日志中,2⃣️或者用python内置的logging模块。但是在用logging模块时,try...except...可以捕获到可预见/考虑到的异常,用logging记录到log日志文件中,但是在对于未知异常或导致程序退出时的情形无法记录到log日志中,用Linux的重定向可以捕捉到。现在到问题时我不想用Linux系统提供的重定向方法,我需要捕获python运行中未知的异常
系统 2019-09-27 17:48:08 2150
setdefault()方法类似于get()方法,但会设置字典[键]=默认情况下,如果键不是已经在字典中。方法以下是setdefault()方法的语法:dict.setdefault(key,default=None)参数key--这是要被搜索的键default--这是没有找到键的情况下返回的值。返回值此方法返回字典可用的键值,如果给定键不可用,则它会返回所提供的默认值。例子下面的例子显示了setdefault()方法的使用。#!/usr/bin/pyth
系统 2019-09-27 17:37:59 2150
根据一个中文的地址信息,获取该地址所对应的经纬度信息。(专业的说法是地理编码)。编程语言:Python3,百度地图API接口:http://lbsyun.baidu.com/index.php?title=webapi获取地址的经纬度大致步骤如下:1.注册百度账号、登录百度地图,申请秘钥:http://lbsyun.baidu.com/apiconsole/key?application=key2.查看百度地图中关于地址解析的服务文档:http://lbs
系统 2019-09-27 17:56:48 2149
简介许仙小时候最喜欢吃又甜又软的汤圆了,一次一颗汤圆落入西湖,被一条小白蛇衔走了。十几年后,一位身着白衣、有青衣丫鬟相伴的美丽女子与许仙相识了,她叫白娘子。白娘子聪明又善良,两个人很快走到了一起。靠着自己的力量,他们过上了幸福的生活。一天,僧人法海找到许仙,警告说白娘子是一条修行千年的蛇精,许仙不信。到了端午节,勉强喝下了雄黄酒的白娘子现了原形,许仙被吓得昏死过去。原来白娘子真的是之前吃下许仙汤圆的小蛇。白娘子辛苦救回了许仙的性命,但之后法海却以保护许仙的
系统 2019-09-27 17:55:59 2149
最常见的一种形式是的是为一个或者多个参数指定默认值,这会创建一个可以使用比定义时允许的参数更少的参数调用的函数,defask_ok(prompt,retries=4,reminder='Pleasetryagain!'):whileTrue:ok=input(prompt)ifokin('y','ye','yes'):returnTrueifokin('n','no','nop','nope'):returnFalseretries=retries-1if
系统 2019-09-27 17:52:19 2149
客户这里,有很多华为S系列交换机,基本时都是2700,5700系列。数量很多,原来都是手工登陆备份,费时,费力。后来想用python脚本备份交换机配置文件。思路:1、华为交换机的配置文件都是以vrpcfg.zip文件方式保存在交换机内存中2、华为的交换机都支持ftp服务器3、使用python3脚本批量备份保存在windows主机指定目录4、有些设备可能故障等原因,无法进行备份,需要记录失败日志前提条件,windows上已经安装好python3.6,配置好环
系统 2019-09-27 17:52:01 2149
Python函数的设计规范1、Python函数设计时具备耦合性和聚合性1)、耦合性:(1).尽可能通过参数接受输入,以及通过return产生输出以保证函数的独立性;(2).尽量减少使用全局变量进行函数间通信;(3).不要在函数中直接修改可变类型的参数;(4).避免直接改变定义在另外一个模块中的变量;2)、聚合性:(1).每个函数都应该有一个单一的、目的统一的目标;(2).每个函数的功能都应该相对简单;2、Python函数在脚本中应用示例例1:将/etc/p
系统 2019-09-27 17:49:05 2149
点击上方“何俊林”,马上关注,每天早上8:50准时推送真爱,请置顶或星标昨天的朋友圈都在丧心病狂的秀恩爱,秀520红包!于是就有人出来普法教育。。。可是还有更多老铁连发红包的机会都没有。。。为什么这么多如此优秀的同学都还是单身呢?你有分析过自己单身的原因吗?一、需求背景今天逛微博的时候发现一个有趣的话题#90后单身原因TOP3#七夕之际,一份针对全国90后青年婚恋观进行抽样调查公布了结果。结果显示,一线城市单身占比持续领先。90后单身原因TOP3:圈子小、
系统 2019-09-27 17:48:50 2149