问题:想创建一个字符串,其中嵌入的变量名称会以变量的字符串值形式替换掉 解决方法:str.format().str.format_map() >>> s = '{name} has {n} messages.' >>> s.format(name='Guido',n=37) 'Guido has 37 messages.' >>> name='Guido' >>> n=37 >>> s.format_map(vars…
PHP 自定义字符串中的变量名解析   这样一个需求:页面的 title 可以在后台自定义,自定义内容中可能包含变量,变量用 {$var} 表示, 其中 $var 为变量名 将 title 字段存入数据库中,再提出来之后,用php自己的变量名解析就不管用了,会直接输出 {$var} ,不会像在定义字符串的时候,用双引号时就会自动把 {$var} 变换成相应的变量内容,这里就像是用单引号定义的字符串,所以需要自己解析. 这里的思路是用正则表达式把字符串中的所有 {$var} 提取出来,然后判断是否…
问题:将许多小字符串合并成一个大的字符串 解决方案: 1.针对少数量的字符串:+ 2.针对大量的字符串对象的连接,更高效的方法:join() 3.更加复杂的字符串:format() >>> parts=['Is','Chicago','Not','Chicago?'] >>> ','.join(parts) 'Is,Chicago,Not,Chicago?' >>> a='Is Chicago' >>> b='Not Chicago?…
感谢: https://github.com/yidao620c/python3-cookbook 如有侵权,请联系我整改. 本文章节会严格按照原书(以便和原书对照,章节标题可能会略有修改),内容会有增删. 2.4 字符串匹配和搜索 text.startswith()以xxx开头, text.endswith()以xxx结尾, text.find()查找xxx的位置,返回下标, 复杂匹配可以用re, import re 示例, >>> text 'today is 11/27/2012.…
shell里面怎么样把字符串转换为数字? 例如:a="024" 1,用${{a}} 2,用let达到(()) 运算效果. let num=0123; echo $num; 83 3,双括号运算符: a=$((1+2)); echo $a; 等同于: a=`expr 1 + 2` 而数字会默认做字符串处理 变量用单引号''变字符串 i=1 echo '$i'; 输出:$1…
问题:我们需要调用一个换算函数(例如sum().min().max()),但是首先需对数据做转换或者筛选处理 解决方案:非常优雅的方法---在函数参数中使用生成器表达式 例如: # 计算平方和 nums=[1,2,3,4,5] s1=sum((x*x for x in nums)) s2=sum(x*x for x in nums) #更优雅的用法 s3=sum([x*x for x in nums]) #不使用生成器表达式 print(s1) print(s2) print(s3) # 判断一…
中文变量名,中文函数名,中文类名等,可惜Python2不支持,但在Python3时代,这些都可以完美支持了. def 中文函数(): return 1…
案例一:传参动态导入模块. selectModule = input("please input your module name") app_name = input("please input your App's name") # import selectModule #此时导入的模块名是selectModule module = __import__(selectModule) # 返回值标记这 导入的这个模板 app = getattr(module,…
转自:python3字符串与文本处理 阅读目录 1.针对任意多的分隔符拆分字符串 2.在字符串的开头或结尾处做文本匹配 3.利用shell通配符做字符串匹配 4.文本模式的匹配和查找 5.查找和替换文本 6.以不区分大小写的方式对文本做查找和替换 7.最短匹配的正则表达式 8.多行模式的正则表达式 9.将Unicode文本统一表示为规范形式是 10.从字符串中去掉不需要的字符 11.对齐文本字符串 12.字符串链接及合并 13.给字符串中的变量名做插值处理 14.以固定的列数重新格式化文本 15…
每个程序都回涉及到文本处理,如拆分字符串.搜索.替换.词法分析等.许多任务都可以通过内建的字符串方法来轻松解决,但更复杂的操作就需要正则表达式来解决. 1.针对任意多的分隔符拆分字符串 In [1]: line = 'asdf fjdk; afed, fjek,asdf, foo' #使用正则模块 In [2]: import re #使用正则split方法可以匹配多分割符 In [3]: re.split(r'[;,\s]\s*',line) Out[3]: ['asdf', 'fjdk',…
所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/44/ 来源:python黑洞网 内容简介 <Python Cookbook(第3版)中文版>介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字.日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用脚本和系统管理,测…
由于字符串过于重要,请认真看完并保证所有代码都至少敲过一遍. 对于字符串,前面在数据类型中已经提到过.但是由于字符串类型太过于常用,Python 中提供了非常多的关于字符串的操作.而我们在实际编码过程中,又经常会与字符串打交道.所以这里字符串单独列出一节来讲解. 字符串是由一对引号(单双引号都可以)括起来进行标识.字符串的数据类型是 str , 同时字符串也是一种序列. 定义一个字符串: >>> s = 'nemo' >>> s1 = '中文' >>>…
1.变量的定义 在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建 等号(=)用来给变量赋值 =左边是一个变量名 =右边是存储在变量中的值 变量名=值 变量定义之后,后续就可以直接使用了 变量名只有在第一次出现才是定义变量(变量名再次出现,不是定义变量,而是直接使用之前 定义的变量) 2.实例演示 [1] [2]需求: 水果的价格是 8.5 元/斤,买了 7.5 斤橘子,计算付款金额,只要买橘子,就返 5 块钱 1.在内存中创建一个变量:会包括 变量的名称 变量保存的…
15.14 传递Unicode字符串给C函数库¶ 问题¶ 你要写一个扩展模块,需要将一个Python字符串传递给C的某个库函数,但是这个函数不知道该怎么处理Unicode. 解决方案¶ 这里我们需要考虑很多的问题,但是最主要的问题是现存的C函数库并不理解Python的原生Unicode表示. 因此,你的挑战是将Python字符串转换为一个能被C理解的形式. 为了演示的目的,下面有两个C函数,用来操作字符串数据并输出它来调试和测试. 一个使用形式为 char *, int 形式的字节, 而另一个使…
问题:确保所有的Unicode字符串都拥有相同的底层 解决方案:为解决同一个文本拥有多种不同的表示形式问题,应该先将文本统一表示为规范形式,这可以通过unicodedata模块来完成, unicodedata.normalize(字符串规定采用的规范,字符串). 在Unicode中,有些特定的字符可以被表示成多种合法的代码点序列. NFC:表示全组成的字符(即,如果可能的话就使用单个代码点):NFD:表示组合字符,每个字符应该能完全分解开: s1 = 'Spicy Jalape\u00f1o'…
15.15 C字符串转换为Python字符串¶ 问题¶ 怎样将C中的字符串转换为Python字节或一个字符串对象? 解决方案¶ C字符串使用一对 char * 和 int 来表示, 你需要决定字符串到底是用一个原始字节字符串还是一个Unicode字符串来表示. 字节对象可以像下面这样使用 Py_BuildValue() 来构建: char *s; /* Pointer to C string data */ int len; /* Length of data */ /* Make a byte…
15.16 不确定编码格式的C字符串¶ 问题¶ 你要在C和Python直接来回转换字符串,但是C中的编码格式并不确定. 例如,可能C中的数据期望是UTF-8,但是并没有强制它必须是. 你想编写代码来以一种优雅的方式处理这些不合格数据,这样就不会让Python奔溃或者破坏进程中的字符串数据. 解决方案¶ 下面是一些C的数据和一个函数来演示这个问题: /* Some dubious string data (malformed UTF-8) */ const char *sdata = "Spicy…
过滤字符串中不属于指定集合的字符 任务: 给定一个需要保留的字符串的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案: import string allchars = string.maketrans('','') #all chars table def makefilter(keep): delchars = allchars.translate(allchars,keep) def thefilter(s): retu…
1.一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定的 #string 对象的split()方法只适应于非常简单的字符串分割情形,它并不允许有 多个分隔符或者是分隔符周围不确定的空格.当你需要更加灵活的切割字符串的时候最好使用re.split()方法line = 'asdf fjdk; afed, fjek,asdf, foo' import re list_line = re.split(r'[;,\s]\s*',line) print(list_line) 2.你需要通过…
如果一个女孩子喜欢看龙猫,那么请珍惜她,呵护她 任何一门语言,字符串总是最基本也是最需要掌握的一个变量,想想入门的Hello World,输出的就是字符串. 官方文档:https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str. 字符串也成为字符序列, 一.表现形式 1.1 基本表现形式 字符串可以用单引号.双引号.三引号引起来,特点如下: 单引号和双引号相似,内部如果还要使用则需要用斜杠进行转义 三引号是三个单引…
去字符串两端的空格 任务: 获得一个开头和末尾都没有多余空格的字符串. 解决方案: 字符串对象的lstrip.rstrip和strip 方法正是为这种任务而设计的.这几个方法都不需要参数,它们会直接返回一个删除了开头.末尾或者两端的空格的原字符串的拷贝. 参考代码: >>> test_string = ' test ' >>> print '|',test_string.lstrip(),'|',test_string.rstrip(),'|',test_string.…
第二章:字符串和文本 几乎所有有用的程序都会涉及到某些文本处理,不管是解析数据还是产生输出. 这一章将重点关注文本的操作处理,比如提取字符串,搜索,替换以及解析等. 大部分的问题都能简单的调用字符串的内建方法完成. 但是,一些更为复杂的操作可能需要正则表达式或者强大的解析器,所有这些主题我们都会详细讲解. 并且在操作Unicode时候碰到的一些棘手的问题在这里也会被提及到. 2.1 使用多个界定符分割字符串关键:str.split(str="", num=string.count(st…
11. 删除字符串中不需要的字符  strip() 方法能用于删除开始或结尾的字符: lstrip() 和 rstrip() 分别从左和从右执行删除操作 >>> s = ' hello world \n' >>> s = s.strip() >>> s 'hello world' >>> 如果你想处理中间的空格,那么你需要求助其他技术.比如使用 replace() 方法或者是用正则表达式re.sub()替换.示例如下: >>…
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object合并.注意:object如果是整型,必须以列表的方式传入,不可以以整型或元组的方式传入 2.ls.append(object) 将object作为一个整体插入到ls最后,object可以是字符串,元组,列表和字典 3.ls.insert(index, obje…
[ Python 数据类型 ] 我们知道,几乎任何编程语言都具有数据类型:常见的数据类型有:字符串.整型.浮点型以及布尔类型等. Python也不例外,也有自己的数据类型,主要有以下几种: 1.数字:None 整数 浮点数 布尔类型2.字符串3.列表4.元组5.字典6.日期 这些基本数据类型组成了Python的基本控制块. [ 数字 ] 1.空(None) 表示该值是一个空对象,空值是Python里一个特殊的值,用None表示. None不能理解为0,因为0是有意义的,而None是一个特殊的空值…
1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g'] for c in 'theString':#方法二,for循环 print c, 结果:t h e S t r i n g print [c for c in 'theString'] #方法三,列表推导式 结果:['t', 'h', 'e', 'S', 't', 'r',…
python列表基础 首先当然是要说基础啦 列表list 1.L.append(object) -> None 在列表末尾添加单个元素,任何类型都可以,包括列表或元组等 2.L.extend(iterable) -> None 以序列的形式,在列表末尾添加多个元素 3.L.insert(index, object) -> None 在index位置处添加一个元素 4.L.clear() -> None 清除列表所有元素,成为空列表 5.L.copy() -> list 获得一…
一:字符串方法: 方法就是与特定对象相关联在一起的函数.从技术的角度来讲,它们是附属于对象的属性,而这些属性不过是些可调用的函数罢了.Python 首先读取对象方法,然后调用它,传递参数.如果一个方法计算出一个结果,它将会作为整个方法调用表达式的结果被返回.Note:一个对象可以调用的方法查询可以通过 dir(' ') 来查询. 1,修改字符串: a) 利用s.replace()函数:合并操作和replace 方法每次运行会产生新的字符串对象,这是一个潜在的缺陷.如果对一个超长的字符串进行许多的…
字符串是一个字符的.有序的.不可变的序列,用于存储基于文本的信息.字符串所包含的字符存在从左至右的位置顺序,不可以在原处(in-place)修改.Python没有C语言的字符和字符串之分,只有字符串.从严格意义上说,字符串是单个字符的序列,支持基于位置的操作,能够通过位置索引字符:由于字符串具有不可变性,不能对原始的字符串进行修改,也就是说,不能通过对其某一位置进行赋值而修改字符串. 一,字符串常量 字符串常量使用成对的单引号或双引号来表示,两者表示的效果是一样的. 1,在字符串常量中表示引号…
总结的内容: 1.字符串常用的方法 2.Python字符串格式化 3.Python字符串转义字 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可. 例如: var1 = 'Hello World!' var2 = "Runoob" 4.1.字符串常用的方法: 1.strip:默认去除掉字符串左右两边的空格和换行符(只能是开头和结尾的) a = '   字符串    ' c = a.strip()…