str函数

python全栈开发从入门到放弃之常用模块和正则

▼魔方 西西 提交于 2020-03-25 05:49:32
什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别:    1 使用python编写的代码(.py文件)   2 已被编译为共享库或DLL的C或C++扩展   3 包好一组模块的包   4 使用C编写并链接到python解释器的内置模块 为何要使用模块? 如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。 随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用, 正则表达式 首先你要知道的是,谈到正则,就只和字符串相关了。在我给你提供的工具中,你输入的每一个字都是一个字符串。其次,如果在一个位置的一个值,不会出现什么变化,那么是不需要规则的。  比如你要用"1"去匹配"1",或者用"2"去匹配"2",直接就可以匹配上。这连python的字符串操作都可以轻松做到。那么在之后我们更多要考虑的是在同一个位置上可以出现的字符的范围。 字符组 : [字符组]

day19模块1

狂风中的少年 提交于 2020-03-25 05:24:46
http://www.cnblogs.com/Eva-J/articles/7228075.html#_label10 collections模块: 在内置数据类型(dict、list、set、tuple)的基础上, collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。 1.namedtuple:生成可以使用名字来访问元素内容的tuple。 #namedtuple('名称', [属性list]): from collections import namedtuple Point=namedtuple('point',['x','y']) p=Point(1,2) print(p.x,p.y) namedtuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象。 d eque 除了实现list的 append() 和 pop() 外,还支持 appendleft() 和 popleft() ,这样就可以非常高效地往头部添加或删除元素。 from collections import deque d1=deque([1,2,'c',5]) d1.append('afg') d1.appendleft(9) print(d1) #结果deque([9, 1, 2, 'c

常用模块(一)

点点圈 提交于 2020-03-25 05:23:07
什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 使用python编写的代码(.py文件) 已经被编译为共享库或DLL的C或C++扩展 包好一组模块的包 使用C编写并链接到python解释器的内置模块 为何要使用模块? 如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。 随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更加清晰,方便管理,这时候我们不仅仅可以把这些文件当作脚本去执行,还可以把它们当作模块来导入到其他的模块中,实现了功能的重复利用。 模块的导入和使用 模块的导入应该在程序最开始的地方。 常用模块 collections模块 在内置数据类型(dict,list,set,tuple)的基础上,collections模块还提供了几个额外的数据类型:counter,deque,defaultdict,namedtuple,OrderedDict等 namedtuple: 生成可以使用名字来访问元素内容的tuple deque: 双端队列

SQL对字符串数组的处理

时光总嘲笑我的痴心妄想 提交于 2020-03-25 05:10:39
一,用临时表作为数组 复制代码 代码如下: create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,charindex(@split,@c),'') end insert @t(col) values (@c) return end go select * from dbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',') drop function f_split col -------------------- dfkd dfdkdf dfdkf dffjk (所影响的行数为 4 行) 二、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。 复制代码 代码如下: CREATE function Get_StrArrayLength ( @str varchar(1024), --要分割的字符串

常用模块

自古美人都是妖i 提交于 2020-03-25 04:52:24
一. collections模块   1.namedtuple(用来表示坐标) from collections import namedtuple point=namedtuple('point',['x','y']) p=point(1,2) print(p.x) print(p.y) circle=namedtuple('circle',['x','y','r']) c=circle(1,2,3) print(c)   2.deque(deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈:) from collections import deque a=deque(['a','b','c']) a.append('1') a.appendleft('3') print(a) #deque(['3', 'a', 'b', 'c', '1']) from collections import deque q=deque(['a','b','c']) print(q.pop()) print(q) print(q.popleft()) print(q) #c #deque(['a', 'b']) #a #deque(['b'])   3.OrderedDict(可以保持key的顺序) from collections import OrderedDict d =

个人项目WordCount(C++/QT)

∥☆過路亽.° 提交于 2020-03-25 04:28:12
个人项目WordCount(C++/QT) GitHub项目地址: https://github.com/Nova-cjp/Word-Count (GUI程序过大尚未上传,可通过百度云下载) 百度云链接: https://pan.baidu.com/s/1MSOXu0KbuUMJfJ8p8bwMwQ 提取码:jef2 一、PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 15 · Estimate · 估计这个任务需要多少时间 10 15 Development 开发 380 1240 · Analysis · 需求分析 (包括学习新技术) 90 150 · Design Spec · 生成设计文档 ---- 10 · Design Review · 设计复审 (和同事审核设计文档) 5 5 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 15 · Design · 具体设计 30 60 · Coding · 具体编码 150 240 · Code Review · 代码复审 30 10 · Test · 测试(自我测试,修改代码,提交修改) 60 270 Reporting 报告 100 40 · Test Report · 测试报告

Python:struct模块的pack、unpack

时光毁灭记忆、已成空白 提交于 2020-03-25 03:29:11
mport struct pack、unpack、pack_into、unpack_from 1 # ref: http://blog.csdn<a href="http://lib.csdn.net/base/dotnet" class='replace_word' title=".NET知识库" target='_blank' style='color:#df3434; font-weight:bold;'>.NET</a>/JGood/archive/2009/06/22/4290158.aspx 2 3 import struct 4 5 #pack - unpack 6 print 7 print '===== pack - unpack =====' 8 9 str = struct.pack("ii", 20, 400) 10 print 'str:', str 11 print 'len(str):', len(str) # len(str): 8 12 13 a1, a2 = struct.unpack("ii", str) 14 print "a1:", a1 # a1: 20 15 print "a2:", a2 # a2: 400 16 17 print 'struct.calcsize:', struct.calcsize("ii") # struct

python编码问题(2)

谁都会走 提交于 2020-03-24 19:32:36
1 编码、解码   如同密码领域一样,从明文到密码是加密,从密码到明文是解密。在python中,(编码:unicode-->str;) 解码(str-->unicode). 既然是编码,那么就和密码领域一样,编码和解码自然涉及到编码/解码方案(对应加密或者解密算法),unicode相当于明文。在python中,编码函数是encode(),解码函数是decode()。需要注意的一点是,如果我们调用str.encode(),这里涉及到一个隐士的类型转化,会现将str转化成unicode,才能进行编码,这也是不太容易理解的地方。所以,str.encode()实际上就等价于str.decode(sys.defaultencoding).encode().而sys.defaultencoding一般是ascii,它是不能用来编码中文字符的。  字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。   decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码

如何成为php高手

一个人想着一个人 提交于 2020-03-24 14:19:51
PHP是一门高效的网络编程语言,由于它具有编写灵活、运行快速等优点,迅速成为Web程序员的首选语言。那么怎样才能成为一个优秀的PHP开发者呢?   要成为一名PHP编程高手并不容易,并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题。以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则。   ◆懒惰是金   ◆编写漂亮的代码   ◆追求程序的速度,而不是编程的速度   懒惰是金   做一个懒惰的程序员吗?这个想法太奇怪了!因为这个世界上最忙碌的人可能就是计算机程序员了。但正是因为程序员太忙了,所以才应该在编程时学会偷懒。对于一个程序员来说,懒惰的方法有两种:   其一,大胆使用现成的别人的程序代码,把这些代码融入到你自己的程序或者项目中去。其二是编写一些有用的代码建立一个函数库,在将来编写程序时可以顺手拈来,省去了许多重复的劳动,自然就可以懒惰一点了。这两种偷懒的方法都非常适合PHP程序员了。   首先,PHP是在自由开放的环境中诞生和成长的一门语言。在世界各地,有成千上万的程序员,他们一直在为PHP的完美而不断奋斗,他们也愿意和别人分享自己的聪明才智和自己编写的代码。你每天都可以从一些PHP网站、邮件列表、新闻组发现大量的优秀的程序代码。   这样说

C# 事件的理解

送分小仙女□ 提交于 2020-03-24 06:55:08
说实话,事件弄得还是很晕,有待于以后的强化吧,下面是我对事件的一点理解 首先,参见大牛的帖子: 网上大牛事件讲解 下面我来说一说事件的大致流程: 事件委托 事件概述 事件就是当对象或类状态发生改变时,对象或类发出的信息或通知。发出信息的对象或类称为"事件源",对事件进行处理的方法称为"接收者",通常事件源在发出状态改变信息时,它并不知道由哪个事件接收者来处理.这就需要一种管理机制来协调事件源和接收者,C++中通过函数指针来完成的.在C#中事件使用委托来为触发时将调用的方法提供类型安全的封装 事件的声明 1.声明一个委托 public delegate void EventHandler(object sender, System.EventArgs e); 2.声明一个事件 public event EventHandler Changed; 3.引发一个事件 public OnChanged(EnventArgs e) { if ( Changed != null) { Changed(this,e); } } 4.定义事件处理程序 public MyText_OnChanged(Object sender,EventArgs e) { ... } 5.订阅事件(将事件处理程序添加到事件的调用列表中) myText.Changed += EventHandler(MyText