Python学习日记---字符串

一、字符序列

Python字符型变量与其他语言有所不同,因为特殊的命名空间,使得字符串是不可直接更改的

如何指定显示字符串中特定位置的值?如下

>>> helloString = "Hello World"

>>> helloString[0]

‘H‘

>>> helloString[5]

‘ ‘

>>> helloString[-1]

‘d‘

>>> helloString[-5]

‘W‘

由示例可知,方括号[]内的值表示特定位置自左向右 0,1,2....自右向左 -1,-2,-3....

二、索引和分片

Python采用的事半开区间,包含范围内的起始值,不包含结束值

1.普通的分片和索引

>>> helloString = "Hello World"

>>helloString[:]    #默认值起始位置为0,结束位置为最后元素的后一位置

‘Hello World‘

>>> helloString[2:5]

‘llo‘

>>> helloString[2:-2]

‘llo Wor‘

>>>helloString[-1]   #只有一个参数则用作起始位置,结束位置为默认值

‘d‘

2.扩展分片

分片还可以加入第三个参数,指定分片的步长,就是从当前字符和下一字符相隔字符数,默认为1

,当步长为负数时,则表示从串尾部往前提取。示例如下:

>>> digits = "0123456789"

>>> digits[::-1]  #从尾部向前提取,在回文中使用较多

‘9876543210‘

>>> digits[1::2]   #得到奇数分片

‘13579‘

>>> digits[0::2]  #得到偶数分片

‘02468‘

>>> digits[-2::-2]

‘86420‘

>>> digits[-1::-2]

‘97531‘

3.复制分片

>>> nameOne = "openex"

>>> nameTwo = nameOne[::-1]

>>> id(nameOne),id(nameTwo)

(5647840, 5648064)

>>> nameOne,nameTwo

(‘openex‘, ‘xenepo‘)

三、字符串操作  

1.“+” 运算符可用作两字符串连接  “*” 运算符可用作字符串的复制

>>> A = "Hello"

>>> B = "World"

>>> A+B

‘HelloWorld‘

>>> A*2+(" "+B)*3

‘HelloHello World World World‘

 2.in运算符

可用于检测一字符串中是否包含一个字符串

>>>‘ab‘ in ‘xxxxxabcc‘

True

3.字符串函数和方法

 函数的使用与C差别不大,方法类似于C++的方法概念如helloString.upper().find("A",1,8)

四、字符串的格式化输出

>>>import math

>>> print ("%-10s,%10s\n%-5d,%5d\n%-8.2f,%.4f"%("ABC","ABC",123,123,math.pi,math.pi))

ABC       ,       ABC

123  ,  123

3.14    ,3.1416

#类似C语言的printf格式化输出, %[符号][宽度][.精度]code

五、一个回文测试示例:

不区分大小写

无视特殊符号,只比较数字和字母

import string

TestString = input("Please input the string for test: ")

TestString = TestString.lower() #将字符串中字母变为小写

junk = string.punctuation+string.whitespace #利用预定义字符串,生成特殊符号集合

for char in junk:

if(char in TestString):

TestString = TestString.replace(char, "") #字符串替换方法,将char换成""

if(TestString == TestString[::-1]):

print("%s\n%s"%(TestString,TestString[::-1]))

else:

print("IT‘s not a palindrome\nONE1:%s\nONE2:%s"%(TestString,TestString[::-1]))

时间: 2025-01-01 18:38:24

Python学习日记---字符串的相关文章

python学习之 字符串前'r'的用法

python学习之 字符串前'r'的用法 在打开文件的时候open(r'c:\....') 加r和不加''r是有区别的 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 在字符串赋值的时候 前面加'r'可以防止字符串在时候的时候不被转义 原理是在转义字符前加'\' 例: s=r'\tt' print(s) Output: '\tt' s='\tt' print(s) Output: '        t' python学习之

Python 学习日记(第四周)

set数据类型 先用一行代码来说明一下 #!/usr/bin/env python s2={} s = {33,12,33,32121} for i in s: print(i) print(type(s)) print(type(s2)) s1=set() s1.add(11) s1.add(22) s1.add(33) print(s1) 下面的代码的运行结果 32121 12 33 <class 'set'> <class 'dict'> {33, 11, 22} 通过代码的

Python学习日记之四 字符串

1.字符串 主要print的时候' '和" "的 结果都是样的,要注意的就是如果句子中含有'或"是要交叉使用,例如I'am a man.里面就有',那么print的时候就要用双引号"I'am a man.",如果是"Apple"is an fruit.就要用单引号'"Apple" is an fruit.' 如果用\来隔开,那么同一句中都可以使用' '和" "在用\的时候,字符串前后的''不需要加

Python学习日记之五 字符串格式化

print的时候原来可以直接让变量用加号来重组,那就省去了重写的步骤(不知道我的理解对不对,捂脸).变量和字符串之间也可以重组. 另外可以通过%来格式化数字,%d是整数,%f是小数,%s可以代替一段字符串.使用这三个的时候,都要在语句结束的时候单引号外加上%和转换对象的名字 例如a=4 print'we have %d apples'%a 用来改进之前的小游戏,本来print只会有too big,too small 生活二三事:与人交往,沟通是很重要的.下班后,洗完澡,打开电脑.有点累,眼皮睁不

python学习日记-i/o&amp;type

今天学习的是python的输入输出io和数据类型. python的输入为input()函数(一个内置函数和c#的readkey()类似),比如要给变量a赋值,需要用户输入赋值就可以写a=input();如果需要提示用户输入名字并且赋值给a就可以用a=input(‘请输入你的名字’),但是在用的过程中遇到一个问题,就是让用户输入一个数字,并进行处理,比如: a=input('请输入一个数字')if a>100: print(a)else: print(a+100) 结果报错 unorderable

Python 学习笔记-字符串

今天学习Python对字符串的一些基础处理,感觉对于工作中的自动化脚本发送CLI命令会很有帮助. 首先最重要的是%,标称"转换说明符(conversion specifier)",用于字符串格式化. 左侧放置一个字符串(格式化字符串),而右侧放置希望被格式化的值(待格式化的值) 1 2 3 4 5 left = "Hello,%s good "     # %s 表示期望被格式化的类型 right = "she's"print left % ri

python学习之字符串

最近在学习python,随手做些记录,方便以后回顾 #字符串是不可再改变的序列aa='abcd'#aa[2:]='ff' #报错,不可直接赋值#字符串格式化:使用格式化操作符即百分号%来实现print 'price of aggs: $%d'%42mm='hello'nn='world'print '%s go %s'%(mm,nn)#String 模板字符串格式化:用传递的关键字参数(foo)替换字符串中的$foos=Template('$x is $x')print s.substitute

Python 学习日记(第二周)

从这周开始我就正式学习Python 语言了.以后每周都会有一篇有关于学习Python的见闻与大家分享! Python的安装 学习的第一步首先要有一个运行的环境.所以接下来介绍一下安装的步骤. 通过Python的官网可以看到Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 要提醒大家的是 Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的.在未来py3 会是趋

python学习日记——安装及初识

一.Linux基础(内容较多,额外整理)二.Python开发1.操作系统是基于C语言的,所以C语言可以在操作系统上直接执行,而自己书写的python代码经过解释器转换为C语言之后再执行:python比Java简洁,但执行效率低2.学习的路线及框架a.Python基础- 基础- 基本数据类型- 函数- 面向对象b.网络编程c.Web框架用于写网站d.设计模式 + 算法e.项目阶段3.python开发环境搭建a.Windows中(使用pythonw.exe不在运行程序时弹出终端窗口:使用python