本教程直接从语言特性入手,旨在让没有编程基础的小白或者其他语言领域大佬快速上手Python,本文只介绍最基础内容,深入使用Python不在本教程范围😉
一、程序输入-input()
1.1 input()函数介绍
程序输入是用户编写程序时极为必要的操作,input()的作用就是:当前程序暂停运行,等待用户输入。
先上示例:
input_message = input("Please your first name: ")
print(input_message)
输出结果如下:
input()函数能够接受一个“提示性”的参数,用来提示操作,示例代码中的“Please your first name:”就是用来提示用户操作的参数。
程序运行时,首先显示“Please your first name:”然后等待输入,输入完成后,运行print(input_message),将输入的元素打印出来。
1.2 数值的输入
这里先介绍两个函数:
函数名 | 描述 |
---|---|
int(x) | 将 x 转换为整数 |
float(x) | 将 x 转换为浮点数 |
使用input()输入默认格式为字符,因此需要将输入类型转化为数值,下面看一个错误示例:
例如:
ZhangSan_Age=18
input_ZhangSan_Age = input("Please enter ZhangSan'age:")
if input_ZhangSan_Age==ZhangSan_Age:
print("The input is correct.")
else:
print("The input is error.")
输出如下
这是因为输入的18,python将其定义为字符,如果需要输出正确的结果,正确代码如下:
ZhangSan_Age=18
input_ZhangSan_Age = input("Please enter ZhangSan'age:")
input_ZhangSan_Age=int(input_ZhangSan_Age)
if input_ZhangSan_Age==ZhangSan_Age:
print("The input is correct.")
else:
print("The input is error.")
输出结果如下:
二、字典
2.1 如何理解字典
在python的世界里,字典是极为形象的称为。与一般字典相比,python中的字典是将现实中的字典的抽象意义。
现实中的字典,是检索字的相关意义。这里举一个现实中的例子,我们遇到一个较为生僻的字——蘧——,使用字典的部首查字法找到这个字后,
- 可以检阅到该字的读音——qú
- 也能够查到这个字的字义——古同“蕖”,含义是惊喜的样子,也做姓氏。
当然一些字在字典中还可能会有其他含义。
回顾以上过程,如果我们使用python进行以上操作,查找过程不需要用户进行参与,我们强调的是
我们需要查找的对象,以及对象代表的内容
我们需要查找——蘧——,在字典中也可以找到这个字对应的内容。
在Python中,可以这样定义字典:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
print(ZhangSan['Number'])
print(ZhangSan['Major'])
输出如下:
创建“ZhangSan”字典,其中“ZhangSan”中含有的项有’Number’,‘Grade’,'Major’每项都有对应的释意。
2.2 字典元素的操作
2.2.1 创建字典
Python中创建字典使用“{}”完成创建:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
每一项使用“:”完成每个单项的赋值,当然也可以建立单独的空白字典:
ZhangSan= {}
2.2.2 在字典中添加元素
直接上示例:
ZhangSan= {}
ZhangSan['Number']=256
ZhangSan['Grade']=98
ZhangSan['Major']='Computer'
print(ZhangSan)
输出如下:
当然,使用这种方式可以修改字典中的元素:
2.2.3 在字典中修改元素
ZhangSan= {}
ZhangSan['Number']=256
ZhangSan['Grade']=98
ZhangSan['Major']='Computer'
print(ZhangSan)
ZhangSan['Number']=251
ZhangSan['Grade']=59
ZhangSan['Major']='Automation'
print(ZhangSan)
输出如下:
2.2.4 在字典中删除元素
字典中的删除可以使用“del”,示例如下:
ZhangSan= {}
ZhangSan['Number']=256
ZhangSan['Grade']=98
ZhangSan['Major']='Computer'
print(ZhangSan)
del ZhangSan['Grade']
print(ZhangSan)
输出如下:
2.3 访问字典中元素
2.3.1 使用get()方法
可以直接使用“ ZhangSan[‘Grade’] ”的方式完成元素访问。当然也可以使用get()的方法完成字典中的元素访问。
示例如下:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
print(ZhangSan['Number'])
ZhangSan_Number = ZhangSan.get('Number')
print(ZhangSan_Number)
ZhangSan_Age=ZhangSan.get('Age')
print(ZhangSan_Age)
ZhangSan_Birthday=ZhangSan.get('Birthday','There is no element of birthday')
print(ZhangSan_Birthday)
输出如下:
使用get()方式可以访问元素,get()可以输入两个参数,第一个参数是需要访问的元素,第二个是访问元素如果元素不存在可以返回该参数。
ZhangSan_Birthday=ZhangSan.get('Birthday','There is no element of birthday')
这行代码就是访问失败后返回——There is no element of birthday
2.3.2 遍历字典
【1】items()方法,遍历字典元素和元素对应值
直接上例程:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
for Ordinance,value in ZhangSan.items():
print(f"{Ordinance}:")
print(f"{value}")
输出结果如下:
使用items()方法可以输出字典中元素与元素对应的值,并且将返回的值赋值给Ordinance,value两个元素。
【2】keys()方法,遍历字典元素
直接上示例:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
for Ordinance in ZhangSan.keys():
print(f"{Ordinance}")
输出如下:
当然可以不适用FOR循环,直接使用方法——keys()也可以输出由所有字典元素组成列表:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
print(list(ZhangSan.keys()))
输出结果如下:
【3】values()方法,遍历字典元素对应的值
示例如下:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
for value in ZhangSan.values():
print(value)
输出如下:
当然使用values()也可以将字典元素对应的值作为列表输出:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
print(list(ZhangSan.values()))
输出如下:
【4】按顺序遍历字典
可以使用sorted()方法完成字典中的排序,然输出:
ZhangSan= {'Number':256,'Grade':98,'Major':'Computer'}
for Ordinance in sorted(ZhangSan.keys()):
print(f"{Ordinance}")
输出如下:
2.3.3 集合
【1】简介
在Python中,还有一种与字典极为类似的数据结果——集合(set)。集合(set)与字典类似,都使用“{}”,但是集合中的元素没有重复的元素。
【2】创建集合
首先上示例:
#1.使用{}创建集合
Student_1={'ZhangSan','LiSi','WangErmazi','ZhouWu','ZhengWang'}
print(Student_1)
#2.使用set()创建集合
Student_2=['ZhangSan','LiSi','WangErmazi','ZhouWu','ZhengWang']
print(Student_2)
Student_3=set(Student_2)
print(Student_3)
#创建空集合
Student_4=set()
print(Student_4)
输出如下:
创建集合可以使用“{}”直接定义,也可以使用set()方法将列表转换为集合,集合没有重复元素的特性是较为常用的特性。
例如:
Student={'ZhangSan','ZhangSan','ZhangSan','LiSi','WangErmazi','ZhouWu','ZhengWang'}
print(Student)
输出如下:
"Student"集合中含有多个重复的’ZhangSan’,基于集合的特性,集合会过滤重复元素,所以最后输出的集合中只有一个’ZhangSan’。
【3】在集合中添加元素
集合一旦创建,集合中的元素便无法更改,但是我们可以添加新项目。
- 使用add()方法在集合中添加一个元素
Student={'ZhangSan','LiSi','WangErmazi','ZhouWu'}
print(Student)
Student.add('ZhengWang')
print(Student)
输出如下:
- 使用update()方法在集合中添加多个元素
Student={'WangErmazi','ZhouWu'}
print(Student)
Student.update(['ZhengWang','ZhangSan','LiSi'])
print(Student)
输出如下:
【4】删除集合
可以使用remove(),del,pop()三个函数删除集合或者集合中的函数,使用方法与列表类似,这里介绍一种可以清空列表中的方法
——clear()使用clear()可以清除集合中的元素。
示例如下:
Student={'ZhengWang','ZhangSan','LiSi','WangErmazi','ZhouWu'}
print(Student)
Student.clear()
print(Student)
输出如下:
2.4 字典嵌套
2.4.1 列表中存放字典
先看下面的例子:
Student=[]
for i in range(20):
student={'Number':256,'Grade':98,'Major':'Computer'}
Student.append(student)
创建一个Student的列表,在每一个列表中添加一个“student”的字典,现实中的意义是在Student中添加学生信息。这里可以尝试将列表打印出来:
有时候我们需要创建多个字典作为统一的信息管理,因此可以在列表中创建多个名称相同的的字典,然后对字典进行一些设置。
例如我们可以给所有的学生的学号’Number’进行排序:
#创建字典的列表
Student=[]
for i in range(20):
student={'Number':256,'Grade':98,'Major':'Computer'}
Student.append(student)
#修改所有学生的学号
j=1
for student_num in Student:
student_num['Number']=j
j+=1
#打印所有学生字典
for student in Student:
print(student);
输出如下:
2.4.2 字典中存放列表
这里介绍一种字典常用的定义格式,类似与C和C++中的结构体形式:
student={
'Number':256,
'Grade':98,
'Major':'Computer',
}
最后一个元素的“,”可以不加。
通过以上定义格式,可以有以下定义:
student={
'Number':[256,258],
'Grade':[98,100],
'Major':['Computer','Math'],
}
for k,v in student.items():
print(f"{k} :")
print()
for q in v:
print(q)
输出如下:
2.4.4 字典中存放字典
字典中存放字典是一种让人又爱又恨的嵌套,因为他会像树一样存储,是一种清晰的结构,但是当嵌套的层数过多访问会难以实现。示例如下:
student={
'ZhangSan':{
'Number':256,
'Grade':98,
'Major':'Computer',
},
'LiSi':{
'Number': 258,
'Grade': 100,
'Major': 'Math',
}
}
for Name,Dict_Student in student.items():
print()
print(Name)
print(f"{Name}'s grade is {Dict_Student['Grade']}")
输出如下: