coding

一起学Python:正则表达式概述

笑着哭i 提交于 2020-04-06 00:16:18
re模块操作 在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re 1. re模块的使用过程 #coding=utf-8 # 导入re模块 import re # 使用match方法进行匹配操作 result = re.match(正则表达式,要匹配的字符串) # 如果上一步匹配到数据的话,可以使用group方法来提取数据 result.group() 2. re模块示例(匹配以itcast开头的语句) #coding=utf-8 import re result = re.match("itcast","itcast.cn") result.group() 运行结果为: itcast 3. 说明 re.match() 能够匹配出以xxx开头的字符串 匹配单个字符 在上一小节中,了解到通过re模块能够完成使用正则表达式来匹配字符串 本小节,将要讲解正则表达式的单字符匹配 字符 功能 . 匹配任意1个字符(除了\n) [ ] 匹配[ ]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即 空格,tab键 \S 匹配非空白 \w 匹配单词字符,即a-z、A-Z、0-9、_ \W 匹配非单词字符 示例1: #coding=utf-8import re ret = re.match(".","M") print(ret

Coding 是门技术

*爱你&永不变心* 提交于 2020-04-04 10:44:45
今天的分享来源于工作中的点点滴滴…… 01. 习惯性自嘲 代码写久了,伴随肩疼头痛眼近视,于是乎也就成了名副其实的 code farmer(码农),作为如牛吃草挤奶般的码农,吃草( 撸 )挤奶( 码 )便是日常要事,接下来就聊聊身边同事的一些关于撸码的问题,顺道穿(掰)插(扯)一下我独到的见解(想想我这脸皮会有多厚)。 02. 撸码的艾尔莎 假想一下,你投资的产品到期了,但是你却没有收到平台给你的转账,面对此种场景,估计你会二话不说,先去看看投资平台的官网还在不在,确认是不是平台跑路啦; 然后去找客服投诉...... 做过理财相关项目的应该都清楚,赎回是用户最关心的功能,但是赎回过程中往往涉及到很多的状态,例如初始状态、赎回中、赎回结果不明、赎回失败、赎回成功等等,但是不同的状态,所做的业务处理逻辑也不同。 敢问,赎回的这段代码该怎么撸呢? 同事艾尔莎撸码实现过程中,可谓是吐槽又吐槽,于是就出现了下面的代码段。 不要小看上面代码段中每一个状态下的输出打印,在真实场景下,每个状态对应少则有 10 行,多则有上百行代码,所以用“一坨”这个词来形容真实的那段代码,再合适不过啦。 不过,是否可以调整调整代码呢? 答案是必须的,同事艾尔莎遂拿出《 阿里巴巴Java开发手册 v666.pdf 》,借用鲁迅先生提倡的“拿来主义”的思想开始调整。 调整一: 采用阿里开发手册“注释规约

Python基础语法

巧了我就是萌 提交于 2020-03-31 03:47:44
Python编码规范 类名首字母大写,对象名小写。 类的属性与方法名以对象作为前缀。 类的私有变量、私有方法以两个下划线作为前缀。 函数名通常采用小写,并用下划线或者单词首字母大写增强可读性。 Python的注释以 # 开头,后面的文字直到行尾都算注释 Python的编码通过缩进表示每行代码之间的层次关系。如下 x=1 if x == 1: print"x=",x #代码缩进 else: print"x=",x #代码缩进 x = x + 1 #代码缩进 print"x=",x Python中语句可以用 ; 结束语句,也可以省略 #下面两句语句等价 print"hello" print"hello"; 但是在同一行中有多条语句,就必须用分号隔离 #使用分号分隔语句 x = 1 ; y = 1 ; x= 1 对于一些一行代码比较长的语句。 Python支持多行写一条语句, Python使用 \ 作为多行语句连接符。 以下为两种写法 写法一只用了一对双引号, 写法二用了两对双引号,写法二比写法一的可读性强。 注 : \ 用来链接字符串时,后不能有任何代码,包括注释 print"hello \ world" print"hello "\ "world" 输出结果都为 hello world Python有的编辑器是不支持中文字符的, 用到中文需要在最顶部添加 # -*- coding:

(8)Django框架学习-python模拟Django框架

廉价感情. 提交于 2020-03-30 04:28:44
原贴来源 http://wiki.woodpecker.org.cn/moin/ObpLovelyPython/AbtWebModules python实现web服务器 web开发首先要有web服务器才行。比如apache,但是在开发阶段最好有一个简单方便的开发服务器, 容易重启进行调试,等开发调试完毕后,再将代码部署到成熟稳定高效的web服务器。 # -*- coding: utf-8 -*- from wsgiref import simple_server # 定义一个输出 hello world 和环境变量的简单web应用程序 def hello_app(environ, start_response) : # 输出 http 头,text/plain 表示是纯文本 start_response( '200 OK' , [( 'Content-type' , 'text/plain' )]) # 准备输出的内容 content = [] content.append( 'Hello world' ) for key, value in environ.items() : content.append( '%s : %s' % (key, value)) # 输出,根据 wsgi 协议,返回的需要是一个迭代器,返回一个 list 就可以 return [ '\n' .join

coding++:事务管理 隔离级别

泄露秘密 提交于 2020-03-29 15:01:03
在声明事务时,只需要通过value属性指定配置的事务管理器名即可,例如: @Transactional(value="transactionManagerPrimary") 。 除了指定不同的事务管理器之后,还能对事务进行隔离级别和传播行为的控制,下面分别详细解释: 隔离级别: 隔离级别是指若干个并发的事务之间的隔离程度,与我们开发时候主要相关的场景包括:脏读取、重复读、幻读。 我们可以看 org.springframework.transaction.annotation.Isolation 枚举类中定义了五个表示隔离级别的值: DEFAULT :这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是: READ_COMMITTED 。 READ_UNCOMMITTED :该隔离级别表示一个事务可以读取另一个事务修改但还没有提交的数据。 该级别不能防止脏读和不可重复读,因此很少使用该隔离级别。 READ_COMMITTED :该隔离级别表示一个事务只能读取另一个事务已经提交的数据。该级别可以防止脏读,这也是大多数情况下的推荐值。 REPEATABLE_READ :该隔离级别表示一个事务在整个过程中可以多次重复执行某个查询,并且每次返回的记录都相同。 即使在多次查询之间有新增的数据满足该查询,这些新增的记录也会被忽略。 该级别可以防止脏读和不可重复读。

图形化编程娱乐于教,Kittenblock实例,楼宇虚像和颜色特效

心已入冬 提交于 2020-03-28 09:08:19
跟很多学生聊过,很多学生不是不努力,只是找不到感觉。有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同。关键的问题在于,带入感,我能给出的建议,就是咬咬牙,坚持住,没有学不会的知识。会陆续分享图形化编程的经验,希望能够做成一个专题。如果您觉得有用,就给点个赞吧。涉及的软件包括 scratch3.0 (.sb3) 、 Python 、 Kittenblock 。 程序解读:星空里,一座闪烁的楼宇,逐渐出现 知识点:控制、事件、外观、虚像、颜色、重复执行 重点:虚像特效、颜色特效 涉及的软件: scratch3.0 (.sb3) 、 Python 、 Kittenblock 。 # -*- coding: utf-8 -*- import _env, time, random from kblock import * 楼 = Sprite(" 楼 ") 楼 .looks_setsizeto(100) 楼 .looks_seteffectto(100) for count in range(20): 楼 .looks_changeeffectby(25) time.sleep(0.1) 楼 .looks_changeeffectby(-5) 楼 .looks_changesizeby(5) 来源: https://www.cnblogs.com/ztg1/p

Python接口自动化测试01

人盡茶涼 提交于 2020-03-28 00:39:33
1)环境准备:   接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当工具不太适合项目时需要自己进行开发。   在我们项目的初期,我们采用的是jmeter进行接口测试,当时觉得这个工具上手简单,团队成员学习成本低,并且接口测试的脚本稍微调整一下还可以用来做性能测试。   不过随着项目规模、团队人数的不断增长,渐渐的这个工具有适应不了当前项目的需求了,为此我们项目也重新开发了相关接口自动化的平台。但是,但是。。。可能是我让大家中毒太深,现在很多同学一提到接口测试关联到jmeter,为此,我深深感到不安。毕竟jmeter只是个工具,换个项目换个协议你是否还能玩转接口测试呢?session和cookie有什么区别?工具又是怎么实现的呢?   比如session如何保存,接口依赖如何处理,case如何管理及执行顺序,测试数据如何管理等等题,这个过程也有助于我们更加深刻的理解接口测试和http协议。   本文主要采用python语言,python中http协议接口相关的库有urllib,urllib2以及reqeusts库,这其中reqeusts库用来起来最方便,因此我也主要采用requests库来做http协议的接口测试

谈谈Linux内核驱动的coding style

百般思念 提交于 2020-03-26 11:54:56
最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过, 在不遵守规则的程序员队伍里,我并不是孤独的。如果去看drivers/staging下的代码,就会发现很多驱动程序都没有严格遵守内核的coding style,而且在很多驱动程序的TODO文件里,都会把"checkpatch.pl fixes"作为自己的目标之一(checkpatch.pl是用来检查代码是否符合coding style的脚本)。 不可否认,coding style是仁者见仁、智者见智的事情。比如Microsoft所推崇的匈牙利命名法,在Linus看来就是及其脑残(brain damaged)的做法。也许您并不赞成Linus制定的coding style,但在提交内核驱动这件事上,最好还是以大局为重。对于这么一个庞大的集市式的开发来说,随意书写代码必将带来严重的可维护性的灾难。 一些辅助工具 当代码量达到一定程度时,手动去检查和修改coding style是非常繁琐的工作,幸好,我们还有一些工具可以使用。 scripts/checkpatch.pl 这是一个检查代码是否符合内核编码规范的的脚本。顾名思义

26道大题python实战练习-习题

与世无争的帅哥 提交于 2020-03-26 11:30:29
Python数学计算,编程练习题实例一: 简述:这里有四个数字,分别是:1、2、3、4 提问:能组成多少个互不相同且无重复数字的三位数?各是多少? Python解题思路分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 Python数学计算,编程练习题和答案实例一,源代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 5): for j in range(1, 5): for k in range(1, 5): if (i != k) and (i != j) and (j != k): print(i, j, k) View Code Python数轴、长整型,编程练习题实例二: 简述:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成. 提问:从键盘输入当月利润I,求应发放奖金总数? 玩蛇网Python解题思路分析

Emmet(Zen coding)HTML代码使用技巧七则

China☆狼群 提交于 2020-03-25 15:53:47
3 月,跳不动了?>>> 还记得 Emmet (即Zen coding)吗?最棒的书写HTML代码的利器之一,能够帮助你快速书写HTML代码的工具。在今天这篇文章中,我们将要分享7个超酷的 Emmet 书写HTML的技巧,希望大家喜欢! 1. 跳过Div 第一个小技巧就是跳过div,Emment非常清楚你需要输入什么内容,你只需要输入class或者是id, Emmet 会自动帮助你生成正确的div。如下: 大家可以看到,不管你是否添加了div,Emmet都会自动生成需要div元素。 含糊标签名称 这个技巧属于implicit tag names特性,你不需要指定div或者li,Emmet会自动帮助你生成,如下: 2. 带有DOM导航的链式缩写 如果你使用Emmet来扩展简单的class名称生成div的话。这个方式可以帮助你省去大量的时间。你只需要记住如下语法: > 子节点:在DOM树下一层添加创建一个元素 + 同级别:在DOM树同一层添加创建一个元素 ^ 向上层:向上一层添加创建创建一个元素。 向上一层 如果需要的话你可以向上多层,如下: 3. 使用分组来简化你的代码结构 有的时候你可能会发现使用向上符号比较复杂,这时候可能使用分组更加的合理。如下: 一个更复杂一些的例子,如下: 4. 插入文本和属性 如果你需要生成HTML,内容和属性也是你常常需要添加的