鱼C论坛

 找回密码
 立即注册
查看: 1851|回复: 8

[技术交流] Python 学习笔记:003 小插曲之变量和字符串

[复制链接]
发表于 2019-9-14 14:38:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一个账号 于 2020-3-24 19:31 编辑

Python 学习笔记:003 小插曲之变量和字符串


1.变量

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

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

所以有些Python程序员会说“Python”没有“变量”,只有“名字”。
teacher = "小甲鱼"
print(teacher)
teacher = "老甲鱼"
print(teacher)

运行结果:
小甲鱼
老甲鱼

变量为什么不叫常量,而叫变量,是因为他是可变的。
first = 3
second = 8
third = first + second
print(trird)

首先定义变量first和second,然后定义变量third,将first和second的值加起来,赋值给third。
myteacher = "小甲鱼"
yourteacher = "黑夜"
ourteacher = myteacher + yourteacher
print(ourteacher)

运行结果:
小甲鱼黑夜

这是字符串拼接,将"小甲鱼"和"黑夜"拼接在一起。

2.需要注意的地方

在使用变量之前,需要对其先赋值。
first = 3
print(first)
print(fishc)                # fishc未赋值

运行结果:
3
Traceback (most recent call last):
  File "J:/test.py", line 3, in <module>
    print(fishc)
NameError: name 'fishc' is not defined

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

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

等号(=)是赋值的意思,左边是名字,右边是值,不可写反咯。

变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请将尽量给变量取一个专业一点儿的名字:
# 不规范的命名:
t =‘小甲鱼’
xxoo =‘小甲鱼’

以上这些变量名都是合法的,但是命名得太随意了,t可以指很多东西,比如teacher,turtle,tool等等。

3.变量

到目前为止,我们所认知的字符串就是引号内的一切东西,我们也把字符串叫做文本,文本和数字是截然不同的,咱看例子:
5+8                # 计算5+8的结果
’5’+’8’        # 将'5'和'8'拼在一起

运行结果:
13
'58'

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

运行结果:
SyntaxError: EOL while scanning string literal

如果字符串中需要出现单引号或双引号怎么办?

例如我想打印字符串:Let’s go!

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

第二种方法,用三引号:
'''Let's go!'''        # 或者是"""Let's go!"""

第三种方法,用原始字符串:
r'Let's go!'

以上方法运行结果是:
"Let's go!"

4.原始字符串

好像反斜杠是一个好东西,但不妨试试打印:
str = ‘C:\now’

我们可以用反斜杠对自身进行转义:
str = ‘C:\\now’

但如果对于一个字符串中有很多个反斜杠:
str = ‘C:\Program Files\Intel\WiFi\Help’

原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:
str = r‘C:\now’

5.长字符串

如果希望得到一个跨越多行的字符串,例如:
我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去……

我们可以这样写:
str = """我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去……"""
print(str)

最后提醒大家:在编程的时候一定要用英文半角的标点符号!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-24 23:13:58 | 显示全部楼层
这集教学视频我看了,小甲鱼的讲解很不错,思考题也挺好的,加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-28 15:59:18 | 显示全部楼层
很棒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-13 09:27:43 | 显示全部楼层
r'Let's go!'
我执行这个报错....
如果换成r"Let's go"就可以了
请问这是怎么回事呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-13 14:13:51 | 显示全部楼层
楼主太强了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-19 20:20:54 | 显示全部楼层
本帖最后由 一个账号 于 2020-3-26 12:08 编辑
iricyao 发表于 2019-10-13 09:27
r'Let's go!'
我执行这个报错....
如果换成r"Let's go"就可以了


因为字符串到 "Let" 就结束了,所以语法错误。

r 的作用是忽略反斜杠(末尾有反斜杠会报错)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-20 23:03:44 | 显示全部楼层
一个账号 发表于 2019-11-19 07:20
因为字符串到"Let"就结束了,所以语法错误。
r 的作用是忽略反斜杠(末尾有反斜杠会报错)。

太小白了,开始的时候没看出来。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-27 15:33:26 From FishC Mobile | 显示全部楼层
iricyao 发表于 2019-10-13 09:27
r'Let's go!'
我执行这个报错....
如果换成r"Let's go"就可以了

引号要成对啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 19:36:30 | 显示全部楼层
经过尝试,发现有两种写法
                         1.print('Bruce Eckel say: "Life is short, let\'s learn Python."')
                         2.print('Bruce Eckel say: "Life is short, let\'s learn Python.\"')
没有弄懂两者的区别还望能够告知
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 06:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表