Python 字符串(一)

1、字符串的定义

字符串是开发中比较常见的一种类型,使用双引号或者单引号进行定义

示例:

s1 = 'aaa'
s2 = "bbb"
s3 = """
 ccccccccccccccccccc
 ddddddddddddddddddd
 eeeeeeeeeeeeeeeeeee 
 """
print(s1)
print(s2)
print(s3)

2、字符串的引用

示例-1:

s = 'abc'
#字符串从0索引开始引用
print(s[1])

结果:b

示例-2:

s = 'abcdef'
#字符串从倒数第2个索引开始引用
print(s[-2])

结果:e

示例-3:

ss = 'abcdef'
for s in ss:
 print(s)

结果:

a
b
c
d
e
f

3、字符串的格式化

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

常用的格式:

%s:格式化字符串

%d:格式化整数

%f:格式化浮点数字,可指定小数点后的精度

(1)示例-1:将整数、浮点数对象转换为字符串对象输出

name = input('姓名:')
age = int(input('年龄:'))
score = float(input('分数:'))
s1 = '姓名='+name+',年龄='+str(age)+',分数='+str(score)
print(s1)

结果:

姓名:lily

年龄:21

分数:99

姓名=lily,年龄=21,分数=99.0

(2)示例-2:使用占位符格式

name = input('姓名:')
age = int(input('年龄:'))
score = float(input('分数:'))
s1 = '姓名=%s,年龄=%s,分数=%s'%(name,age,score)
print(s1)

结果:

姓名:lily

年龄:21

分数:99

姓名=lily,年龄=21,分数=99.0

(3)示例-3:使用占位符{}进行格式化

name = input('姓名:')
age = int(input('年龄:'))
score = float(input('分数:'))
s1 = '姓名={0},年龄={1},分数={2}'.format(name,age,score)
print(s1)

结果:

姓名:lily

年龄:21

分数:99

姓名=lily,年龄=21,分数=99.0

Python 字符串(二)

一、转义符

在需要在字符中使用特殊字符时,python用反斜杠()转义字符。

1、 ' 代表单引号

示例:

s1 = "hello you , hello me"
print(s1)
#给you加单引号
s2 = "hello 'you' , hello me"
print(s2)

结果:

hello you , hello me

hello 'you' , hello me

2、" 双引号

示例:

s1 = "hello you , hello me"
print(s1)
#和单引号不同,把转义符去掉报错,这是初学者常犯的错误!
#即不能这么写:s2 ="hello "you" , hello me"
s2 = "hello "you" , hello me"
print(s2)

结果:

hello you , hello me

hello "you" , hello me

3、 跳格键Tab

示例:

#加两个跳格键
s1 = "helloworld"
print(s1)

结果:

helloworld

4、换行

注意:windows下换行符是 ,Linux下是

示例:

s1 = "hello youhello me" #windows下
print(s1)

结果:

hello you

hello me

二、运算符

+ 字符串连接

* 重复输出字符串

[] 通过索引获取字符串中字符

[ : ]截取字符串中的一部分

示例-1:

s1 = "aaa"
s2 = "bbb"
print(s1 + s2)

结果:

aaabbb

示例-2:

s = "aaa"
print(s*3)

结果:aaaaaaaaa

示例-3:

s = "abcdef"
s1 = s[1]
s2 = s[1:3]
print(s1)
print(s2)

结果:

b

bc

Python 字符串(三)

字符串的方法

1、find方法

检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

示例:

str = "大漠孤烟直,长河落日圆"
s = "长河"
flg = str.find(s)
print(flg)

结果:6

示例-2:

s = 'abca'
# 从下标1开始,查找在字符串里第一个出现的子串
index = s.find('a',1)
print (index)
# 查找不到返回-1
index = s.find('d')
print (index)

结果:

3

-1

2、rfind()方法

类似于 find()函数,不过是从右边开始查找.

示例:

str = "飞雪连天射白鹿,笑书神侠倚碧鸳";
substr = "射白鹿";
index = str.rfind(substr)
print(index);

结果:4

3、index()方法

返回字符串的索引位置

示例:

str = "飞雪连天射白鹿,笑书神侠倚碧鸳";
substr = "神侠";
x = str.index(substr)
print(x);

结果:10

4、count()方法

返回 str 在 string 里面出现的次数

示例:

str = """
 飞雪连天射白鹿,笑书神侠倚碧鸳
 笑:笑傲江湖
 神:神雕侠侣
 """
n = str.count("笑")
print( n );

结果:3

5、split()方法

切片 string

示例-1:

str = "aaa-bbb-ccc"
s1 = str.split("-")
print( s1 );

结果:['aaa', 'bbb', 'ccc']

示例-2:

str = "aaa-bbb-ccc"
s1 = str.split("-")
for x in s1:
 print( x );

结果:

aaa

bbb

ccc