小甲鱼Python学习知识点记录(003讲)

一、插曲之变量

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系列教程 1 目录 2 序 4 01:我和Python的第一次亲密接触 7 02:用Python设计第一个游戏 9 03:小插曲之变量和字符串 11 04:改进我们的小游戏 13 05:闲聊之Python的数据类型 15 06:Pyhon之常用操作符 16 07:了不起的分支和循环1 17 08:了不起的分支和循环2 19 09:了不起的分支和循环3 21 10:列表,一个打了激素的数组1 23 11:列表,一个打了激素的数组2 25 12:列表,一个打了激素的数组3 27 13:元组,戴上了枷锁的列表 30 14:字符串:各种奇葩的内置方法 32 14结:字符串内置方法小结 37 15:字符串的格式语句与操作符 39 16:序列相关内置函数介绍 43 1-16:阶段总结 48 17:函数:Python的乐高积木 49 18:函数:灵活即强大 50 18延:py文件打包成exe文件 52 19:函数:我的地盘我做主 53 20:函数:内嵌函数和闭包 55 21:函数:lambda表达式 57 22:函数:递归是神马 58 延:Python函数修饰符(装饰器)的使用 59 23:递归:这帮小兔崽子 62 24:递归:汉诺塔 63 17-24:阶段总结 64 25:字典:当索引值不好用时 65 26:字典:当索引值不好用时2 66 26延:你知道Python的字典是如何存储的吗? 69 27:集合:在我的世界里,你就是唯一 71 27结:集合类型内建方法总结 72 28:文件:因为懂你,所以永恒 73 29:文件:一个任务 75 30:文件系统:介绍一个高大上的东西 78 28-30结:文件的打开模式和文件对象方法总结 82 31:永久存储:腌制一缸美味的泡菜 83 32:异常处理:你不可能总是对的 84 33:异常处理:你不可能总是对的2 86 32-33Python标准异常总结 89 34:丰富的else语句和简洁的with 92 35:图形界面用户入门:EasyGui 94 36:类和对象:给大家介绍对象 94 37:类和对象:面向对象编程 96 38:类和对象:继承 97 38延:多重继承的陷阱之钻石继承(菱形继承)问题 98 39:类和对象:拾遗 102 39延:Python Mixin 编程机制 105 40:类和对象:一些相关的BIF 108 40延:property的详细使用方法 110 41:魔法方法:构造和析构 112 42:魔法方法:算术运算符 114 42延:鸭子类型(duck typing) 116 43:魔法方法:算术运算符2 118 44:魔法方法:简单定制 119 45:魔法方法:属性访问 121 46:魔法方法:描述符 123 47:魔法方法:定制容器 126 48:魔法方法:迭代器 127 49:魔法方法:生成器 129 41-49结:魔法方法总结 139 50结:os、os.path 模块中关于文件、目录常用的函数使用方法 143 51结:time模块详解(时间获取和转换) 145 52结:datetime模块详解(基本的日期和时间类型) 150 53结:timeit模块_准确测量小段代码执行时间 170 54结:如何使用静态方法、类方法或者抽象方法 176
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值