测试题:
0. 以下哪个变量的命名不正确?为什么?
(A) MM_520 (B) _MM520_ (C) 520_MM (D) _520_MM
(C);在Python中,变量名只能包含字母,数字和下划线,且不能以数字开头。
1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
myteacher = ‘小甲鱼’
yourteacher = myteacher
yourteacher = ‘黑夜’
print(myteacher)
小甲鱼
2. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
myteacher = ‘小甲鱼’
yourteacher = myteacher
myteacher = ‘黑夜’
print(yourteacher)
小甲鱼
3. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
first = 520
second = ‘520’
first = second
print(first)
520,且为字符型
4. 除了使用反斜杠(\)进行字符转义,还有什么方法可以打印:Let’s go! 这个字符串?
用双引号或三引号来括住字符串 string = “Let’s go!”
5. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
方式 1
不在原始字符串后面写单个反斜杠,而是采用拼接的方式用普通字符串加上反斜杠。
test = r’测试’’\’
print(test)
方式 2
在原始字符串后面写两个反斜杠,然后采用切片操作切除最后一个反斜杠。
test = r’测试\’[:-1]
print(test)
方式 3
不使用原始字符串,直接使用普通字符串。
test = ‘测试\’
print(test)
6. 在这一讲中,我们说变量的命名需要注意一些地方,但小甲鱼在举例的时候貌似却干了点儿“失误”的事儿,你能看得出小甲鱼例子中哪里有问题吗?
变量的命名不能和BIF的名字重名,否则会有些不好的影响。讲解原始字符串的时候将str作为变量名使用了。
动动手:
0. 还记得我们第一讲的动动手的题目吗?这一次要求使用变量,计算一年有多少秒?
提示:可以以 DaysPerYear(每年天数),HoursPerDay(每天小时数),MinutesPerHour(每小时分钟数),SecondsPerMinute(每分钟秒数)为变量名。
DaysPerYear=365
HoursPerDay=24
MinutesPerHour=60
SecondsPerMinute=60
TotalSeconds=DaysPerYear*HoursPerDay*MinutesPerHour*SecondsPerMinute
print(TotalSeconds)
结果为31536000秒
1. 关于最后提到的长字符串(三重引号字符串)其实在 Python3 还可以这么写,不妨试试,然后比较下哪种更方便?
string = (
“我爱鱼C,\n”
“正如我爱小甲鱼,\n”
“他那呱唧呱唧的声音,\n”
“总缠绕于我的脑海,\n”
“久久不肯散去……\n”)
视频里的方便
2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
(1)Python中的变量与C中的变量的区别:前者只是对象的一个标签,后者则是程序要处理的对象。
(2)字符串
字符串中带有‘的解决方法,如 Let’s go! :
1.用双引号来括住字符串 string = “Let’s go!”
2.使用转义字符 string = ‘Let\‘s go! ’
(3)原始字符串
在字符串前面加一个r即可
用于解决字符串中有很多\ ’ "的情况,不需要用\一个个进行转义。(\输出\,‘输出’,“输出”)
如:string = r’C:\note\note1\note2’
但是,原始字符串最后不能加\,否则报错。原因如下:
大多数人的误解在于认为原始字符串里的反斜杠与其他字符没有什么不同。
这是错的!
实际意义:当 r 或者 R 前缀存在的时候,在反斜杠后面的字符保持不变,并且反斜杠本身会保留在字符串中。
所以任何在反斜杠后面的字符都是原始字符串的一部分。
这样一来:
r’abc\d’ 由 a, b, c, , d 组成
r’abc’d’ 由 a, b, c, , ‘, d 组成
r’abc’’ 由 a, b, c, , ’ 组成
那么,重点来了:
r’abc’ 由 a, b, c, , ’ 组成,但是现在没有结束字符串的引号了!
所以原始字符串无法以单个的(奇数个的)反斜杠结尾。