Python基础知识-导学(2)

还记得之前提到的变量知识吗?看下图:

我给不同数据(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基础阶段的学习!感谢观看,下期见!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值