一、Python中的字符串数据

在Python中只要是用单引号或者双引号引上的内容都属于字符串类型的数据,如果是多行字符串的话可以用三个单引号或者三个双引号来表示。多个字符串之间可以使用加号+进行连接,但是字符串类型的数据不能做运算,可以使用*号表示重复出现。字符串内容可以使用for循环进行遍历。

print ('你好')
print ("Python")
print ('''
床前明月光
疑是地上霜
举头望明月
低头思故乡
''')
name = "tanglu"
print (name * 3)

二、Python字符串常用方法(字符串是不可变的对象,所有方法都不会更改原字符串的内容)

capitalize():将字符串的首给字母转换为大写

name = "tanglu is good man"
new_name= name.capitalize()
print (name) #原字符串不会变化
print (new_name) #输出结果为Tanglu is good man
title():将每个单词的首字母转换为大写,单词之间可以用空格、特殊字符或者数字隔开
join():实现字符串拼接,和+号不同的是可以自定义拼接字符,可以用它来把列表转换为字符串
upper():将字符串全部转换为大写,同理还有lower()将字符串全部转换为小写。常用于需要忽略大小写的地方
#如验证码通常是不区分大小写的,可以使用lower()方法将其全部转换为小写最后进行判断
secure_input = 'zgEf'
user_input = input('请输入验证码:')
if secure_input.upper() == user_input.upper():
print ('输入正确')
else:
print ('输入错误')
#或者使用在一些脚本的退出中
while True:
content = input(输入Q退出)
if content.upper() == 'Q':
break
print (content)

strip():去掉左右两端的空格或空白字符,常用于用户登录程序,详细说明见另一篇文章介绍:http://www.linuxe.cn/post-475.html

name = " tanglu "

newname = name.strip()

startswith():判断字符串是否以指定的内容开头,同理还有endswitch()方法判断结尾,常用来过滤某后缀的文件,如.doc。符合返回True,不符合则False

a = 'happybirthday'
b = a.startswith('happy')
print(b)
isalnum():判断字符串中是否只有字母或者数字,如果有特殊字符的话为假
isalpha():判断字符串是否全部是字母,是的话为真,否则为假
name = "tanglu"
print (name.isalpha()) #返回True
isdigit():判断字符串是否全部是数字,是的话为真,否则为假
isspace():判断字符串是否只有空格,是的话为真,否则为假

find():查找字符串是否包含指定的内容,找到的话返回其下标,否则返回-1。

index():和find()方法作用一样,查找字符串索引下标,区别在于如果找不到字符串的话会报ValueError: substring not found的错误,而不是-1

isalpha()、isdigit()、isnumeric():分别用于判断字符串是否是字母、数字或者中文数字
name = "tanglu"
print (name.isalpha()) #返回true
count():对符合条件的字符串数量进行统计
name = 'tanglu'
name2 = name.count('tang')
print (name2) #返回应该是1,因为只有一次tang

split():对字符串进行分割。分割符可以自定义且会被自动删掉。需要注意如果被切割的字符串是在字符的边上,那会出现" "这样的空字符串。使用split()也可以实现str转list。

name = 'hello,world,byebye'
name2 = name.split(',')
print (name2) #输出结果就是'hello' 'world' 'byebye'
replace():字符串替换
name = 'www.linuxe.com'
name2 = name.replace('com','cn')
print (name2)

三、Python字符串索引切片

使用索引可以对字符串进行切片,用法和正则表达式后项引用类似。索引从0开始,第二位是1,最后一位为-1,倒数第二位为-2,索引可以设置步长。下面是示例:

name = 'tanglu'
print (name[1]) #输出结果是a
print (name[0:3]) #从0号索引开始,取到第3号索引,但是顾头不顾尾,不会取最后一位,所以结果会是tan
print (name[-1]) #取最后1位
print (name[0:]) #从头开始取到结尾,也就是全部索引
print (name[0:5:2]) #步长2
num = '132'
num2 = num[0]+num[2]+num[1]
print(num2) #输出结果为123