一、插曲之变量

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

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

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

4、代码示例(一)

teacher='小甲鱼'
print(teacher)

小甲鱼

teacher='老甲鱼'
print(teacher)

老甲鱼

5、代码示例(二)

first=3
second=8
third=first+second
print(third)

11

6、一点想法

我发现如果是下面这种形式:

>>> first=3
second=8
third=first+second
print(third)

SyntaxError: multiple statements found while compiling a single statement

必须得是下面这样:

>>> first=3
>>> second=3
>>> third=first+second
>>> print(third)

11
我在想这种限制是不是和Python中的语句不用以分号结尾有一点关系。

7、代码示例(三)

myteacher="小甲鱼"
yourteacher="黑夜"
ourteacher=myteacher+yourteacher
print(ourteacher)

小甲鱼黑夜

这个代码示例用到了我们前面说过的字符串拼接。

8、需要注意的地方

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

比如在上面的过程中,我们没有对fishc进行赋值,然后:

>>>fishc

Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    fishc
NameError: name 'fishc' is not defined

但我们上面已经对first赋值了,那么:

>>>first

3

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

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

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

■变量的命名理论上可以取任何合法的名字,但作为一个优秀的程序员,请尽量给变量取专业一点的名字。比如>>>teacher="小甲鱼“就比>>>t="小甲鱼"要好得多,因为t可以代表的意义实在是太多了。

二、插曲之字符串

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

>>>5+8

13

>>>'5'+'8'

'58'

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

3、如果字符串中需要出现单引号或双引号怎么办?例如我们想打印字符串:Let's go!,有两种方法,我们这里先介绍第一种方法,即使用转义符号(\):

>>>'Let's go!'

SyntaxError: invalid syntax

>>>'Let\'s go!'

"Let's go!"

注意是(\)!!!,不是(/)!!!

3、原始字符串

■好像反斜杠是一个好东西,但见下例:

>>>str='C:\now'

>>>str

'C:\now'

>>>print(str)

C:
ow

可以发现这里\n构成了回车的转义字符,和我们的预期不符。

■我们可以用反斜杠对反斜杠自身进行转义,见下例:

>>>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'

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

>>>str

'C:\\Program Files\\Intel\\WiFi\\Help'

但原始字符串在最后不可以加上反斜杠:

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

SyntaxError: EOL while scanning string literal

4、长字符串

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

春日宴

绿酒一杯歌一遍

再拜陈三愿

一愿郎君千岁

二愿妾身康健

三愿如同梁上燕

岁岁常相见

■我们就需要用到三重引号字符串:

>>>str="""

春日宴

绿酒一杯歌一遍

再拜陈三愿

一愿郎君千岁

二愿妾身康健

三愿如同梁上燕

岁岁常相见"""

>>>str

'\n\n春日宴\n\n绿酒一杯歌一遍\n\n再拜陈三愿\n\n一愿郎君千岁\n\n二愿妾身康健\n\n三愿如同梁上燕\n\n岁岁常相见'

>>>print(str)

春日宴

绿酒一杯歌一遍

再拜陈三愿

一愿郎君千岁

二愿妾身康健

三愿如同梁上燕

岁岁常相见

■最后提醒大家编程的标点符号一定要用英文!!!

三、课后习题知识点记录

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.

Extension:这里没有单引号括起来,但是它是一个字符串,因为使用print()打印,故不包含单引号,可以试试>>>first:

>>>first = 520
>>>second = '520'
>>>first = second
>>>first

'520'

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

答:用双引号引起这个字符串:

>>>"Let's go!"

"Let's go!"

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

答:在最后用转义字符再加上一个反斜杠。

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

>>>str

'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#34>", line 1, in <module>
    print("I love FishC")
TypeError: 'int' object is not callable

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

答:小甲鱼的答案给出的代码如下:

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

Traceback (most recent call last):
  File "<pyshell#46>", line 1, in <module>
    print(result)
TypeError: 'int' object is not callable

运行出错了,原因大概是int类型不能在函数中调用之类的,修改成:

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

31536000

注:大家看到了要给变量起一个合适的名字并不容易,但在很多文档中,这类名字随处可见,所以要习惯。

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

>>> string=(
    "春日宴\n"
    "绿酒一杯歌一遍\n"
    "再拜陈三愿\n"
    "一愿郎君千岁\n"
    "二愿妾身康健\n"
    "三愿如同梁上燕\n"
    "岁岁常相见\n")

>>>string

'春日宴\n绿酒一杯歌一遍\n再拜陈三愿\n一愿郎君千岁\n二愿妾身康健\n三愿如同梁上燕\n岁岁常相见\n'

小甲鱼Python学习知识点记录(003讲)相关推荐

  1. 【Python】小甲鱼Python学习总结——代码版

    看了50P左右的小甲鱼B站的Python视频,按需学习,因此有些P可能会有遗漏.以下是自己跟着视频敲的代码,一些知识点和自己的理解写在了注释里.注释要遵守PEP8的规范. 同时Python的另一个教程 ...

  2. B站小甲鱼python学习笔记

    000 愉快的开始 视频地址: https://www.bilibili.com/video/BV1xs411Q799?p=1 python跨平台 应用范围: 操作系统.WEB.3D动画.企业应用.云 ...

  3. 学习笔记-小甲鱼Python3学习第三十一讲:永久存储:腌制一缸美味的泡菜

    pickle函数 打开--读/写--关闭 看个例子: >>> import pickle#导入pickle()函数 >>> my_list = [123,23.23 ...

  4. 小甲鱼Python学习笔记之魔法方法

    什么是魔法方法 构造和析构 __init__方法 __new__方法 __del__方法 工厂函数 通过对魔法方法的重写,还可以自定义对象间的算术运算 反运算方法 实现一个计时器的类 time模块的l ...

  5. 学习笔记-小甲鱼Python3学习第二十八讲:文件:因为懂你,所以永恒

    使用open()函数打开文件l 文件打开模式: r 以只读方式打开文件(默认) w 以写入的方式打开文件,会覆盖已存在的文件 x 如果文件已经存在,使用此模式打开将引发异常 a 以写入模式打开,如果文 ...

  6. 小甲鱼Python学习笔记之函数(三)

    递归 定义 递归的两个特点(重中之重!!!) 递归的应用 能够用递归实现的功能都能够用循环迭代来实现 用递归实现斐波那契数列 用其他方式实现斐波那契数列 用递归实现汉诺塔 定义 函数之间是可以相互调用 ...

  7. 小甲鱼Python学习笔记之函数(四)

    函数注释 类型注释 Python自省 函数注释 通过help来查看函数的注释 自定义函数时编写函数注释 >>> def exchang(dollar,rate=6.32):" ...

  8. 小甲鱼python视频解读_小甲鱼python视频弟十二讲(关于字符串的方法及注释下)...

    1,ljust(width[,fillchar])width -- 指定字符串长度. fillchar -- 填充字符,默认为空格. 用法:返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串. ...

  9. 小甲鱼python课后题百度网盘_[全套55讲] 鱼c论坛小甲鱼python课后题

    [全套55讲] 鱼c论坛小甲鱼python课后题 第 1 课0. Python 是什么类型的语言Python 是脚本语言脚本语言Scripting language是电脑编程语言,因此也能让开发者藉以 ...

最新文章

  1. 操作系统学习:Linux0.12初始化详细流程-首个子进程
  2. matlab newelm,Elman神经网络介绍以及Matlab实现
  3. c++怎么输入带有空格的字符串_CCF CSP-J/S中常用的输入输出 总结(三)
  4. 异常处理——Logging initialized using configuration in jar:file:/usr/local/apache-hive-2.3.4/lib/hive-comm
  5. js 静止f1到f12 和屏蔽鼠标右键
  6. java第二部分项目_Java_第二次作业:项目构思与实现
  7. 超简单的Tomcat安装过程
  8. JSP自定义标签就是如此简单
  9. IoT 时代,架构简洁、开源的 RISC-V,将威胁 Arm?
  10. 与同步传递相关的获取-释放序列
  11. python怎么读-Python怎么读?为什么叫Python?
  12. 演练一下500台主机的内网中IP地址的划分
  13. js中,还真不了解 console
  14. 安装使用 GoldenDict 查词神器 (Windows/Mac/Linux)
  15. 批量创建文件夹 在批量创建的文件夹下创建两个子文件夹
  16. 路飞学城python电子书闲鱼_路飞学城-python开发集训-第一章之用户登录作业
  17. 老徐解析小程序:微小程客户系统讲解
  18. 计算机方向的综述投稿哪个期刊,人工智能方向论文投稿期刊
  19. 【python学习】自定义三维向量类 加减乘除查看值和长度
  20. 手写数字识别实现课设cnsd博客_讯飞输入法Android V9.1.9465 重磅升级拼音手写A.I.引擎...

热门文章

  1. 南大计算机陈教授,个人简介
  2. “倒在”金三银四,大牛手把手带你
  3. Nginx日志重定向到标准输出
  4. java escape html_Java HtmlEscape.escapeHtml5方法代码示例
  5. Linux 网络配置方法 nmtui 配置
  6. centos 没有nmtui命令_nmcli和nmtui命令杂记
  7. 客户分群基于聚类方法:KMeans以及GMM(Gaussian Mixture Model )
  8. 2.添加自己飞机的生命,击落敌机的分数,背景音乐(二)
  9. priority_queue优先队列的使用方法
  10. 2007年十二星座运势