Apache Lucy

Python | 原来 collections 这么好用!!

扶醉桌前 提交于 2021-01-12 20:44:10
来源: 南枝向暖北枝寒MA https://blog.csdn.net/mall_lucy/article/details/108822795 【导语】:collections是实现了特定目标的容器,以提供Python标准内建容器 dict , list , set , 和 tuple 的替代选择。为了让大家更好的认识,本文详细总结collections的相关知识,一起来学习吧! collections模块:实现了特定目标的容器,以提供Python标准内建容器 dict、list、set、tuple 的替代选择。 Counter :字典的子类,提供了可哈希对象的计数功能。 defaultdict :字典的子类,提供了一个工厂函数,为字典查询提供了默认值。 OrderedDict :字典的子类,保留了他们被添加的顺序。 namedtuple :创建命名元组子类的工厂函数。 deque :类似列表容器,实现了在两端快速添加(append)和弹出(pop)。 ChainMap :类似字典的容器类,将多个映射集合到一个视图里面。 Counter Counter是一个dict子类,主要是用来对你访问的对象的频率进行计数。 >>> import collections >>> # 统计字符出现的次数 ... collections.Counter('hello world') Counter(

Linux运维高级篇—CentOS 7下Postfix邮件服务器搭建

*爱你&永不变心* 提交于 2020-12-31 20:33:28
第一章 实验环境 硬件环境: Linux服务器一台,IP地址:192.168.80.10; WIN7客户端一台,拥有OUTLOOK2013,测试用,与服务器在同一局域网内。 Linux系统环境,如下图: 第二章 实验内容 一:搭建DNS服务器 二:搭建postfix服务器及普通发信 三:普通收信 四:认证收信 五:squirrelmail收发邮件(搭建网页收发邮件) 六:邮件群发功能配置 七:邮件发送容量大小配置 八:通过配置用户磁盘配额实现限制用户邮箱空间 第三章 实验步骤 准备工作: [root@localhost ~]# systemctl stop firewalld //关闭防火墙 [root@localhost ~]# setenforce 0 //关闭selinux 第一部分:搭建DNS服务器 [root@localhost ~]# yum install bind -y //安装DNS服务 ------------以下编辑主配置文件-------------- [root@localhost ~]# vi /etc/named.conf 修改如下内容: 保存退出 [root@localhost ~]# named-checkconf //检查语法错误 注意:如有错误提示,详细解读错误提示,按提示修改配置文件;若没有任何提示,则表示没有语法错误。 ----------

Python装饰器,就是这么强大!

微笑、不失礼 提交于 2020-12-04 15:51:44
装饰器(Decorators)是 Python 的一个重要部分。简单地说:它们是修改其他函数的功能的函数。有助于让我们的代码更简短,也更Pythonic(Python范儿)。很多Pythoner不知道在哪儿使用它们,哪些区域里装饰器可以让代码更简洁。通过本文的学习让你理解并学会装饰器,让你更Pythonic!来一起学习吧。 1. 装饰器的定义 就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数。装饰器的功能特点: 1、不修改已有函数的源代码 2、不修改已有函数的调用方式 3、给已有函数增加额外的功能 4、闭包和装饰器的区分: 如果闭包函数的参数有且只有一个,并且是函数类型,那么这个闭包函数称之为装饰器。写代码要遵循开放封闭原则,它规定已经实现的功能代码不允许被修改,但可以被扩展。 2. 装饰器的示例代码 # 定义装饰器 def decorator(func): def inner(): # 在内部函数里面对已有函数进行装饰 print('已添加登录认证') func() return inner def comment(): print('发表评论') # 调用装饰器对已有函数进行装饰,左边的comment=inner comment = decorator(comment) # 调用方式不变 comment() 3. 装饰器的语法糖写法

js 数组方法(个人学习笔记)

不羁岁月 提交于 2020-11-24 09:42:53
首先,创建数组的两个方法:   1.构造函数:  var array = new Array(); // 新建一个空数组 var array1 = new Array(20); // 新建一个长度为20位的空数组 var array2 = new Array("1","2"); // 新建一个内容包括有1,2两位的数组   2.字面量表示法 var arr6 = ["lily","lucy","Tom"]; // 创建一个包含3个字符串的数组 alert(arr6[0]); // lily arr6[1] = "mary"; // 修改第二项为mary arr6[3] = "sean"; // 增加第四项为sean  判断是否为数组的方法:    1.instanceof Array     用法: var array = new Array(); console.log(array instanceof Array); // true     缺点:如果你从一个框架向另一个框架传入一个数组,那么传入的数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数。这样的话,判断不了    2.Array.isArray()(推荐)     用法: var array = new Array(); console.log(Array.isArray(array));  数组方法:  

python常用模块----re模块

送分小仙女□ 提交于 2020-11-23 05:41:09
正则表达式就是匹配字符串内容的一种规则。 字符组:   [0123456789] 表示0-9这个范围内的任意一个数字都可以与之匹配,简写为 [0-9]    [a-z] 表示匹配所有的小写字母    [A-Z] 表示匹配所有的大写字母    [0-9a-zA-Z] 表示可以匹配数字和大小写字母 字符:    . 匹配除换行符以外的任意字符    \w 匹配字母或数字或下划线 \W 匹配非字母或数字或下划线    \s 匹配任意的空白符    \S 匹配非空白符    \d   匹配数字    \D 匹配非数字    \n 匹配一个换行符    \t   匹配一个制表符    \b   匹配一个单词的结尾    ^   匹配字符串的开始    $   匹配字符串的结尾    a|b  匹配字符a或字符b    ()   匹配括号内的表达式,也表示一个组    [^...]  匹配除了字符组中字符的所有字符 量词:    *    重复零次或更多次    +    重复一次或更多次    ?   重复零次或一次    {n}   重复n次    {n,}   重复n次或更多次    {n,m}  重复n到m次 转义符\:   在正则表达式中,有很多有特殊意义的是元字符,比如\d和\s等,如果要在正则中匹配正常的"\d"而不是"数字"就需要对"\"进行转义,变成'\\'。  

2020-11-17

徘徊边缘 提交于 2020-11-20 01:43:25
学习感悟:第一次接触网页设计,我是抱着好奇以及兴趣地学习,刚开始接触网页设计会觉得很神奇,感觉很新鲜,当老师给我们讲述新的知识并且让我们自己打出网站的时候,我们看着自己的成果非常地兴奋,尽管现在的我们学的只是皮毛,但我的直觉告诉我它不会那么简单,在空闲的时间应该多加练习,我会努力让他成为我的技能一。 第一个内容: <!DOCTYPE html> <html> <!----> <head> <meta charset=" utf-8 " /> <title>百度一下,你就知道</title> </head> <body> <img src=" img/cda7673ed09e765c8c6213244c50bb48.jpg " title=" 美女一枚 "height=" 500px " /> <a href=" http://www.baidu.com " target=" _blank ">百度</a> <b>百度</b> <i>百度</i> <del>百度</del> <span>百度</span> <p style=" font-size:50px; ">工业大学</p> <p>工业大学</p> <div style="text-align;">郑州大学</div> <h1 style="text-align: center;">工业大学</h1> <h6 style=

雷军喜提金山云上市,幕后大佬求伯君甘做“背景板”

限于喜欢 提交于 2020-08-19 13:34:58
   年初,雷军在疫情期间首场云发布会的画面,还尚未远去,就又上演了“云敲钟”和“云上市”。    北京时间 5 月 8 日晚,雷军任董事长的金山集团子公司——金山云,敲响“云上市”纳斯达克的钟声。    一天之内,雷军身价增加百亿元,并成为中国第九富豪。怪不得人常说“雷军是这个大环境中,普通人靠努力所达到的上限。”    受疫情影响,上市仪式在北京小米科技园、以连线美国相关人员的方式进行。    尽管如此,他还是按照上市惯例,“将头发梳成大人模样,穿上一身帅气西装”,来到搭好的舞台下,喜提名下第四家上市公司。    在此之前,在港交所上市的金山软件和小米集团,以及在科创板上市的金山办公,都是雷军创办或参股的公司。 图 | 金山云上市(来源:金山云)   不过,一如小米上市时、他曾说不喜欢穿西服一样,仪式结束后,他就换上了便装上衣。程序员的穿衣风格,果然影随至今。      图 | 金山云上市庆祝宴,雷军切蛋糕庆祝(来源:雷建平)   微博上,有人问雷军和金山有什么关系。    事实上,金山是雷军进入社会的第一个东家,从二十多岁毕业至今,他早已成为多家“金山系”公司背后的最大操盘手。    而他“触电”金山,是因为 WPS 汉卡。    1990 年,雷军朋友那里有一套金山创始人求伯君开发的 WPS 汉卡软件。    这个软件,既有颜值、业务能力也很抗打,用它来打印文件

python数据类型与函数_TODO_元组

时间秒杀一切 提交于 2020-08-15 02:48:19
TODO 字符串,列表,字典,元组 列表 元组 字典 [] () {} 字符串 # list01.py # 列表的函数: ''' 字符串函数: 'abc'.split('-') ['a','b','c'].split('-')错误 列表函数:只有通过列表才可以调出来的函数 添加: append extend insert 删除: del list[index] remove(e) 删除列表中第一次出现的元素e,返回值是None。 如果没有找到要删除元素则报出异常 pop(): 弹栈 移除列表中的最后一个元素,返回值是删除的那个元素 默认是删除最后一个,但是也可以指定index(下标)删除 clear(): 清除列表(里面的所有元素全部删除) 翻转: reverse() 排序: sort() 次数: count() ''' hotpot_list = ['海底捞','呷哺呷哺','张亮麻辣烫','热辣一号','宽板凳'] hotpot_list.append('张亮麻辣烫') print(hotpot_list) #result = hotpot_list.remove('杨国福麻辣烫') #不存在就会报错 #print(result) # print(hotpot_list) result = hotpot_list.pop()#pop弹出最后一个 print(result)

深入理解对象的数据属性与访问器属性

半腔热情 提交于 2020-08-13 09:21:05
创建对象的方式有两种:第一种,通过new操作符后面跟Object构造函数,第二种,对象字面量方式。如下 var person = new Object(); person.name = 'Nicy' ; person.age = 21 ; person.sayName = function () { console.log( this .name); }; var person = { name: 'Nicy' , age: 21 , sayName: function () { console.log( this .name); } } 这两种方式创建出来的对象是一样的,有相同的属性和方法。这些属性内部都有描述其行为的属性描述符。 Object.defineProperty() 通过Object.defineProperty() 可以直接在对象上创建一个属性,也可以修改已有的属性。 Object.defineProperty(obj, prop, descriptor) 接收三个参数:   obj:属性所在的对象     prop:要访问的属性名   descriptor:描述符对象 描述符对象包含六个属性:configurable、enumerable、writable、value、get、set ,要修改属性的特性,必须使用Object.defineProperty()方法。

基于redis的排行榜设计和实现

浪子不回头ぞ 提交于 2020-08-10 17:51:57
前言:   最近想实现一个网页闯关游戏的排行榜设计, 相对而言需求比较简单. 秉承前厂长的训导: “做一件事之前, 先看看别人是怎么做的”. 于是乎网上搜索并参考了不少排行榜的实现机制, 很多人都推荐了redis的有序集(sorted set). 我觉得十分的赞, 技术方案很难在超越已有的模型了, 就看业务上的需求, 做些小改动. 相关文章系列:   记得大概在一年前吧, 写过两篇关于排行榜的文章, 不过那是针对游戏平台(类似微信, 手Q等)而言的. 每个用户都有自己的排行榜, 不是全局性的.   • 社交游戏的排行榜设计和实现(1)   • 社交游戏的排行榜设计和实现(2) 有序集初体验:   先来看几个后续会使用的redis命令语法: 1 2 3 4 5 6 7 8 9 10 11 ZADD key score1 member1 [score2 member2] 添加一个或多个成员到有序集合,或者如果它已经存在更新其分数 ZRANGE key start stop [WITHSCORES] 由索引返回一个成员范围的有序集合。 ZSCORE key member 获取给定成员相关联的分数在一个有序集合 ZRANK key member 确定成员的索引中有序集合   更详细和完整的命令, 请点击该 链接 .   • 案例设计   输入5个学生的成绩(name, score),