还记得之前提到的变量知识吗?看下图:
我给不同数据(T恤、裤子等等)命名时,都用了不同的变量名(shirt、pants、money等)。
我们需要将完全不同的数据存储在不同的变量中,这是值得注意的。
此外,我们要使用能清晰表述数据内容的英文单词作为变量名称,例如pants表示裤子的花费,money表示生活用品的花费。
在命名变量时不必选用过于专业的词汇,最好使用简单易懂的词语,如果无法想出新的词汇,也可以通过集思广益的方式,借助翻译软件和搜索工具来完成。
变量命名也需要遵守语法规范,某些命名方式可能会导致错误。接下来,我们将探讨如何为变量选择一个“符合规范”的名称。
变量命名规范
这里我要教你一个口诀叫做,“两个不要两个要”,你可以把下面口诀念出来:
1)不要以数字开头
2)不要使用 Python 中固定的单词
3)两个单词要使用下划线连接
4)要使用英文单词,不建议使用中文或拼音
是不是有些不太理解,我们结合下图知识卡片的示例来看一看:
我们可以从以下两方面详细了解,如果不符合以上 4 条要求会出现什么问题。
1)如果不符合第 1、3 两条口诀要求,代码运行时会报错。
2)如果不符合第 2、4 两条口诀,赋值代码不会报错,但是不符合大家编写代码的习惯。
其中第 2 条使用了 Python 中固定单词后,还很可能会导致其他问题。比如以下情况,占用了固定单词 print 做变量名之后,导致 print() 原来的功能失效,从而出现错误。
列表与元组
与整数、浮点数、字符串一样,列表和元组也是 Python 的基本数据类型。
那么什么是列表?什么是元组呢?
你可以将它们想象成两间“酒店”,你认识的所有数据都可以“住”进去。
# 创建一个列表
[1, '草莓蛋糕', 13.0, 2, '抹茶蛋糕', 14.0, 3, '提拉米苏', 15.0]
# 创建一个元组
(1, '草莓蛋糕', 13.0, 2, '抹茶蛋糕', 14.0, 3, '提拉米苏', 15.0)
上面一个列表,一个元组,两间“酒店”各存储了 9 个元素(元素间以 “,” 隔开)。
这里的元素分别有三种不同的数据类型:整数(如 2)、字符串(如'抹茶蛋糕'
)和浮点数(如 15.0)。
从外表上看,列表和元组的形态非常像,一个是中括号 [],一个是圆括号 ()。
需要注意的是,这两个括号都是用英文书写的。
除此以外,列表和元组还有一个最显著的不同点,那就是列表可以改变,而元组则不可以。
列表创建完成后,仍能向其中添加元素或修改已有元素。
相反,元组创建完就“定型”了,不可增添元素,元素也不能再做修改。
当然,你也可以理解成,列表这间“酒店”很自由,里面的“客人”(元素)可以随时“退房换人”。
但元组的“酒店”就比较黑,里面的“客人”(元素)出不去,外面的“客人”(元素)也别想进来。
具体怎么使用它们,咱们一个一个看。
列表
先大致回想一下列表的结构:
1)中括号 [] 将数据集中起来;
2)不同元素之间用英文逗号,隔开。
列表可以存储多个数据,当然也可以啥也不存,那就是空列表:[]。
这是一个西游记的列表,故事发生在 7 世纪的唐朝贞观年间。
有个名叫唐僧的和尚,为了取得真经,从家出发寻找保镖徒弟。
那时,journey 这个列表还只有'唐僧'一个元素:
journey = ['唐僧']
print(journey)
一天,唐僧行走到五指山下,救出了顽猴孙悟空,孙悟空拜其为师,师徒同行。
这次,我需要在 journey
列表的末端添加元素了,这该如何操作呢?
其实,列表自带了一个 append()
(翻译:附加)方法,语法是这样的:列表.append(元素)
。
观察一下列表增添前后的变化
journey = ['唐僧']
print(journey)
# 列表添加新元素'孙悟空'
journey.append('孙悟空')
print(journey)
看!'孙悟空'
是不是被添加到'唐僧'
后面了?
对了,这里有个知识点需要留意,如果我们想要在列表后添加两个元素,不可以把两个元素直接放在 append() 的括号内。
因为 append() 一次只接收一个元素,传入多个元素会使程序运行报错。
journey = ['唐僧']
print(journey)
journey.append('行者孙', '者行孙')
print(journey)
若想要在列表后添加两个元素,我们可以执行两次 append(),每次只往 append() 的括号内放入一个元素即可。
journey = ['唐僧']
print(journey)
journey.append('行者孙')
journey.append('者行孙')
print(journey)
好了,让我们回到取经之路,话说回唐僧和悟空,两人路过高老庄收服了猪八戒,又在流沙河收下了沙悟净。
请你使用 append()
方法,分别将'猪八戒'
和'沙悟净'
添加到 journey
列表当中吧。
journey = ['唐僧', '孙悟空']
# 列表添加新元素'猪八戒'
# 列表添加新元素'沙悟净'
print(journey)
答案:
journey = ['唐僧', '孙悟空']
# 列表添加新元素'猪八戒'
journey.append('猪八戒')
# 列表添加新元素'沙悟净'
journey.append('沙悟净')
print(journey)
现在,师徒四人终于凑齐了,四人来到了车迟国。
师徒四人为取得通关文牒,被迫与虎力、鹿力、羊力三个妖怪斗法。可以给他们定义一个列表 monster(中文翻译:妖怪),它的代码是这样的:
monster = ['虎力', '鹿力', '羊力']
妖怪三人组第一个上场的是虎力大仙,赌赛祈雨。
因此,我需要单独“访问” monster
列表中的元素'虎力'
。
怎么做呢?
前面我说,可将列表看作“酒店”,既然是“酒店”,就会有“门牌号”。
“酒店”的房间一般按顺序排列,想要访问某个房间的“主人”,只要知道他的“门牌号”即可。
在 Python 中,“门牌号”被称为索引,索引从 0
开始,列表中的每个元素都有自己的索引。
列表[0]
表示列表的第一个元素,列表[1]
则表示列表的第二个元素,以此类推。
通过索引就可以访问到列表中的元素,语法是这样的:列表[索引]
。
monster = ['虎力','鹿力','羊力']
# 访问列表当中的第一个元素'虎力',并将元素打印出来
print(monster[0])
又或者,我们还可以把变量省去,这么写:
print(['虎力','鹿力','羊力'][0])
与虎力大仙对线祈雨的是唐僧,请你利用索引将他从列表当中“请”(打印)出来吧。
journey = ['唐僧', '孙悟空', '猪八戒', '沙悟净']
# 访问列表当中的'唐僧',并将它打印出来
答案:
journey = ['唐僧', '孙悟空', '猪八戒', '沙悟净']
# 访问列表当中的'唐僧',并将它打印出来
print(journey[0])
师徒四人与他们斗智斗勇,发现一个能打的都没有,轻松团灭妖怪三人组,继续前行。
这天,悟空打死了拦路劫财的强盗,被唐僧逐走。
躲在暗处的六耳猕猴趁机化作了孙悟空模样混进了队伍当中。
此时,我需要将列表中的'孙悟空'
替换成'六耳猕猴'
,该怎么办好呢?
回到列表“大酒店”,“酒店”换房不过是两个步骤:
1)根据房间号找到房间的“主人”;
2)更换房间的“主人”.
同理,列表修改也是:
1)根据索引找到元素;
2)替换元素。
这两个步骤一条语句就可以实现,替换元素需要借助赋值符号 =
来实现,语法为 列表[索引] = 新元素
。
journey = ['唐僧', '孙悟空', '猪八戒', '沙悟净']
# 将列表中的元素'孙悟空'修改成'六耳猕猴'
journey[1] = '六耳猕猴'
print(journey)
再后来,孙悟空一棒敲死了六耳猕猴,师徒四人和好如初。
journey = ['唐僧', '六耳猕猴', '猪八戒', '沙悟净']
# 将列表中的元素'六耳猕猴'修改成'孙悟空'
journey[1]='孙悟空'
print(journey)
故事迎来了尾声,师徒四人历经重重劫难,终于到达西天,见到了如来佛祖,四人排队领取经书。
journey = ['唐僧', '六耳猕猴', '猪八戒', '沙悟净']
print(journey[0])
print('经书认领完毕!')
print(journey[1])
print('经书认领完毕!')
print(journey[2])
print('经书认领完毕!')
print(journey[3])
print('经书认领完毕!')
故事到这里结束了。用一张图概括一下列表的知识:
好了,以上就是列表的内容,现在,我们正式进入python基础阶段的学习!感谢观看,下期见!