鱼C论坛

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

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

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

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

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

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

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


1.变量

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

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

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

  1. teacher = "小甲鱼"
  2. print(teacher)
  3. teacher = "老甲鱼"
  4. print(teacher)
复制代码


运行结果:

  1. 小甲鱼
  2. 老甲鱼
复制代码


变量为什么不叫常量,而叫变量,是因为他是可变的。

  1. first = 3
  2. second = 8
  3. third = first + second
  4. print(trird)
复制代码


首先定义变量first和second,然后定义变量third,将first和second的值加起来,赋值给third。

  1. myteacher = "小甲鱼"
  2. yourteacher = "黑夜"
  3. ourteacher = myteacher + yourteacher
  4. print(ourteacher)
复制代码


运行结果:

  1. 小甲鱼黑夜
复制代码


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

2.需要注意的地方

在使用变量之前,需要对其先赋值。

  1. first = 3
  2. print(first)
  3. print(fishc)                # fishc未赋值
复制代码


运行结果:

  1. 3
  2. Traceback (most recent call last):
  3.   File "J:/test.py", line 3, in <module>
  4.     print(fishc)
  5. NameError: name 'fishc' is not defined
复制代码


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

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

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

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

  1. # 不规范的命名:
  2. t =‘小甲鱼’
  3. xxoo =‘小甲鱼’
复制代码


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

3.变量

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

  1. 5+8                # 计算5+8的结果
  2. ’5’+’8’        # 将'5'和'8'拼在一起
复制代码


运行结果:

  1. 13
  2. '58'
复制代码


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

  1. 'I love FishC!"
复制代码


运行结果:

  1. SyntaxError: EOL while scanning string literal
复制代码


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

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

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

  1. 'Let\'s go!'
复制代码


第二种方法,用三引号:

  1. '''Let's go!'''        # 或者是"""Let's go!"""
复制代码


第三种方法,用原始字符串:

  1. r'Let's go!'
复制代码


以上方法运行结果是:

  1. "Let's go!"
复制代码


4.原始字符串

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

  1. str = ‘C:\now’
复制代码


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

  1. str = ‘C:\\now’
复制代码


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

  1. str = ‘C:\Program Files\Intel\WiFi\Help’
复制代码


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

  1. str = r‘C:\now’
复制代码


5.长字符串

如果希望得到一个跨越多行的字符串,例如:

  1. 我爱鱼C,
  2. 正如我爱小甲鱼,
  3. 他那呱唧呱唧
  4. 呱唧呱唧
  5. 呱唧呱唧的声音,
  6. 总缠绕于我的脑海,
  7. 久久不肯散去……
复制代码


我们可以这样写:

  1. str = """我爱鱼C,
  2. 正如我爱小甲鱼,
  3. 他那呱唧呱唧
  4. 呱唧呱唧
  5. 呱唧呱唧的声音,
  6. 总缠绕于我的脑海,
  7. 久久不肯散去……"""
  8. print(str)
复制代码


最后提醒大家:在编程的时候一定要用英文半角的标点符号!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-9-24 23:13:58 | 显示全部楼层
这集教学视频我看了,小甲鱼的讲解很不错,思考题也挺好的,加油
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-28 15:59:18 | 显示全部楼层
很棒
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2019-10-13 14:13:51 | 显示全部楼层
楼主太强了
小甲鱼最新课程 -> https://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 的作用是忽略反斜杠(末尾有反斜杠会报错)。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

太小白了,开始的时候没看出来。。。
小甲鱼最新课程 -> https://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"就可以了

引号要成对啊
小甲鱼最新课程 -> https://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.\"')
没有弄懂两者的区别还望能够告知
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 20:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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