Python七天快速入门——第四天 上
Python七天快速入门——第四天 下
Python七天快速入门——第五天
Python七天快速入门——第六天
Python七天快速入门——第七天
本教程直接从语言特性入手,旨在让没有编程基础的小白或者其他语言领域大佬快速上手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)
输出如下:
2. 使用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']}")
输出如下: