美文网首页
2020-07-07 Python学习笔记18 字符串格式化

2020-07-07 Python学习笔记18 字符串格式化

作者: 建渐升辉 | 来源:发表于2020-07-07 08:59 被阅读0次

一些关于自己学习Python的经历的内容,遇到的问题和思考等,方便以后查询和复习。

声明:本人学习是在扇贝编程通过网络学习的,相关的知识、案例来源于扇贝编程。如果使用请说明来源。

Python 中的字符串是使用一对英文单引号(')或英文双引号(")包裹的任意文本。无论是用单引号还是用双引号,它俩的效果都是一样的,但需要保持前后引号的统一。

在之前的课程练习中,我们打印的文字好像都只能在一行,如果我们要打印多行文字时,比如打印一首诗,要怎么办呢?

我们可以使用一对三引号(''' 或 """)来包裹多行字符串。三引号包裹的字符串和普通的字符串使用上没有区别,只是三引号支持多行字符串而已。

除了使用多行字符串来实现多行文本外,使用 \n 也能达到一样的效果。\n 被称为 换行符,用于文本间的换行。

poetry = '日暮苍山远,天寒白屋贫。\n柴门闻犬吠,风雪夜归人。'

print('''微明的灯影里

我知道她的可爱的土壤

是我的心灵成为俘虏了

我不在我的世界里

街上没有一只灯儿舞了

是最可爱的

你睁开眼睛做起的梦

是你的声音啊''')

三引号,一般前面和第一行在一起,后面和最后一行在一起。

如果前后引号单独出来,也能打印,但是前面好像会有空行,希望会说和答案不一致,实际应够用中前后引号应该是可以单独一行的。

通过 + 可以将两个字符串拼接,得到一个新的字符串。

full_name = first_name + '·' + last_name

把同一个字符串重复很多次的时候,我们可以使用多个 + 拼接

str1 = '海草'

str2 = str1 + str1 + str1

用 *数学中的乘法是相同的数加起来的快捷方式,Python 中字符串的拼接操作也是如此。

str1 = '海草'

str2 = str1 * 3  # 相当于 str1 + str1 + str1

Python 还提供了一种更高级的方法来组合字符串,那就是字符串格式化输出。

字符串格式化输出 是按照一种既定格式给字符串填空的方式,以便我们更加方便地写入字符串。比如一段自我介绍的文本:我叫 xx,今年 xx 岁,来自 xx。,根据我们学过的知识,我们会这样写:

def print_intro(name, age, city):

  intro = '我叫' + name + ',今年 ' + str(age) + ' 岁,来自' + city + '。'

  print(intro)

print_intro('小贝', 18, '南京')

# 输出:我叫小贝,今年 18 岁,来自南京。

使用格式化输出

def print_intro(name, age, city):

  intro = '我叫%s,今年 %d 岁,来自%s。' % (name, age, city)

  print(intro)

print_intro('小贝', 18, '南京')

# 输出:我叫小贝,今年 18 岁,来自南京。

% 运算符左边是要格式化的字符串,右边是一个元组。如果只有一个占位符,可以将元组里的元素拿出来,如:'我叫%s' % '小贝'。

我们通过 %s、%d 这样的占位符在字符串中“占位”,Python 会将 % 右边的内容会按顺序替换掉对应的占位符,一一填空。每个占位符都有特定的含义,常见的占位符:

%d、%f、%s、%x分别代表整数、浮点、串和十六进制整数

练习:天气预报

weathers = [

  ('南京', 36),

  ('成都', 30),

  ('昆明', 26)

]

for weather in weathers:

  print('今天' + weather[0] + '的最高气温是' + str(weather[1]) + '度')

  这个是用+号对字符进行拼接的。

  weathers = [

  ('南京', 36),

  ('成都', 30),

  ('昆明', 26)

]

for weather in weathers:  # 遍历所以,会一个一个元素访问的。每个元素是一个元组

  forecast = '今天%s的最高气温是%d度' %(weather[0], weather[1])

  print(forecast)

这个是适用格式format,对字符进行拼接组合。

(weather[0], weather[1])括号中的0和1是元素的索引,本题中由于前面有两个占位符,而列表中的元素是元组,刚好也是两个元素。所以会自动匹配,因此这里的0和1去掉也可以。

(weather[0], weather[1]) 其实就是列表中的元素,也就是每个元组。前面两个占位符分别使用元组的第一和第二个元素。

练习:自我介绍

身为 Python 练习生的你,练习时长有多久了呢?今天我们来用字符串格式化的知识来做段自我介绍!

格式是:同学们大家好,我是 Python 练习时长xxx的个人练习生xxx,喜欢xxx!。比如:同学们大家好,我是 Python 练习时长两年半的个人练习生小贝,喜欢唱、跳、Python、篮球!

def print_intro(duration, name, hobby):

  print('大家好,我是 Python 练习时长两年半的个人练习生小贝,喜欢唱、跳、Python、篮球!')

  # 用占位符修改上面字符串

  print('大家好,我是 Python 练习时长%s的个人实习生%s,喜欢%s!' % (duration, name, hobby))  # % 后面的部分开始没有写对,这里就是用来一个元组,元组的元素就是函数的变量。变量是在最后一行赋值,然后运行print命令。

最初我是把证据放到最后,一直报错,后来放在这里,但是最后写的是 % (print_intro)无法调用函数,不能赋值,所以占位符打出来并没有要求的内容。打出的结果是:大家好,我是 Python 练习时长<function print_intro>的个人实习生,喜欢!这里只是打出第一个占位符的内容,因为括号中只有一个串,后面姓名和爱好的占位符没有对应内容。

# 将参数改为你的自我介绍

print_intro('两年半', '小贝', '唱、跳、Python、篮球')

相关文章

  • Python中使用生成器实现杨辉三角

    其中输出部分运用了字符串的格式化知识,在我的另一篇简文《Python学习笔记》中有记录python中字符串的格式化...

  • python基础知识(3)

    python字符串 python转义字符 python字符串运算符 python字符串格式化 python格式化操...

  • 今日事今日毕

    python学习: 格式化字符串:占位符%(%s表示字符串,%d表示整数等等);‘{}’.format格式化。...

  • 2020-07-07 Python学习笔记18 字符串格式化

    一些关于自己学习Python的经历的内容,遇到的问题和思考等,方便以后查询和复习。 声明:本人学习是在扇贝编程通过...

  • Python中的字符串

    Python中的字符串 对Python中的字符串常用函数的笔记, 方便查用. 格式化操作符% %通过匹配不同的字符...

  • 字符串的格式化操作

    旧式字符串格式化%运算符,位置格式化(python2) str.format字符串格式化(python3,它存在一...

  • Python学习-中英文字体格式化补充

    查看所有Python相关学习笔记 文章参考:Python学习-格式化本文参考文章 中英文混合的格式化问题解决方案 ...

  • python字符串格式化符号与内建函数资料表

    python字符串格式化符号: Python 的字符串内建函数 Python 的字符串常用内建函数如下:

  • 4.2 Python

    4.2.1. 格式化字符串   在Python中,有两种格式化字符串的方式,在Python2的较低版本中,格式化字...

  • Python学习-格式化

    查看所有Python相关学习笔记 格式化学习 格式化 %数字代表长度,正数是右对齐,负数是左对齐%s -->str...

网友评论

      本文标题:2020-07-07 Python学习笔记18 字符串格式化

      本文链接:https://www.haomeiwen.com/subject/ergoqktx.html