《零基础入门学习Python》第003讲:插曲之变量和字符串

目录

 

测试题

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

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

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

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

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

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

动动手

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

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

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


测试题

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,注:这里没有单引号括起来,但是他是一个字符串,因为使用 print() 打印,所以不包含单引号。可以试试直接>>>first,它是一个字符串的。

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

>>>"Let's go!"

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

>>>str = r'C:\Program Files\FishC\Good''\\'

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

在例子中小甲鱼起了个 str 名字的变量,但事实上我们发现,str 的颜色跟普通变量貌似不同?没错,str() 和 print() 都是内置函数,但 Python 貌似不介意我们对内置函数进行赋值操作,所以这点我们以后就要注意啦,否则可能会出现以下的 BUG:

>>> print = 1
>>> print("I love FishC")
Traceback (most recent call last):
  File "<pyshell#37>", line 1, in <module>
    print("I love FishC")
TypeError: 'int' object is not callable

动动手

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

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

DaysPerYear = 365
HoursPerDay = 24
MinutesPerHour = 60
SecondsPerMinute = 60
result = DaysPerYear * HoursPerDay * MinutesPerHour * SecondsPerMinute
print(result)

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

>>> string = (
"我爱鱼C,\n"
"正如我爱小甲鱼,\n"
"他那呱唧呱唧的声音,\n"
"总缠绕于我的脑海,\n"
"久久不肯散去……\n")

显然,三重引号字符串更方便简洁。

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

(1)变量

变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。

不过Python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边。

所以有些Python程序员会说“Python”没有“变量”,只有“名字”。

举例: 

>>>first = 3

>>> second = 8

>>> third = first + second

>>> print(third)

11

需要注意的地方:

a.在使用变量之前,需要先对其进行赋值;

b.变量名可以包括字母、数字、下划线,但变量名不能以数字开头;

c.字母可以是大写或小写,但大小写是不同的。也就是说fishc和Fishc对于Python来说是完全不同的两个名字;

d.等号(=)是赋值的意思,左边是名字,右边是值,不能写反哦。

e.变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请将尽量给变量取一个专业一点的名字。

(2)字符串

到目前为止,我们所认知的字符串可以是引号内的一切东西,我们也把字符串叫做文本,文本和数字是截然不同的,咱看例子:

>>> 5+8

13

>>> "5"+"8"

'58'

要告诉Python你在创建一个字符串,就要在字符两边加上引号,可以是单引号也可以是双引号,Python表示不挑剔。但必须成对,你不能一边单引号,另一边却花心的用上双引号结尾。

>>> 'I love you"

SyntaxError: EOL while scanning string literal

如果字符串中需要出现单引号或双引号怎么办?---例如我想打印字符串:Let's go!

有两种方法:

第一种方法比较常用,就是使用我们的转义符号(\)对字符串中的引号进行转义:

>>> 'Let\'s go!'

"Let's go!"

>>> "Let\'s go!"

"Let's go!"

>>> Let's go!

SyntaxError: EOL while scanning string literal

还有一种方法就是用双引号或者单引号引起这个字符串。

a.如果字符串中有单引号,就用双引号引起来,例如:

>>> "Let's go!"

"Let's go!"

>>> print("Let's go!")

Let's go!

b.如果字符串中有双引号,就用单引号引起来,例如:

>>> 'I love "China"'

'I love "China"'

>>> print('I love "China"')

I love "China"

原始字符串

好像反斜杠是一个好东西,但不妨试试打印:

>>> str = 'C:\now'

>>> str

'C:\now'

>>> print(str)

C:

ow

我们可以使用反斜杠对反斜杠自身进行转义:

>>> str = 'C:\\now'

>>> str

'C:\\now'

>>> print(str)

C:\now

但如果对于一个字符串有很多个反斜杠:

>>>str = 'C:\Program Files\Intel\Wifi\Help'

这样挨个添加反斜杠就不是很合理了。所以就需要我们的原始字符串

原始字符串的使用非常简单,只需要在字符串前面加一个英文字母 r 即可。

>>> str = r'C:\now'

>>> str

'C:\\now'

>>> print(str)

C:\now

但是这里有一点需要注意的是:原始字符串在字符串的后面是不能有反斜杠的,例如:

>>> str = r'C:\now\'

SyntaxError: EOL while scanning string literal

但是我们可以使用下面的方法实现:

>>> print(str + '\\')

C:\now\

长字符串

如果希望得到一个跨越多行的字符串,我们就可以使用三重引号字符串,这里的三重引号可以是三个单引号也可以是三个双引号。

>>> str = """轻轻的我走了,

正如我轻轻的来;

我轻轻的招手,

作别西天的云彩。...

"""

>>> str

'轻轻的我走了,\n正如我轻轻的来;\n我轻轻的招手,\n作别西天的云彩。...\n'

>>> print(str)

轻轻的我走了,

正如我轻轻的来;

我轻轻的招手,

作别西天的云彩。...

最后需要注意的一点是必须使用英文标点符号


 

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值