最新消息:欢迎光临 魔力 • Python!大家可以点开导航菜单中的【学习目录】,这个目录类似图书目录,更加方便学习!

Python3萌新入门笔记(4)

Python教程 小楼一夜听春语 13004浏览 0评论

这一篇教程,我们继续学习对字符串的一些操作。

4、重复字符串

在Python中,重复字符串的操作很简单。

大家可以尝试运行下方这段代码:

print ('小楼好帅!\n' * 9)

提示:上方代码中的“\n”是换行符,大家可以删除换行符查看代码的运行效果!

运行代码之后,显示的结果为:

大家能够看到,“小楼好帅!\n”这段字符被重复了9次。

也就是说,当我们对一个字符串进行“*”运算的时候,这个字符串能够被重复;重复的次数取决于“*”后方的数值。

5、字符串大小写转换

大小写转换的方法有以下几种:

  • upper(): 字符串全部字符转换为大写
  • lower():字符串全部字符转换为小写
  • swapcase() :字符串全部字符大小写互换
  • capitalize():字符串首个单词首字母大写
  • title(): 字符串中全部单词首字母大写

这些方法均不用写入参数,直接调用。

这里我们简单的了解一个概念–对象。

对象就是一个具体的事物,比如一个人、一张桌子或者一台电脑都是一个对象。

不用着急,这个概念会在之后越来越明确。

Python中一个字符串或者一个变量也是对象。(其实Python中万物皆对象)

如果想对一个字符串进行一些操作,我们就需要通过对象去调用相应的方法。

就好像,小楼测量身高,小楼就是一个对象,测量是方法,而测出的数值数值是方法的返回值。

接下来,回到刚才我们看到的这些方法。

我们可以将字符串保存在变量中,通过变量调用这些函数。(当然也可以通过字符串直接调用,因为字符串自身就是对象,变量保存了字符串之后,变量等同于这个字符串对象)

通过对象调用函数或者方法,需要通过操作符“.”来完成。

例如:将字符串对象’Abc’中的大写字母全部转换成小写字母,就需要字符串对象调用转换字符为小写的方法,也就是:’Abc’.lower()

提示:把“.”读成“的”试试看,是不是更容易理解?

接下来,我们看一下如何使用前面提到的那些方法。

示例代码:

s = 'i need PyCharm.'

print (s.upper()) # 全部字符转换为大写
print (s.lower()) # 全部字符转换为小写
print (s.swapcase()) # 全部字符大小写互换
print (s.capitalize()) # 字符串首个单词首字母大写
print (s.title()) # 字符串中全部单词首字母大写

运行代码之后,显示的结果为:

6、替换部分字符

替换部分字符的方法是“replace(old,new,count)”。

如上所述,这个函数有三个参数:

  • old:表示需要被替换的字符或字符串;
  • new:表示替换后的新字符或字符串;
  • count:表示替换的次数,此参数可省略;如果省略表示替换所有需要被替换的字符或字符串。

示例代码:

s = '小楼好帅,我好喜欢他!'

print (s.replace('喜欢','崇拜'))
print (s.replace('好','很',1))
print (s.replace('好','很',2))

运行代码之后,显示的结果为:

大家能够看到,受第3个参数的影响,第2个print语句的执行结果中,只有前面的“好”被替换为“很”。

7、原始字符串

假如在代码中,我们使用的字符串是一个路径,有可能会出现下面这种情形。

path = 'D:\new_project'
print (path)

这段代码运行之后,结果如下:

这就尴尬了!

因为,在路径的字符串中,包含了“\n”。

在本篇开始,我们就看到过“\n”出现,它是一个换行符。

那么,如何化解这份突如其来的尴尬?

大家尝试再加入一个“\”。

path = 'D:\\new_project'
print (path)

上面这段代码的运行结果就正常了。

由此可见,“\”是转义字符,它能够将第2个“\”从转义字符转回普通字符,从而“\n”就不再起到换行符的作用。

这样操作虽然简单,但是遇到下方这个路径,看起来就会有些麻烦!

path = 'D:\new_project\test\nt\files\data'

如果想正常使用这个路径,我们需要加上多个“\”。

path = 'D:\\new_project\\test\\nt\\files\\data'

实际上,这样的路径我们可以将它转换为原始字符串,转换方法是在字符串之前写一个“r”。

path = r'D:\new_project\test\nt\files\data'

这样,我们就无须添加多个“\”,也能够正常使用这个路径。

不过,有的时候,我们使用的路径需要是“\”结尾。

例如:D:\new_project\test\nt\files\data\

这时要注意,原始字符串不能以“\”结尾,否则会抛出异常。

另外,也不能通过转义字符转换最后的“\”,程序会在路径末尾原样输出两个“\”。

示例代码:(错误示例)

path = r'D:\new_project\test\nt\files\data\' # 提示异常
path = r'D:\new_project\test\nt\files\data\\' # 末尾保持原样

当我们遇到这种需求时,我们需要对末尾的“\”单独进行转义处理,并和前面的字符串连接。

示例代码:(正确示例)

path = r'D:\new_project\test\nt\files\data''\\'
print (path)

上面的代码,大家可以看到是两部分字符串并排在一起,这种书写方法是符合规则的,程序会自动把多个并列的字符串连接到一起。
关于这种操作,我们再来看一个例子。

示例代码:

name = '小楼'
path = name + '是' '一个' '很帅很帅的' '大帅哥' '!'
print (path)   # 显示输出结果为:小楼是一个很帅很帅的大帅哥!

本节教程是字符串操作的一部分,在下一节教程中将继续讲解关于字符串的相关操作。

本节知识点:

1、重复字符串;

2、字符串大小写转换;

3、替换字符串中的部分字符;

4、转义字符;

5、原始字符串。

本节英文单词与中文释义:

1、upper:上面

2、lower:下面

3、capitalize:用大写字母写或印刷

4、title:标题

5、replace:替换

6、old:旧的

7、new:新的

8、count:计数

9、swap:互换

10、case:情形

11、path:路径

12、new:新的\新建

13、project:项目

14、test:测试

15、file:文件

16、data:数据

练习:

替换字符串“今天是个好天气,我好想和我的好朋友出去旅行。”中最后一个“好”为女。

答案:(见评论1楼)

转载请注明:魔力Python » Python3萌新入门笔记(4)

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网站 (可选)

网友最新评论 (21)

  1. 小楼一夜听春语
    练习题:
    s = '今天是个好天气,我好想和我的好朋友出去旅行。'
    print (s.replace('好','女').replace('女','好',2)) 
    
    小楼一夜听春语7年前 (2017-07-04)回复
    • 头像
      想了半天也没想出来最后这样解决。
      新手6年前 (2018-10-06)回复
      • 头像
        print(test_str[:-8] + test_str[-8:].replace('好', '女'))
        java老鸟,python菜鸡5年前 (2018-11-13)回复
    • 头像
      a = '今天是个好天气,我好想和我的好朋友出去旅行。' b = a.replace('好','女',3) print(b.replace('女','好',2))
      Wayne3年前 (2021-04-22)回复
  2. 头像
    萌新起步
    送外卖的小学生6年前 (2017-11-15)回复
  3. 头像
    楼主能指导我一下吗
    Ahh6年前 (2018-01-19)回复
    • 小楼一夜听春语
      什么?
      小楼一夜听春语6年前 (2018-01-22)回复
      • 头像
        看教程看来看去觉得很萌逼。。不知道该如何下手了 感觉会 但是写不出
        Ahh6年前 (2018-02-01)回复
        • 头像
          放弃吧,兄弟,C语言适合你
          大龄学习者6年前 (2018-02-07)回复
  4. 头像
    作业这样可以吗 s-'今天是个好天气,我好想和我的好朋友出去旅行.' print(s.replace('的好','的女'))
    大龄学习者6年前 (2018-02-07)回复
    • 小楼一夜听春语
      当然可以呀!不拘泥于一种思路。这个主要是强调一下replace的第3个参数的作用。
      小楼一夜听春语6年前 (2018-02-07)回复
  5. 头像
    s1 = '今天是个好天气,我好想和我的好朋友出去旅行。' s2 = s1.replace('好','女',3) s3 = s2.replace('女','好',2) print(s3)
    沐一6年前 (2018-04-07)回复
  6. 头像
    已阅 :mrgreen: 看来我还是喜欢吃现成的
    走路爱走神6年前 (2018-05-24)回复
  7. 头像
    mood = "今天是个好天气,我好想和我的好朋友出去旅行" print(mood[::-1].replace("好", "女", 1)[::-1])
    离散6年前 (2018-08-10)回复
    • 头像
      朋友,谢谢你!
      寒风5年前 (2019-08-19)回复
  8. 头像
    想了半天也没想出来最后这样解决。message = '今天是个好天气,我好想和我的好朋友出去旅行。' print(message.replace('好朋友','女朋友'))
    新手6年前 (2018-10-06)回复
  9. 头像
    a='今天是个好天气,我好想和我的好朋友出去旅行。' a=a[::-1] a=(a.replace('好','女',1)) a=a[::-1] print(a) 我把问题复杂化了 哈哈哈哈
    德玛西亚的爸爸5年前 (2018-10-30)回复
    • 小楼一夜听春语
      你开心就好
      小楼一夜听春语5年前 (2018-10-31)回复
  10. 头像
    最简单的:replace(“好朋友”,“女朋友”,1)
    what!!5年前 (2019-06-06)回复
  11. 头像
    s = '今天是个好天气,我好想和我的好朋友出去旅行' news=s.replace('好','女') print(news.replace('女','好',2))
    冰糖葫芦4年前 (2019-10-22)回复
  12. 头像
    我一开始还以为可以用-1来实现倒序匹配,可惜不行啊。
    Kings4年前 (2019-12-25)回复