第003讲,插曲之变量和字符串|课后测验及答案

测试题

0. 以下哪个变量的命名不正确?为什么?

(A) MM_520 (B) _MM520_ (C) 520_MM (D) _520_MM

C:变量不能以数字开头

 

1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

>>>myteacher = '小甲鱼'

>>>yourteacher = myteacher

>>>yourteacher = '黑夜'

>>>print(myteacher)

打印: 小甲鱼

 

2.在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

>>> myteacher = '小甲鱼'

>>> yourteacher = myteacher

>>> myteacher = '黑夜'

>>> print(yourteacher)

打印:小甲鱼

 

3. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?

>>>first = 520

>>>second = '520'

>>>first = second

>>>print(first)

打印字符串: 520

最后 通过利用输入:

>>>type(first)---<class 'str'>

>>>type(second)---<class 'str'>

 

4. 除了使用反斜杠(\)进行字符转义,还有什么方法可以打印:Let's go! 这个字符串?

输入:

print("Let's go !");

或者

print('Let\'s go !');

 

5. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?

print('12345\\'); # ---12345\

print(r'12345\\');# ---12345\\ 保留后面引号里的所有,因为r---且r后如果转译符为奇数将出现错误

print(r'12345\\\\'); # 12345\\\\

print(r'12345''\\'); # ---12345\ #为输出。

 

6. 在这一讲中,我们说变量的命名需要注意一些地方,但小甲鱼在举例的时候貌似却干了点儿“失误”的事儿,你能看得出小甲鱼例子中哪里有问题吗?

       内置函数名也可以作为变量名,只不过覆盖以后内置函数就没法调用了。

 

动动手

0. 还记得我们第一讲的动动手的题目吗?这一次要求使用变量,计算一年有多少秒?

提示:可以以 DaysPerYear(每年天数),HoursPerDay(每天小时数),MinutesPerHour(每小时分钟数),SecondsPerMinute(每分钟秒数)为变量名。

第003讲,插曲之变量和字符串|课后测验及答案

1. 关于最后提到的长字符串(三重引号字符串)其实在 Python3 还可以这么写,不妨试试,然后比较下哪种更方便?

 

  • >>> string = (

  "我爱鱼C,\n"

  "正如我爱小甲鱼,\n"

  "他那呱唧呱唧的声音,\n"

  "总缠绕于我的脑海,\n"

  "久久不肯散去……\n"

  )

  元祖连接字符串,更习惯使用三重引号字符串

  • Python 允许使用转义字符(\)对换行符进行转义,转义之后的换行符不会“中断”字符串。例如:
  1. s2 = 'The quick brown fox \
  2. jumps over the lazy dog'
  3. print(s2)

         上面 s2 字符串的内容较长,故程序使用了转义字符(\)对内容进行了转义,这样就可以把一个字符串写成两行。

  • Python长字符串

    前面介绍 Python 多行注释时,提到使用三个引号(单引号、双引号都行)来包含多行注释内容,其实这是长字符串的写法,只是由于在长字符串中可以放置任何内容,包括放置单引号、双引号都可以,如果所定义的长字符串没有赋值给任何变量。

    实际上,使用三个引号括起来的长字符串完全可以赋值给变量,例如如下程序:

    1. s = '''"Let's go fishing", said Mary.
    2. "OK, Let's go", said her brother.
    3. they walked to a lake'''
    4. print(s)

    上面程序使用三个引号定义了长字符串,该长字符串中既可包含单引号,也可包含双引号。

  • 原始字符串    路径 G:\publish\codes\02\2.4 这样的字符串:

  对字符串中每个 '\' 进行转义,即写成 G:\\publish\\codes\\02\\2.4 。

  原始字符串以“r”开头,它不会把反斜线当成特殊字符。因此,上面的 Windows 路径可直接写成如下这种形式:

  s1 = r'G:\publish\codes\02\2.4'

  print(s1)

  如果原始字符串中包含引号,程序同样需要对引号进行转义(否则 Python 同样无法对字符串的引号精确配对),但此时用于转义的反斜线会变成字符串的一部分。

  例如如下代码:

    1. # 原始字符串包含的引号,同样需要转义
    2. s2 = r'"Let\'s go", said Charlie'
    3. print(s2)

  上面代码会生成如下输出结果:

  "Let\'s go", said Charlie

  由于原始字符串中的反斜线会对引号进行转义,因此原始字符串的结尾处不能是反斜线,否则字符串结尾处的引号会被转义,导致字符串不能正确结束。

  如果确实要在原始字符串的结尾处添加反斜线怎么办呢?一种方式是不要使用原始字符串,而是改为使用长字符串写法(三引号字符串);另一种方式就是将反斜线单独写。

例如如下代码:

  s3 = r'Good Morning' '\\'

  print(s3)

  上面代码开始写了一个原始字符串 r'Good Morning',紧接着程序使用 '\\' 写了一个包含反斜线的字符串,Python 会自动将这两个字符串拼接在一起。运行上面代码会生成如下输出结果:

  Good Morning\

 

2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式! 

转译符;

长字符串:三引号,和r(")

#测试题4. print("Let's go!"); print('Let\'s go!');

#测试题5. print('12345\\'); print(r'12345\\'); print(r'12345''\\');

上一篇:Jmeter基础003----Jmeter组件之测试计划和线程组


下一篇:Android知识点 003 —— make 相关的错误