(三)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()
相关文章
|
2月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
128 64
|
5月前
|
存储 算法 数据库
使用python hashlib模块给明文字符串加密,以及如何撞库破解密码
`hashlib` 是 Python 中用于实现哈希功能的模块,它可以将任意长度的输入通过哈希算法转换为固定长度的输出,即散列值。该模块主要用于字符串加密,例如将用户名和密码转换为不可逆的散列值存储,从而提高安全性。`hashlib` 提供了多种哈希算法,如 `md5`、`sha1`、`sha256` 等。
75 1
|
26天前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
44 5
|
30天前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
35 7
|
2月前
|
Python
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
39 6
|
3月前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
63 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
4月前
|
Python
python获取字符串()里面的字符
在Python中,如果你想获取字符串中括号(比如圆括号`()`、方括号`[]`或花括号`{}`)内的字符,你可以使用正则表达式(通过`re`模块)或者手动编写代码来遍历字符串并检查字符。 这里,我将给出使用正则表达式的一个例子,因为它提供了一种灵活且强大的方式来匹配复杂的字符串模式。 ### 使用正则表达式 正则表达式允许你指定一个模式,Python的`re`模块可以搜索字符串以查找匹配该模式的所有实例。 #### 示例:获取圆括号`()`内的内容 ```python import re def get_content_in_parentheses(s): # 使用正则表达
123 36
|
3月前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
66 7
|
3月前
|
索引 Python
Python 高级编程:深入探索字符串切片
在Python中,字符串切片功能强大,可灵活提取特定部分。本文详细介绍切片技巧:基本切片、省略起始或结束索引、使用负数索引、设定步长及反转字符串等。此外,还介绍了如何结合其他操作进行切片处理,如先转换大小写再提取子串。 来源:https://www.wodianping.com/yeyou/2024-10/48238.html
48 4
|
4月前
|
Python
python第三方库-字符串编码工具 chardet 的使用(python3经典编程案例)
这篇文章介绍了如何使用Python的第三方库chardet来检测字符串的编码类型,包括ASCII、GBK、UTF-8和日文编码的检测示例。
177 6