我的编程空间,编程开发者的网络收藏夹
学习永远不晚

笨办法学Python - 习题8-10:

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

笨办法学Python - 习题8-10:

目录

  • 1、习题 8: 打印,打印
  • 2、习题 9: 打印,打印,打印
  • 3、习题 10: 那是什么?
    • 3.1、转义序列:
  • 4、习题总结:

1、习题 8: 打印,打印

学习目标:继续学习 %r 的格式化输出。

习题八中的练习代码是:

#! -*-coding=utf-8 -*-

formatter = "%r %r %r %r %r "

print formatter % (1, "hello", [1,2,3], (1,2,3), {"name":"jack"})

print formatter % ("one", "two", "three", "four", "five")

print formatter % (True, False, True, False, False)

print formatter % (
    "I had this thing. ",
    "That you could type up right. ",
    "But it didn't sing. ",
    "So I said doognight. ",
    "Hello world."
)

上述代码的运行结果是:

C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo8/Exer8-1.py
1 'hello' [1, 2, 3] (1, 2, 3) {'name': 'jack'} 
'one' 'two' 'three' 'four' 'five' 
True False True False False 
'I had this thing. ' 'That you could type up right. ' "But it didn't sing. " 'So I said doognight. ' 'Hello world.' 

Process finished with exit code 0

注意:上述代码说明两个点,一个是%r 的作用,是占位符,可以将后面给的值按原数据类型输出(不会变),支持数字、字符串、列表、元组、字典等所有数据类型。

还有一个需要注意的就是代码的最后一行:

print formatter % (
    "I had this thing. ",
    "That you could type up right. ",
    "But it didn't sing. ",
    "So I said doognight. ",
    "Hello world."
)
'I had this thing. ' 'That you could type up right. ' "But it didn't sing. " 'So I said doognight. ' 'Hello world.' 

最后输出的语句中既有单引号,也有双引号。原因在于 %r 格式化字符后是显示字符的原始数据。而字符串的原始数据包含引号,所以我们看到其他字符串被格式化后显示单引号。 而这条双引号的字符串是因为原始字符串中有了单引号,为避免字符意外截断,python 自动为这段字符串添加了双引号。

2、习题 9: 打印,打印,打印

学习目标:了解 \n 的含义

习题九中的练习代码是:

#! -*-coding=utf-8 -*-

days = "Mon Tue Wed Thu Fri Sat Sun"

months = "Jan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug"

print "Here are the days: ",days
print "Here are the months: ",months

print """
There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.
"""
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo9/Exer9-1.py
Here are the days:  Mon Tue Wed Thu Fri Sat Sun
Here are the months:  Jan
Feb
Mar
Apr
May
Jun
Jul
Aug

There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.

Process finished with exit code 0

上述代码有两个点需要注意下,一个是换行符 \n ,一个是注释符三引号。换行符就是避免代码过长影响阅读性而手动进行代码换行操作,\n 其实只是一个字符,类似的还有制表符 \t ,具体的更过的换行符知识请见下一题。

3、习题 10: 那是什么?

学习目标:了解 \n 的含义,了解   的含义

首先来了解一下两种让字符串扩展到多行的方法:

  1. 换行符 \n (back-slash n ):两个字符的作用是在该位置上放入一个“新行(new line)”字符
  2. 双反斜杠(double back-slash)   :这两个字符组合会打印出一个反斜杠来

3.1、转义序列:

下面介绍下再Python中常见的转义序列:

转义字符 描述
 (在行尾时) 续行符
  \ 反斜杠符号
' 单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数yy代表的字符,例如:\o12代表换行
\xyy 十进制数yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

在字符串中,有时需要包含一些特殊的符号,但是有些符号不能直接输出,就需要使用转义序列

举个栗子:

在打印输出一句话时,可能同时包含单引号和双引号,这种情况下在print 语句中不加其他操作肯定是会出错的。/手动滑稽

1547695833310

1547696182129

在这种情况下,我们有两种方法解决此问题;

  1. 使用转义序列
  2. 使用注释符-三引号

使用转义序列:

1547696840242

使用注释符:

1547696612939

总结:

转义序列就是将在print 下无法正常显示的字符打印出来,比如说打印  , 换行等。

再来认识一下转义字符 \b 的作用:作用是退格,就是删除前一个字符的意思

[1547697550481](https://img2018.cnblogs.com/blog/1324118/201901/1324118-20190117135049172-166563149.png " \b作用 - 退格、删除")

转义字符 \r :也是换行作用,与 \n 不同的是光标的位置:\n 在下一行开头,\r 在本行的开头

print u"你好吗?\n朋友"
print u"——分隔线——"
print u"你好吗?\r朋友"
print "hello \rworld"
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo10/Exer10-1.py
你好吗?
朋友
——分隔线——
朋友
world
Process finished with exit code 0

从上面代码可以看出来,\r 是回车,是只会打印\r 后面的内容,前面的内容自动忽略。

具体的其他制表符运用还得自己练习。

习题十中的练习代码是:

#! -*-coding=utf-8 -*-

tabby_cat = "\tI'm tabbed in."
persian_cat = "I'm split\non a line."
backslash_cat = "I'm \\ a \\ cat."

fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""
print tabby_cat
print persian_cat
print backslash_cat
print fat_cat

上述代码的运行结果为:

C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo10/Exer10-1.py
    I'm tabbed in.
I'm split
on a line.
I'm \ a \ cat.

I'll do a list:
    * Cat food
    * Fishies
    * Catnip
    * Grass

Process finished with exit code 0

从上面可以看出转义字符的含义。 t 是水平制表符,   是用于打印  的。

如果将转义字符和格式化输出相结合,则会生成一个更复杂的格式,举个栗子:

fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""

print "heloo %r " % fat_cat

print "----------------------------"

print "heloo %s " % fat_cat
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo10/Exer10-1.py
heloo "\nI'll do a list:\n\t* Cat food\n\t* Fishies\n\t* Catnip\n\t* Grass\n" 
----------------------------
heloo 
I'll do a list:
    * Cat food
    * Fishies
    * Catnip
    * Grass

Process finished with exit code 0

从上面的代码中可以更好的体现出格式化输出的占位符 %r 和 %s 之间的区别。%r 是输出原格式,%s是输出字符串。

4、习题总结:

上面的三道习题,前两题只是之前的知识回顾,就是格式化输出的应用实践,后面习题10是说明了常见转义字符的作用,和一些续航建的转义字符的含义。结合格式化输出和转义字符可以生成更复杂的格式。重点理解%s 和 %r 的作用。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

笨办法学Python - 习题8-10:

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

笨办法学Python - 习题8-10:

目录 1、习题 8: 打印,打印 2、习题 9: 打印,打印,打印 3、习题 10: 那是什么? 3.1、转义序列: 4、习题总结
2023-01-30

笨办法学Python - 习题11-12

目录 1、习题 11: 提问 2、习题 12: 提示别人 3、总结 1、习题 11: 提问学习目标:了解人机交互场景,熟悉raw_input 的用法。1
2023-01-30

笨办法学Python - 习题1: A

在windows上安装完Python环境后,开始按照《笨办法学Python》书上介绍的章节进行练习。习题 1: 第一个程序第一天主要是介绍了Python中输出函数print的使用方法,但是有一个注意点需要注意的是:Python2中可以不加括
2023-01-30

笨办法学Python - 习题3: Nu

目录 习题 3: 数字和数学计算 算术运算符 加分习题: 我的答案: 总结: 扩展: Python比较
2023-01-30

笨办法学Python - 习题6-7:

目录 1、习题 6: 字符串(string) 和文本 2、加分习题: 3、我的答案 4、习题总结 5、习题 7: 更多打印 6、习题
2023-01-30

笨办法学Python - 习题5: Mo

1、习题 5: 更多的变量和打印学习目标:了解用户输入方法,明白pthon2和Python3之间的用户输入的区别。了解格式化字符串(format string)的概念,学会如何创建包含变量内容的字符串。使用专门的格式和语法把变量的内容放到字
2023-01-30

python必看经典书籍:笨办法学pyt

书评:感谢作者和译者,很好的手把手的一个新手编程体验书,消除编程物质恐惧感,在线看的liam huang翻译的版,不确定看的是第几版,有一些加分题没有做,第五十题黑手党外星人飞船做起来有点压力,准备转去codeacademy / think
2023-01-30

学习python 之编写简单乘法运算题

实现代码:#! /usr/bin/python //处理程序 #filename jiafa.py //文件名 import sysimport randomrunning = True //定义
2022-06-04

【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)

问题情形 使用Python SDK在连接到数据库后,连接数据库获取数据成功,但是在Pandas中用 to_sql 反写会数据库时候报错。错误信息为:ProgrammingError: (‘42000‘, "[42000] [Microsoft][SQL Ser
【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
2015-11-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录