0%
boxmoe_header_banner_img

加载中

Python基本语法(上)


avatar
mizuki 2026年9月11日 2026年9月11日 22

引言

本篇文章将继续讲解关于Python的基础知识,也就是一些基本语法

一.列表

  • 1. 定义

列表类似于C++中的数组,下标也是从0开始,但是不一样的是,列表可以反着数下标,从-1开始,如图所示:

定义如下代码所示,可以不用像C++一样定义空间大小

names = ['mzk', 'ena', 'mfy', 'knd']
  • 2. 读取与修改

读取与修改都与C++相同,利用数字下标进行读取和修改

print(names[0])
names[0] = 'mizuki'
print(names[0])
  • 3. 添加元素

有两种方式删除元素

3.1 append

是直接在列表后添加一个元素,类似于C++中的append

names.append('miku')

3.2 insert

有两个参数,第一个参数是下标,第二个参数添加的元素,是直接取代相应下标的元素,然后所有元素依次往后面移动一位

names.insert(0, 'luka')
  • 4. 删除元素

有三种方式删除元素

4.1 利用del删除

del + 要删除的列表 + 下标

del names[0]

4.2 利用pop删除

相当于删除末尾的元素,并且会返回这个元素

name = names.pop()

4.3 remove删除

用来删除对应内容的元素,如果存在多个相同的元素,会从头开始删,执行一次函数只能删除一个

name.remove('luka')
  • 5. 其他方法

5.1 按字母排序

第一种是原列表不变,新列表接受排序后的列表,sorted

第二种是直接对原列表进行排序,sort()

names2 = sorted(names)
print(names)
print(names2)
names.sort()
print(names)

5.2 逆转排序(reserve)

将列表中的元素逆转顺序

names.reserve()

5.3 获取列表长度

n = len(names)
  • 6. 索引越界

与C++相同,列表不能越界访问,越界访问也会直接报错

二.元组与切片

  • 1. 元组

对比列表写法不同的是,元组将[]变成了(),并且元组在意义上是不能直接使用元组+下标修改变量的,只能重新对元组变量进行重新定义,列如下面的代码,大家可以试着去执行一下

names = ('mzk', 'knd', 'ena')
#直接修改,错误
names[2] = 'mfy'
#重新定义,符合
names = ('mzk', 'knd', 'mfy')
  • 2. 切片

切片的类型很多,这里将所有的切片类型给出来,大家自己对应代码去理解

x = ['a', 'b', 'c', 'd', 'e']
print(x[1 : 3])#从1开始到3之前
print(x[ : 3])#从0开始到3之前
print(x[2 : ])#从2开始到最后
print(x[-2 : ])#从-2开始,到最后一个(-2 到 -1)
print(x[:])#从开头到结尾
print( x[0: 4 : 2])#从0开始,每次+2,到4之前

三.字典

  • 1. 概念

相当于C++中的map,也是一个key对应一个value

  • 2. 书写

用{}进行包围内容,通过:链接key与value,代码如下

person = {'name' : 'mzk', 'age' : 17, 'gender' : 'girl'}
  • 3. 读取

读取的方式也与C++中的map类似,利用key作为下标进行读取,也可以使用get函数进行读取,利用get函数进行读取如果不存在这个key会返回None,如果是直接读取下标,下标不存在就会报错

print(person['name])
print(person['age'])
  • 4. 增删改

可以通过下标的方式直接增加,删除则使用del + 字典 + 下标的方式删除,改也是直接通过下标进行修改

person['like'] = 'sugar'
  • 5. 遍历

5.1 同时遍历key和value

通过items()函数来实现

for key, value in person.items():
    print(key, value0

5.2 只遍历key

通过keys函数实现

for key in person.keys():
    print(key)

5.3 只遍历value

通过values函数实现

for value in person.values():
    print(value)
  • 6. 字典列表

字典列表的意思就是在将字典放在列表当中,这样可以将多个字典集合在一起,使用方式如下

#创建字典列表
people = [{'name' : 'mzk', 'age' : 17}, {'name' : 'ena', 'age' : 18}]

#直接通过下标访问
print(f"{people[0]['name']} : {people[0]['age']}")
print(f"{people[1]['name']} : {people[1]['age']}")

#通过for循环遍历
for person in people:
    print(person['name'])
    print(person['age'])
  • 7. 字典嵌套

字典里对应的键(value)也可以是一个字典或者是列表

person = {'name' : 'mzk', 'friends' : ['ena', 'mfy', 'knd']}
print(person['name'])
print(person['friends'])
  • 8. 集合类型

利用set函数返回一个新的集合,在这个集合里没有重复值,用法如下

xx = ['a', 'b', 'c', 'a', 'b']
zz = set(xx)
print(zz) 

四.if分支结构

  • 1. 单分支

与C++不同的是,if的条件不用将条件用括号包起来,直接写条件就可以了,注意不要忘了冒号:

name = 'mzk'
if name == 'mzk':
    print(name)
  • 2. 双分支

与C++相同,双分支要用到else

name = 'mzk'
if name == 'mzk':
    print(name)
else:
    print('NO')
  • 3. 多分支

与C++不同的是,Python中用elif代替了else if

name = 'mzk'
if name == 'mzk':
    print('mzk')
elif name == 'ena':
'   print('ena')
else:
    print('NO')
  • 4. 或者or

与C++中的or是相同的,表示只要满足其中的一个条件就返回True

name = 'mzk'
if name == 'mzk' or name == 'ena':
    print(name)
  • 5. 并且and

与C++中的and是相同的,表示要同时满足这些条件就返回True

n = 10
if n < 15 and n >5:
    print('5 < n < 15')
  • 6. 条件in

代表如果这个变量存在于列表内,返回True

names = ['mzk', 'ena', 'knd']
name = 'mfy'
if name in names:
   print('存在')
else:
   print('不存在')

五.循环遍历和range函数

  • 1. 基本语法

这里先给出代码,再进行讲解

for name in names:
   print(name)
print('循环结束')

这里name作为一个临时变量,从头开始遍历names这个列表,直到列表结束

  • 2. 常见错误

a.丢失冒号

b.忘记第一行的缩进

c.循环后不必要的缩进

d.非循环时不必要的缩进

  • 3. range函数

3.1 一位参数

这里的参数代表的是从0到这个参数之前,也相当于循环次数

for n in range(5):
    print(n) # 0 1 2 3 4

3.2 两位参数

第一个参数是起始的数字,第二个参数是代表在这个参数之前

for n in range(1,5):
    print(n) # 1 2 3 4

3.3 三位参数

第一个参数是起始的数字,第二个参数是代表在这个参数之前,第三个参数是每次加几

for n in range(2, 11,2):
    print(n) # 2 4 6 8 10

3.4 三位参数(逆序)

相当于第三个参数是负的,反着走

for n in range(9, 2,-2):
    print(n) # 9 7 5 3

3.5 range生成列表

通过list函数,将range转化成一个列表,如下所示

xx = list(range(1, 6))
print(xx)

这里再给几个算最大,最小,总和的函数

#最大
print(max.(xx))
#最小
print(min.(xx))
#总和
print(sum.(xx))
  • 4. 列表推导式

相当于将for函数与range函数结合生成列表

xx = [n * 2 for n in range(1, 5)]
print(xx) # 2 4 6 8

六.练习

a.打印1-20

b.生成1-100,再逐一打印

c.生成1-10的立方列表,并且打印

d.写一个判断奇偶的函数

总结

这些基本语法虽然都很简单,但是很重要,在下一篇还会接着讲解Python的基本语法

上一次更新已经跑远了✨ 计算中...
(‾◡◝) 本内容里的一些消息,可能已经跟不上时间啦~


评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码
后退
前进
刷新
复制
粘贴
全选
删除
返回首页
0%
目录
顶部
底部
📖 文章导读