(三)python的字符串使用

简介: python内建了一个专门用于处理字符串的库(名为str的类)。a=3和a='3'不同,后者存字符串3,前者存数字3。 字符串中内容包含单引号或者双引号,要使用他们的转移字符,分别为\' 和 \'' 形式。另:一个双引号包括的字符串中可以直接包

1.python的字符串

   python内建了一个专门用于处理字符串的库(名为str的类)。


a=3和a='3'不同,后者存字符串3,前者存数字3。


  字符串中内容包含单引号或者双引号,要使用他们的转移字符,分别为\' 和 \'' 形式。


另:一个双引号包括的字符串中可以直接包含单引号,一个单引号包裹的字符串中可以直接包含双引号。

一个字符串在Python中可以分成多行来写,但是需要每行的末尾加上一个斜杠,如下:

1. a='这个字符串很友好\
2. 因为它总是每行不会很长\
3. 你看起来不会觉得累

   Python的字符串是“不可变”的,即一个字符串被创建后不可以做出任何改变(类似的情况在Java中也是存在的)。因为字符串是不可以被改变的,因为我们在表示一个计算结果的时候,实际上是不断的创建新的字符串。

2.字符串的位置

a='你好呀'+'老伙计'

可以用str[1]表示字符“好”,即第二个字符。索引位置从下标0开始,如果访问超出索引位置,python会给出“超出合法范围”的错误。

3.大写与小写

a = '我是\n tom'
b = r'我是\nTom'
print(a)
print(b)
print(a.lower())
print(b.upper())

注意:不加r的字符串中 \n 会使得字符串换行(换行的转义字符),加上 r 后的字符串中任何字符串中的转移字符都不会被转义。

结果为\

image.png

这里的r为row简写,因此我们能看见,在最后的将字符串b转为大写字母输出来的时候\n变成 \N

4.字符串测试

1. s = 'HelloabcdWord'
2. print(s.isalpha())
3. print(s.isdigit())
4. print(s.startswith('Hello'))
5. print(s.endswith('World'))

isalpha()判断字符串是否全由字母组成

isspace()判断字符串是否全由空格组成

image.png

5.字符串的索引

下标从0开始(左到右)的位置索引,另外还有逆序索引(该字符的位置索引的值-字符串的长度)

如:Hello字符串,位置索引为0的H的逆序索引就是0-5=-5.

a='Hello'
print(a[1])
print(a[-4])

上面两句都是输出字符e

6.切取字符串

1. tower = '金木水火土风雨'
2. print(tower[1:4])
3. print(tower[3:])
4. print(tower[:-2])

最后一个print是输出从头到倒数第三个,注意“左开右闭”。

结果为

1. 木水火                                          
2. 火土风雨                                        
3. 金木水火土

7.if语句

条件语句的关键字包括 if、elif和else。

1. if a > 0:
2.     c = a
3. elif a == 0:
4.     c = -1
5. else:
6.     c = -a

 在条件语句的if下可以有任何类型的值,数值0以及空字符串' '和其他空类型都代表了“假”;数值1代表“真”。


还有一种叫 布尔类型boolean type的值,为False(会被转成整数0来理解)和True(会被转为整数1来理解)。


在Python,比较大小还有>,<,==,<=,>=。(在python中可以只写成if 2<a<13,C语言则不可以)


  对于列表类型,还有一个运算符in,如我们写'a' in list ,如果字符串'a'是list列表的一个元素,就会得到表示真的True,否则False。  另外:几个关键字:或or  与and  不是not。

8.查找与替换

1. weather = '下雨天'
2. bag = '包里空空的'
3. if weather.find('雨')!=-1:  
4.     bag=bag.replace('空空的','有雨伞')
5. print(bag)

replace(str1,str2)是用str2替换str1。replace函数会替换所有符合第一个参数定义的子字符串而不是只替换第一个。


9.字符串格式化

name = '王母娘娘'
age = 9000
height = 1.73
print(name + '是一位' + str(age) + '岁的老奶奶,她身高' + str(height) +'米')
#这种比较繁琐
print('{0}是一位{1}岁的老奶奶,她身高{2}米'.format(name,age,height))
print('%s是以为%d岁的老奶奶,她身高%g米' % (name,age,height))

两个print的结果相同。字符串中的{}表示字符串中可以嵌入值的占位。而 .format 则用于列出要嵌入到输出中的所有变量和数值,逗号分隔,一一对应。


ps:如果大括号内不写数字,则默认按出现在字符串中的位置与format列出的变量或数值一一对应。


%s 字符串标量    %d 整数变量   %g 浮点数变量


后面%后的括号内,我们按照前面的格式中的占位顺序,依次列出将进行嵌入的变量(%后面的东西是一个“元组”)。


10.批量替换字符串

题目:将字符串中的空格转换成“%20”

样例输入

we are happy

样例输出

we%20are%20happy

代码如下:

def replaceSpace(s):
        # write code here
        print(s.replace(' ', '%20'))
        return
def main():
    s=input()
    replaceSpace(s)
if __name__ == '__main__':
    main()
相关文章
|
17天前
|
Python
1167: 分离字符串(PYTHON)
1167: 分离字符串(PYTHON)
|
1月前
|
大数据 Python
使用Python查找字符串中包含的多个元素
本文介绍了Python中查找字符串子串的方法,从基础的`in`关键字到使用循环和条件判断处理多个子串,再到利用正则表达式`re模块`进行复杂模式匹配。文中通过实例展示了如何提取用户信息字符串中的用户名、邮箱和电话号码,并提出了优化策略,如预编译正则表达式和使用生成器处理大数据。
20 1
|
1月前
|
数据挖掘 开发者 Python
Python:字符串判断子串
Python:字符串判断子串
|
1月前
|
程序员 数据安全/隐私保护 Python
Python:翻转字符串
Python:翻转字符串
|
1月前
|
索引 Python
Python系列(14)—— 字符串运算符
Python系列(14)—— 字符串运算符
|
1月前
|
存储 自然语言处理 数据挖掘
Python:计算字符串中每个单词出现的次数
Python:计算字符串中每个单词出现的次数
|
1天前
|
Python
Python 字符串格式化指南
本文介绍了Python中的三种字符串格式化方法:1) 使用 `%` 操作符,如 `%s` 和 `%d`;2) `str.format()` 方法,通过 `{}` 占位符插入变量;3) Python 3.6 引入的 f-strings,直接在字符串内嵌入变量。此外,还提到了高级用法,如格式控制(如指定小数位数)。这些方法有助于更有效地处理和格式化字符串输出。
3 0
|
8天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
49 0
|
9天前
|
数据采集 Python
python学习9-字符串
python学习9-字符串
|
17天前
|
Java 索引 Python
Python标准数据类型-字符串常用方法(下)
Python标准数据类型-字符串常用方法(下)
21 1

热门文章

最新文章