python字符串操作

基本数据类型

∥☆過路亽.° 提交于 2019-11-30 06:34:30
字符串 字符串定义和初始化 字符串是一个个字符组成的有序的序列,是字符的集合。 使用单引号、双引号、三引号引住的字符序列,字符串是不可变对象,同时,从Python3起,字符串默认就是 Unicode类型。 字符串访问——索引和切片 字符串支持使用索引访问,索引也就是下标。下标从0开始,同时支持负向索引。索引不能越界,越界会报错。 s1 = "abcdefghigklmnopqrst" print(s1[0]) # 获取第0个 print(s1[1]) 结果为: a b print(s1[-1]) # -1 表示倒数. print(s1[-2]) # 倒数第2个 结果为: t s print(s1[30]) 结果为: IndexError Traceback (most recent call last) <ipython-input-28-dbf7bde6c69e> in <module> ----> 1 print(s1[30]) IndexError: string index out of range a = "abc"#有序的字符集合 for c in a: print(c) print(type(c)) 结果为: a <class 'str'> b <class 'str'> c <class 'str'> s = "abcd"#不可变对象 print(s[3]) s[3

int,bool,字符串知识总结

为君一笑 提交于 2019-11-30 06:13:56
一:int整数类型,bool类型 一:int类型,整数 1,bit_length() 返回一个数的二进制长度 a = 5 # 0 1 10 11 100 101 print(a.bit_length()) a = 10 print(type(a)) s = str(a) print(s) print(type(s)) # int(s) # 想把某数据转换成xxx数据类型. xxx(数据) 二:bool类型 布尔只有两个值. True,False. 一般是没有什么操作的. 类型转换的问题: 想把xx转换成yy. yy(xx) 可以表示False的内容:0, "", [], tuple(), {}, None 所有的空都是False. 所有的非空是True a = 0 # False print(bool(a)) s = "" # 空字符串是false print(bool(s)) # True # 空的东西是False. 非空的东西是True lst = [1] # 空列表是False print(bool(lst)) dic = {'jj':'林俊杰'} # 空字典是False print(bool(dic)) a = None # 表示空. 真空. print(bool(a)) # 所有的空都是False. 所有的非空都是True # 想把某数据装换成xxx数据类型. xxx

golang标准库-strings

依然范特西╮ 提交于 2019-11-30 04:31:34
字符串处理 字符串在开发中经常用到,包括用户的输入,数据库读取的数据等,我们经常需要对字符串进行分割、连接、转换等操作 字符串操作 下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档。 1.前缀和后缀 HasPrefix 判断字符串s是否以prefix开头: 函数签名 strings.HasPrefix(s, prefix string) bool HasSuffix 判断字符串 s 是否以 suffix 结尾: 函数签名 strings.HasSuffix(s, suffix string) bool 示例: package main import ( "fmt" "strings" ) func main(){ str1 := "this is a example strings" fmt.Println(strings.HasPrefix(str1, "th")) fmt.Println(strings.HasSuffix(str1, "gs")) } Contains 字符串包含关系 func Contains(s, substr string) bool 功能:字符串s中是否包含substr,返回bool值 示例代码: fmt.Println(strings.Contains("seafood", "foo")) fmt

基本的字符串之切片

半城伤御伤魂 提交于 2019-11-30 04:23:44
Python提供了5个字符串的基本操作符 切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。 即[start:end:step] 实行左闭右开原则 [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串 [start:] 从start 提取到结尾 [:end] 从开头提取到end - 1 [start:end] 从start 提取到end - 1 [start:end:step] 从start 提取到end - 1,每step 个字符提取一个 左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1 例如: s="hello" t="world" s+=t print(s) print(s[-1]) print(s[2:8]) print(s[::3]) print(s[-2::-1]) 分析:s[-1]表示s字符串逆序遍历的第一位字符即d。    s[2:8]表示s字符串顺序从第2位字符遍历到第七位,因为实行左闭右开原则,即llowor。    s[::3]表示s字符串顺序从头到尾每隔3个字符遍历,即hlod    s[-2::-1]表示s字符串从倒数第二个字符逆序遍历,即lrowolleh 运行结果: 来源: https://www

整型,浮点型,字符串,列表

一世执手 提交于 2019-11-30 03:42:37
1. 整型 # 是否可变类型: 不可变类型 # 作用:记录年龄、手机号 # 定义: age = 18 # --> 内部操作 age = int(18) # int('sada') # 报错 int(1.1) # int('1.1') # int() 只能转纯数字的字符串,小数点都不行 a = 11111 print(id(a)) a = 122121 print(id(a)) # 2250375207952 # 2250375207632 # id变了,所以是不可变类型   可变类型和不可变类型 ''' 可变类型: 值改变的情况下,id不变,说明你改的是原值 不可变类型:值改变的情况下,id一定变 ''' 2. 进制之间的转换 十进制转换为其他进制 1 # -------------- 十进制 --> 其他进制 ------------- 2 # 》》》 十进制转二进制 《《《 3 print(bin(12)) # 0b1100 0b表示后面的数字是二进制数 4 5 # 》》》 十进制转八进制 《《《 6 print(oct(12)) # 0o14 0o表示后面的数字是八进制14 >>> 1*(8**1) + 4*(8**0) 7 8 # 》》》 十进制转十六进制 《《《 9 print(hex(12)) # 0xC 0x表示后面的数字是十六进制数 10 11 # 0b1100

Python存储字符串时,是如何节省空间的?

怎甘沉沦 提交于 2019-11-30 03:33:52
从 Python 3 开始,str 类型代表着 Unicode 字符串。取决于编码的类型,一个 Unicode 字符可能会占 4 个字节,这个有些时候有点浪费内存。 出于内存占用以及性能方面的考虑,Python 内部采用下面 3 种方式来存储 Unicode 字符: 一个字符占一个字节(Latin-1 编码) 一个字符占二个字节(UCS-2 编码) 一个字符占四个字节(UCS-4 编码) 使用 Python 进行开发的时候,我们会觉得字符串的处理都很类似,很多时候根本不需要注意这些差别。可是,当碰到大量的字符处理的时候,这些细节就要特别注意了。 我们可以做一些小实验来体会下上面三种方式的差别。方法 sys.getsizeof 用来获取一个对象所占用的字节,这里我们会用到。 在学习过程中有什么不懂得可以加我的 python学习交流扣扣qun,784758214 群里有不错的学习视频教程、开发工具与电子书籍。 与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容 >>> import sys >>> string = 'hello' >>> sys.getsizeof(string) 54 >>> # 1-byte encoding ... sys.getsizeof(string + '!') - sys.getsizeof(string) 1 >>>

第一章 Python基础

拈花ヽ惹草 提交于 2019-11-30 02:36:32
第一章 Python基础 第一节 Python 简介 1. Python的出生 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 (龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)。 2. Python的今世 2019年6月的TIOBE排行榜,Python占据第三的位置, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。 据当前来看Python在TIORB排行榜中,位居第三.Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言. Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可! Python的主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。典型WEB框架有Django 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas 系统运维: 运维人员必备语言 爬虫

简化你的 java 字符串操作:Guava 之 CharMatcher 用法简介

一个人想着一个人 提交于 2019-11-30 00:38:05
对字符串的处理应该是编程活动中最频繁的操作了,而原生的 JDK 以及 Java 本身的语法特性使得在 Java 中进行字符串操作是一件极其麻烦的事情,如果你熟悉 Shell/Awk/Sed/Perl/Python 等脚本语言,你就大概能明白我说的啥意思了。 上次在这篇 使用 Google Guava 美化你的 Java 代码:1~4 中介绍过一些利用 Guava 库进行字符串操作的例子,限于篇幅与内容,介绍的比较泛,今天就单独的聊聊 Guava 中的 CharMatcher 类,并结合一些常见的需求来进行解说。 CharMatcher提供了多种对字符串处理的方法, 它的主要意图有: 1. 找到匹配的字符 2. 处理匹配的字符 CharMatcher 的内部实现主要包括两部分: 1. 实现了大量公用内部类, 用来方便用户对字符串做匹配: 例如 JAVA_DIGIT 匹配数字, JAVA_LETTER 匹配字母等等。 2. 实现了大量处理字符串的方法, 使用特定的CharMatcher可以对匹配到的字符串做出多种处理, 例如 remove(), replace(), trim(), retain()等等。 CharMatcher本身是一个抽象类, 其中一些操作方法是抽象方法, 他主要依靠内部继承CharMatcher的内部子类来实现抽象方法和重写一些操作方法,

1.python的基础语法

这一生的挚爱 提交于 2019-11-29 23:52:58
1.#的作用 :   注释,标注的文本。 2.python支持的数字类型:    整数型: 不区分long和int,无上限。布尔型只有两个值(True和False),注意首字母大写。    浮点数型: 1.2、3.1415、-0.12、1.46e9等价于1.46*10^9。    复数型: 1+2j 3.python中的字符串:   ▪ 使用‘ ’‘单双引号引用的字符的序列,单引号于双引号的作用是一样的。   ▪ ’‘’和“”“单双三引号,可以跨行、可以在其中自由的使用单双引号。   ▪ 在字符串前面加上r或者R,表示该字符串不作特殊处理。 4.转义序列:   \\、\t(Tab)、\r(回车)、\n(换行)、\'(表示单引号本身的意义,单引号本身是字符串的界定符,前面加上反斜杠就表示了自身的意义)、\"(同单引号) print('ab\'c')#在这里如果不加入反斜杠的话,会报语法错误 print('ab"c')#在这条print()语句中,因为有两个单引号界定了字符串,因此里面的双引号可以不使用反斜杠,当然使用也是正确的。 print(r'ab\"c\t',100,r'\n')#如果在字符串前面加上r或R的话,转义符是失效的,该条语句输出的是 ab\"c\t 100 \n 5.缩进:   ▪ 未使用C等语言的花括号,而是采用缩进的方式表示层次关系   ▪ 约定使用4个空格缩进

Python编码

女生的网名这么多〃 提交于 2019-11-29 22:33:30
1.内存和硬盘都是用来存储的。 内存:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word)    打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编写的内容也都是存放在内存中的,断电后数据就丢失了。因而需要保存在硬盘上,点击保存按钮或快捷键,就把内存中的数据保存到了硬盘上。在这一点上,我们编写的py文件(没有执行时),跟编写的其他文件没有什么区别,都只是编写一堆字符而已。 3.python解释器执行py文件的原理,例如python test.py   第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器   第二阶段:python解释器相当于文本编辑器,去打开test.py,从硬盘上将test.py的文件内容读入到内存中   第三阶段:python解释器执行刚刚加载到内存中的test.py的代码(在该阶段,即执行时,才会识别python的语法,执行到字符串时,会开辟内存空间存放字符串) 总结:python解释器与文本编辑器的异同 相同点:python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样 不同点:文本编辑器将文件内容读入内存后,是为了显示/编辑,而python解释器将文件内容读入内存后,是为了执行(识别python的语法) 4.什么是编码?