python字符串

python字符串的七种魔法

徘徊边缘 提交于 2020-04-03 01:58:07
1、join 描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 语法 join()方法语法: str.join(sequence) 参数 sequence -- 要连接的元素序列。 返回值 返回通过指定字符连接序列中元素后生成的新字符串。 例子: test = 'sizhiwangguai' v = '_'.join(test) print(v) 输出结果: s_i_z_h_i_w_a_n_g_g_u_a_i 2、split 描述 Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串 语法 split() 方法语法: str.split(str="", num=string.count(str)). 参数 str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num -- 分割次数。 返回值 返回分割后的字符串列表。 例子: test = 'si\nzhi\nwang\nguai\n' v1 = test.split() v2 = test.split(' ',2)print(v1,v2)输出结果: ['si', 'zhi', 'wang', 'guai'] ['si\nzhi\nwang\nguai\n'] 3、find 描述 Python

python字符串(大小写、判断、查找、分割、拼接、裁剪、替换、格式化)

ぃ、小莉子 提交于 2020-04-02 18:54:02
一、通用操作 1、Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。 语法 len()方法语法: len( q ) 参数 q -- 对象。 返回值 返回对象长度。 实例 以下实例展示了 len() 的使用方法: >>>str = "runoob" >>> len(str) # 字符串长度 6 >>> l = [1,2,3,4,5] >>> len(l) # 列表元素个数 5 2、python 成员运算符 in 和 not in Python成员运算符测试给定值是否为序列中的成员,例如字符串,列表或元组。 有两个成员运算符,如下所述 - in 如果在指定的序列中找到一个变量的值,则返回true,否则返回false。 not in 如果在指定序列中找不到变量的值,则返回true,否则返回false。 in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 以下实例演示了Python所有成员运算符的操作: #!/usr/bin/python3 a = 10 b = 20 list = [1, 2, 3, 4, 5 ]; if ( a

Python中解码decode()与编码encode()与错误处理UnicodeDecodeError: 'gbk' codec can't decode byte 0xab

半腔热情 提交于 2020-04-02 09:24:54
编码方法encoding( ) 描述   encode() 方法以指定的编码格式编码字符串,默认编码为 'utf-8'。将字符串由string类型变成bytes类型。   对应的解码方法: bytes decode() 方法。 语法   str.encode([encoding = 'utf-8' ][,errors = 'strict' ]) str是表示需要编码的字符串,并且是个string类型。 encoding -- 可选参数,要使用的编码方案,默认编码为 'utf-8'。 errors -- 可选参数,设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。 返回值   该方法返回编码后的字符串,它是一个 bytes 对象,这个字节对象是用于下面的解码用的。 官方文档解释:    str. encode ( encoding="utf-8" , errors="strict" )   Return an encoded version of the string as a bytes object. Default

把字符串转换成整数

混江龙づ霸主 提交于 2020-04-01 09:03:45
题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 +2147483647 1a33 输出 2147483647 0 python solution: # -*- coding:utf-8 -*- class Solution: def StrToInt(self, s): try: return int(s) except: return 0 当然这样做是不允许的,写出来也不难,注意细节即可 来源: https://www.cnblogs.com/bernieloveslife/p/10430869.html

python函数积累

ε祈祈猫儿з 提交于 2020-03-31 20:06:32
给定前后字符串获取中间字符串 def GetMiddleStr(content,startStr,endStr): startIndex = content.index(startStr) if startIndex>=0: startIndex += len(startStr) endIndex = content.index(endStr) return content[startIndex:endIndex] cookie字符串转换为字典 def stringToDict(cookie): itemDict = {} items = cookie.split(';') for item in items: key = item.split('=')[0].replace(' ', '') value = item.split('=')[1] itemDict[key] = value return itemDict 来源: https://www.cnblogs.com/BobHuang/p/12607357.html

Python文件逐行写入

假装没事ソ 提交于 2020-03-30 16:41:48
一般情况下我们在利用write函数进行文件的写入的时候,写入的下一个字符串或者数字等会覆盖之前已经写入到文件当中的字符串或者数字,我们如何解决这个问题呢?方法很简单,在使用open函数打开文件的时候,把后面的参数“w”替换成"a"即可。比如下面我们需要在一个txt文件内写入这样的内容: 也就是每一行都是一个数字,数字每换一行则增加1,我们的程序就可以这样写; # Write your code here i=1 f=open("numbers.txt","a")#利用追加模式,参数从w替换为a即可 while i <= 10: f.write("{}\n".format(i)) i=i+1 f.close() 这样就可以进行逐行写入字符串和数字啦! 来源: https://www.cnblogs.com/geeksongs/p/12599077.html

浅析Python3中的bytes和str类型

眉间皱痕 提交于 2020-03-30 03:41:29
  本博转载自: Chown-Jane-Y 的 浅析Python3中的bytes和str类型   Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是 Unicode ,由 str 类型表示,二进制数据则由 bytes 类型表示。Python 3不会以任意隐式的方式混用 str 和 bytes ,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。 下面让我们深入分析一下二者的区别和联系。 编码发展的历史 在谈 bytes 和 str 之前,需要先说说关于编码是如何发展的。。 在计算机历史的早期,美国为代表的英语系国家主导了整个计算机行业,26个英文字母组成了多样的英语单词、语句、文章。因此,最早的字符编码规范是 ASCII码,一种8位即1个字节的编码规范 ,它可以涵盖整个英语系的编码需要。 编码是什么?编码就是把一个字符用一个二进制来表示。我们都知道,所有的东西,不管是英文、中文还是符号等等,最终存储在磁盘上都是01010101这类东西。在计算机内部,读取和存储数据归根结底,处理的都是0和1组成的比特流。问题来了,人类看不懂这些比特流,如何让这些010101对人类变得可读呢?于是出现了字符编码,它是个翻译机,在计算机内部某个地方,透明的帮我们将比特流翻译成人类可以直接理解的文字

常用模块(一)

六眼飞鱼酱① 提交于 2020-03-30 02:39:53
collections模块 在内置数据类型(dict,list,set,tuple)的基础上,collections模块还提供了额外 的几个数据类型:Counter,deque,defaultdict,namedtuple和OrderedDict等   1.namedtuple:生成可以使用名字来访问元素内容的tuple   2.deque:双端队列,可以快速的从另外一侧追加和推出对象   3.Counter:计算器,主要用来计数   4.OrderredDict:有序字典   5.defaultdict:带有默认值的字典 namedtuple(具名元组) 因为元组的局限性:不能为元组内部的数据进行命名,所以往往我们并不知道一个元组所要表达的意义,所以在这里引入了 collections.namedtuple 这个工厂函数,来构造一个带字段名的元组。具名元组的实例和普通元组消耗的内存一样多,因为字段名都被存在对应的类里面。这个类跟普通的对象实例比起来也要小一些,因为 Python 不会用 __dict__ 来存放这些实例的属性。下面来看看具名元组的实例: p = (1 , 2) 突兀的出现这么一个tuple大家就很难了解它到底想要表达什么东西,而这个时候namedtuple就派上用场了: from collections import namedtuple point =

1.2、字符串和编码

本小妞迷上赌 提交于 2020-03-27 13:33:52
1、ASCLL:一个字节(8比特)表示一个字符:没有中文 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 、 1 SOH 33 ! 65 A 97 a 2 STX 34 " 66 B 98 b 3 ETX 35 # 67 C 99 c 4 EOT 36 $ 68 D 100 d 5 ENQ 37 % 69 E 101 e 6 ACK 38 & 70 F 102 f 7 BEL 39 , 71 G 103 g 8 BS 40 ( 72 H 104 h 9 HT 41 ) 73 I 105 i 10 LF 42 * 74 J 106 j 11 VT 43 + 75 K 107 k 12 FF 44 , 76 L 108 l 13 CR 45 - 77 M 109 m 14 SO 46 . 78 N 110 n 15 SI 47 / 79 O 111 o 16 DLE 48 0 80 P 112 p 17 DCI 49 1 81 Q 113 q 18 DC2 50 2 82 R 114 r 19 DC3 51 3 83 S 115 s 20 DC4 52 4 84 T 116 t 21 NAK 53 5 85 U 117 u 22 SYN 54 6 86 V 118 v 23 TB 55 7

Python字符串格式化的2种方法

余生颓废 提交于 2020-03-27 11:20:09
3 月,跳不动了?>>> 本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优。 字符串格式化有两种方式:百分号方式、format方式。 百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存。 1、百分号方式 格式:%[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: +  右对齐:正数的加正号,负数的加负号 -  左对齐:正数前没有负号,负数前加负号 width 可选,占有宽度 .precision 可选,小数点后保留的位数 typecode 必选 s,获取传入的对象__str__方法的返回值,并将其格式化到指定位置 r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置 c,整数:将数字转换成其unicode对应的值,10进制范围为0 <= i <=1114111 o,将整数转换成八进制表示,并将其格式化到指定位置 x,将整数转换成16进制,并将其格式化到指定位置 d,将整数,浮点数转化为十进制表示,并将其格式化到指定位置 2、format方式 来源: oschina 链接: https://my.oschina.net/baichibaicai/blog/3212310