版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章
Python编程基础学习目标素养目标1.理解“科技是第一生产力、人才是第一资源、创新是第一动力”。2.培养有责任心的工作态度和团队协作意识。知识目标Python在人工智能领域的应用极为广泛,涵盖了机器学习、深度学习、自然语言处理、计算机视觉、推荐系统、自动化机器学习、内容生成、物联网、金融风控及智能制造等多个关键领域,凭借其强大的库和框架支持以及简洁易学的特性,Python已成为实现和优化各种AI算法和模型的首选编程语言。所以,掌握和使用Python已经成为人工智能训练师必不可少的技能。本模块作为后续几个模块的编程基础,需要全面了解和掌握。技能目标1.会安装python环境2.了解python语言的基本特点3.了解和掌握python的相关知识。第二章Python编程基础01Python环境安装与基本语法02Python数据类型与数据结构03Python流程控制04Python的函数05Python的文件操作与异常处理06实训案例2.1Python环境安装与基本语法人工智能训练师通过高质量的数据标注和模型训练,确保AI系统能够准确、高效地完成任务,而作为人工智能训练师,熟练掌握Python编程语言,能够编写代码实现数据处理、模型训练和评估等功能是基本要求之一。任务描述01在当今的编程世界中,Python以其简洁易懂的语法、强大的功能和广泛的应用领域,成为了人工智能训练师的首选语言。为了掌握这一强大的编程语言,初学者需完成Python环境的安装,并初步了解Python的基本语法。任务分析02知识准备03Python环境安装与基本语法2.1.1在windows系统中搭建Python编程环境
2.1.2Python的基本语法2.1.1在windows系统中搭建Python编程环境1.Python介绍Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫作ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。Python在各个编程语言中比较适合新手学习,Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。2.1.1在windows系统中搭建Python编程环境2.Python安装Windows系统并非都默认安装了Python,因此我们需要下载并安装Python环境。官网地址:/,如图2-1所示。图2-1Python官网2.1.1在windows系统中搭建Python编程环境进入下载地址后,根据电脑情况下载32位或者64位的安装包。建议选择下载3.8或者3.7版本,如图2-2所示。图2-2Python版本选择2.1.1在windows系统中搭建Python编程环境根据向导安装Python程序,注意在安装的时候勾选AddPython3.8toPATH,如图2-3所示。图2-3Python添加路径2.1.1在windows系统中搭建Python编程环境安装结束后,打开cmd,输入python查看是否安装完成,如图2-所示。图2-4Python运行2.1.1在windows系统中搭建Python编程环境3.Pycharm的安装如图2-5所示,Pycharm下载地址:/pycharm/。图2-5PyCharm官网2.1.1在windows系统中搭建Python编程环境Pycharm下载安装,可以选择免费的社区版和收费的专业版。如图2-6所示,这里我们下载社区版。图2-6PyCharm下载2.1.1在windows系统中搭建Python编程环境根据提示安装,点击next>>>选择安装路径>>>next>>>勾选下图相关选项后>>>next,如图2-7所示。图2-7PyCharm安装默认选项2.1.1在windows系统中搭建Python编程环境然后选择默认选项JetBrain>>>install安装完成即可,如图2-8所示。图2-8PyCharm安装选项JetBrain2.1.1在windows系统中搭建Python编程环境打开PyCharm,如图2-9所示.图2-9打开PyCharm2.1.1在windows系统中搭建Python编程环境创建一个新的项目,如图2-10所示。设置项目路径和项目名称,选择刚安装的Python解释器路径,点击创建,项目就创建成功啦。图2-10PyCharm创建新项目2.1.1在windows系统中搭建Python编程环境4.如图2-11所示完成Jupyternotebook的安装。图2-11Jupyternotebook的安装2.1.2Python的基本语法
1.注释在Python中,注释是用来向代码的读者解释代码的作用、目的或某些特定部分的,提高代码的可读性。注释不会被Python解释器执行。Python程序中的注释分为单行注释和多行注释。(1)单行注释单行注释以井号#开始,直到行尾,如图2-12所示。它们通常用于解释代码行的作用或指出需要注意的事项。图2-12单行注释2.1.2Python的基本语法
(2)多行注释多行注释可以使用三对单引号'''或三对双引号"""来创建多行字符串,如图2-13所示。主要用于描述函数、类和模块的功能,因此多行注释也被称为说明文档。图2-13多行注释2.1.2Python的基本语法
2.缩进在Python代码,缩进具有极其重要的语法作用,它用于表示代码的逻辑结构,比如循环、条件语句、函数定义和类定义等。同一个代码块中的所有行必须使用相同数量的空格或制表符(Tab)进行缩进。通常建议使用4个空格作为缩进级别,这是Python社区广泛接受的约定。代码缩进的不同会导致代码语义的改变,程序中不能出现无意义和不规范的缩进,否则运行时会产生错误,如图2-14所示。图2-14缩进2.1.2Python的基本语法
3.Python的常用内置对象类型(1)数字类型Python的数字类型分为整型(int)、浮点型(float)、复数型(complex)和布尔类型(bool)。其中整型、浮点型和复数型的数据分别对应数学中的整数、小数和复数;布尔类型比较特殊,只有True或False两个值取值,具体如表2-1所示。表2-1内置对象数字类型内置对象类型描述示例int整型,用于表示整数值x=10float浮点型,用于表示实数值y=3.14complex复数型,用于表示带有实部和虚部的数字z=1+2jbool布尔类型,用于表示True或False两个值is_valid=True2.1.2Python的基本语法
(2)字符串类型(str)Python的字符串类型用于表示文本数据,可以使用单引号、双引号或三重引号来定义,如表2-2所示。表2-2内置对象字符串类型Python使用加号(+)来合并字符串,加号操作符可以用于将两个或多个字符串连接起来,如图2-15所示。图2-15字符串运算内置对象类型描述示例str字符串类型,用于表示文本数据text="Hello,World!"2.1.2Python的基本语法
4.变量在Python中,变量是用于存储数据的容器。变量名是用来标识和访问这些数据的。(1)变量命名规则变量名只能包含字母(大写或小写)、数字和下划线(_)。变量名不能以数字开头。变量名区分大小写,myVar和myvar是两个不同的变量。变量名不能使用关键字(如if、else、for、while等),这些关键字不能用作变量名。(2)变量赋值在Python中,使用等号(=)来赋值,如图2-16所示。图2-16变量赋值2.2Python数据类型与数据结构Python提供了丰富多样的内置数据结构,这些结构在编程中扮演着至关重要的角色,用于高效地存储、组织和操作数据。从有序的集合如列表和元组,到无序的不重复元素集如集合和冻结集合,再到映射类型如字典,Python的数据结构覆盖了广泛的人工智能应用场景。任务描述01本任务深入探讨Python中丰富多样的数据结构,包括列表、元组、集合和字典,它们在存储、组织和操作数据中起着关键作用,在后续人工智能的应用场景中,可以根据数据的特性选择合适的数据结构。任务分析02知识准备03Python数据类型与数据结构2.2.1元组2.2.2列表
2.2.3字典
2.2.4集合
2.2.1元组
元组是一种固定长度、不可变的Python对象序列,元组一旦创建,用任何方法都不可以修改其元素。
元组定义时所有元素是放在一对圆括号“()”中。1.创建元组元组可以使用小括号()来创建,如图2-17所示,其中的元素用逗号,分隔。图2-17元组的创建如果元组中只有一个元素,那么需要在该元素后面加上一个逗号,以区分单个元素和普通的圆括号表达式,如果不加逗号,Python将不会将其视为元组,如图2-18所示。图2-18元组创建注意事项2.2.1元组
2.访问元组元素元组中的元素可以通过索引来访问,索引从0开始,如图2-19所示。图2-19元组元素的访问3.元组的不可变性由于元组是不可变的,因此你不能像列表那样直接修改元组中的元素。尝试这样做会引发TypeError异常,如图2-20所示。图2-20元组的不可变性2.2.1元组
4.元组的删除使用del可以删除元组对象,不能删除元组中的元素,如图2-21所示。图2-21元组的删除2.2.2列表
与元组不同,列表(List)的长度是可变的,它是一种有序的、可变的集合。列表包含的元素可以是任意类型,并且可以通过索引进行访问和修改。1.创建列表列表可以使用方括号[]来创建,如图2-22所示,其中的元素用逗号,分隔。图2-22用[]创建也可以使用list()函数将元组、range对象、字符串或其他类型的可迭代对象类型的数据转换为列表,如图2-23所示。图2-23列表的创建2.2.2列表
2.列表元素的增加你也可以创建空列表,然后在后续的操作中向其中添加元素,如图2-24所示。图2-24列表元素的增加可以使用“+”运算符将元素添加到列表中,如图2-25所示。图2-25列表用“+”运算添加元素2.2.2列表
3.修改列表元素由于列表是可变的,因此你可以直接修改列表中的元素,如图2-26所示。图2-26列表元素的修改4.访问列表元素列表中的元素可以通过索引来访问,索引从0开始,如图2-27所示。图2-27列表元素的索引2.2.2列表
5.删除列表元素列表提供了多种方法来删除元素。你可以使用remove()方法删除指定元素,或者使用pop()方法删除并返回最后一个元素,如图2-28所示。图2-28列表元素的删除2.2.2列表
6.列表的切片列表还支持切片操作,允许你获取列表的一个子列表。切片操作使用冒号:来指定起始索引和结束索引,如图2-29所示。图2-29列表元素的切片你还可以使用步长参数来指定切片之间的间隔,如图2-30所示。图2-30列表元素按步长切片2.2.3字典
字典是无序可变序列。
定义字典时,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号“{key:value}”中。1.字典的创建字典可以使用花括号{}或dict()函数来创建,如图2-31所示。图2-31字典的创建2.2.3字典
2.字典元素的读取以键作为下标可以读取字典元素,若键不存在则抛出异常,如图2-32所示。图2-32字典元素的读取在想获取一个键对应的值,但不确定字典中是否有这个键的时候,使用get()方法获取,如图2-33所示。图2-33使用get方法读取字典元素2.2.3字典
当以指定键为下标为字典赋值时,若键存在,则可以修改该键的值;若不存在,则表示添加一个键、值对,如图2-34所示。图2-34字典元素的修改3.删除元素使用del语句或pop()方法来删除字典中的元素,如图2-35所示。图2-35字典元素的删除2.2.3字典
4.字典的遍历可以使用for循环来遍历字典的键、值或键值对,如图2-36所示。图2-36字典的遍历2.2.3字典
5.字典的常用方法表2-3字典的常用方法方法描述示例keys()返回字典中的所有键keys=my_dict.keys()values()返回字典中的所有值values=my_dict.values()items()返回字典中的所有键值对items=my_dict.items()update()使用另一个字典中的所有键值对来更新当前字典my_dict.update({'sex':'F'})clear()清空字典中的所有元素my_dict.clear()copy()创建字典的浅拷贝new_dict=my_dict.copy()2.2.4集合
集合(set)是一个无序的、不包含重复元素的数据结构,使用一对大括号界定。1.集合的创建使用大括号{}或set()函数来创建集合,如图2-37所示。图2-37集合的创建2.2.4集合
2.集合的常用方法add(element):向集合中添加一个元素。remove(element):从集合中移除一个元素。如果元素不存在,会引发KeyError。discard(element):从集合中移除一个元素。如果元素不存在,不会引发异常。pop():随机移除集合中的一个元素并返回它。如果集合为空,会引发KeyError。clear():清空集合中的所有元素。copy():返回集合的一个浅拷贝。union(other_set):返回两个集合的并集。intersection(other_set):返回两个集合的交集。difference(other_set):返回集合的差集,即存在于当前集合但不存在于另一个集合中的元素。symmetric_difference(other_set):返回两个集合的对称差集,即存在于一个集合但不存在于另一个集合中的元素。issubset(other_set):判断当前集合是否是另一个集合的子集。issuperset(other_set):判断当前集合是否是另一个集合的超集。如图2-38所示。2.2.4集合
图2-38集合的常用方法2.3Python流程控制在Python中,流程控制是编程的基本构建块之一,用于决定程序的执行顺序,使用这些流程控制语句来解决具体问题,如根据用户输入做出响应、遍历列表处理每个元素、或者持续执行某项操作直到达到预定条件。任务描述01通过编写实际代码,理解如何根据不同的条件执行不同的代码块,以及如何重复执行某段代码直到满足特定条件,主要的流程控制结构包括条件语句(if语句)、循环语句(for循环和while循环)以及异常处理(try-except语句)。任务分析02知识准备03Python流程控制2.3.1条件语句
2.3.2循环语句
2.3.1条件语句
在Python中,条件语句(通常称为if语句)用于根据一个或多个条件的真假来决定执行哪一段代码。条件语句允许程序根据运行时的情况做出不同的响应,Python中的条件语句有几种形式,但最常见的是if、elif(elseif的缩写)和else的组合,如图2-39所示。图2-39条件语句2.3.1条件语句
示例,如图2-40所示。图2-40条件语句示例注:示例中,13<=age<20这种链式比较在Python中是有效的,但它实际上是被解释为(13<=age)and(age<20)。为了清晰起见,通常建议将条件分开写。2.3.1条件语句
Python还提供了一种简洁的条件表达式,称为三元运算符,它可以在一行内实现简单的条件判断。语法value1ifconditionelsevalue2当条件表达式condition的值与True等价时,表达式的值为value1,否则表达式的值为value2。另外,在value1和value2中还可以使用复杂表达式,包括函数调用和基本输出语句,如图2-41所示。图2-41条件语句三元运算符如果temperature大于30,result将被赋值为"热",否则将被赋值为"凉爽"。2.3.2循环语句
循环语句用于重复执行一段代码,直到满足某个条件为止。Python提供了两种主要的循环结构:for循环和while循环。1.For循环For循环用于遍历一个序列(如列表、元组、字符串、字典、集合或范围)中的元素。(1)遍历列表,如图2-42所示。图2-42循环语句遍历列表2.3.2循环语句
(2)使用range函数range函数生成一个数字序列,常用于循环中,如图2-43所示。图2-43循环语句使用range函数生成列表(3)遍历字典,如图2-44所示。图2-44循环语句遍历字典2.3.2循环语句
2.while
循环while循环在给定条件为True时重复执行一段代码。条件通常在循环的顶部进行测试,如图2-45所示。图2-45while循环2.3.2循环语句
3.循环控制语句(1)break
语句break语句用于立即退出循环,不再执行循环中剩余的语句,也不论循环条件是否满足,如图2-46所示。图2-46break
语句(2)continue
语句continue语句用于跳过当前循环的剩余部分,并立即开始下一次循环的迭代,如图2-47所示。图2-47continue
语句2.3.2循环语句
(3)else
子句for和while循环都可以有一个可选的else子句,它在循环正常结束时执行(即没有遇到break语句),如图2-48所示。图2-48else
子句(4)嵌套循环可以在一个循环内部嵌套另一个循环,如图2-49所示。图2-49嵌套循环2.4Python的函数在Python编程语言中,函数是一种将特定任务或计算封装为可重用代码块的机制。通过定义函数,你可以为代码赋予模块化、组织化和可读性更强的特性,提高代码的可读性和可维护性,并为后续学习更高级的编程概念打下坚实的基础。任务描述01掌握Python中函数的概念、定义及使用方法,学会如何创建一个函数,包括指定函数名、定义参数列表以及编写函数体来实现特定的功能。同时,需要理解如何调用函数,并传递实际的参数值以获取函数的返回值。任务分析02知识准备03Python的函数2.4.1函数的定义
2.4.2调用函数2.4.3形参与实参
2.4.4返回值
2.4.5lambda表达式
2.4.1函数的定义
设计函数时,应注意提高模块的内聚性,同时降低模块之间的隐式耦合,往往会把一些通用的函数封装到一个模块中1.函数的基本定义格式,如图2-50所示。图2-50函数基本格式2.4.1函数的定义
2.定义一个简单的函数,如图2-51所示。图2-51简单的函数例子3.注意事项(1)函数形参不需要声明其类型,也不需要指定函数返回值类型。(2)即使该函数不需要接收任何参数,也必须保留一对空的圆括号。(3)括号后面的冒号必不可少。(4)函数体相对于def关键字必须保持一定的空格缩进。(5)Python允许嵌套定义函数。2.4.2调用函数
定义函数后,你需要通过函数名(后跟括号及必要的参数)来调用它,如图2-52所示。图2-52函数的调用2.4.3形参与实参
函数定义时括弧内为形参,一个函数可以没有形参,但是括弧必须要有,表示该函数不接受参数。函数调用时向其传递实参,将实参的值或引用传递给形参。在定义函数时,对参数个数并没有限制,如果有多个形参,需要使用逗号进行分割。编写函数,接受两个整数,并输出其中最大数,如图2-53所示。图2-53函数形参与实参2.4.4返回值
函数可通过return语句返回一个或多个值,若函数未明确返回任何值,则默认返回None。返回多个值的函数,如图2-54所示图2-54函数的返回值2.4.5lambda表达式
lambda表达式可以用来声明匿名函数,也就是没有函数名字的临时使用的小函数,尤其适合需要一个函数作为另一个函数参数的场合,如图2-55所示。图2-55函数的lambda表达式2.5Python的文件操作与异常处理文件操作是编程中非常常见的一项任务,无论是读取配置文件、处理日志文件,还是存储用户数据,都离不开对文件的读写操作,在Python中,文件操作是通过内置的文件处理函数和类来实现的,Python提供了丰富的文件操作方法,使得读写文件变得相对简单。任务描述01掌握Python中进行文件操作的基本方法,以及如何在文件操作过程中有效地处理异常,从而编写出更加健壮和可靠的程序。任务分析02知识准备03Python的文件操作与异常处理2.5.1文件基本操作
2.5.2文件指针
2.5.3截断文件
2.5.4异常处理
2.5.1文件基本操作
文件内容操作三部曲:打开、读写、关闭1.打开文件在Python中,使用open()函数来打开一个文件,并返回一个文件对象。图2-56open()函数打开一个文件其中,file是文件路径(相对路径或绝对路径),mode是打开文件的模式,其他参数通常使用默认值。2.5.1文件基本操作
常用的文件打开模式包括:'r':只读模式(默认)。如果文件不存在,会引发FileNotFoundError。'w':写入模式。如果文件不存在,会创建该文件;如果文件已存在,会清空文件内容。'a':追加模式。如果文件不存在,会创建该文件;如果文件已存在,新的内容会被追加到文件末尾。'b':二进制模式。可以与其他模式结合使用,如'rb'、'wb'、'ab'等。'+':更新模式。可以与其他模式结合使用,如'r+'、'w+'、'a+'等,表示可以读写文件,如图2-57所示。图2-57打开一个文件的多种模式2.5.1文件基本操作
当对文件内容操作完以后,一定要关闭文件对象,这样才能保证所做的任何修改都确实被保存到文件中,如图2-58所示。图2-59使用with关键字打开一个文件图2-58关闭文件需要注意的是,即使写了关闭文件的代码,也无法保证文件一定能够正常关闭。例如,如果在打开文件之后和关闭文件之前发生了错误导致程序崩溃,这时文件就无法正常关闭。在管理文件对象时推荐with关键字,可以有效地避免这个问题,如图2-59所示。2.5.1文件基本操作
2.读取文件内容一旦文件被打开,就可以使用文件对象的read()、readline()或readlines()方法来读取文件内容。(1)read(size=-1)方法读取整个文件内容,如果指定了size,则读取size个字符。语法:str=f.read([b])f:是读取内容的文件对象。b:可选参数,指定读取的字符数。如果不指定,则读取全部内容。读取的内容返回到字符串str中。使用read()方法读取文件内容的例子,如图2-60所示。图2-60read()方法读取文件内容2.5.1文件基本操作
(2)readline(size=-1)方法读取文件中的一行内容,如果指定了size,则读取最多size个字符。使用readline()方法读取文件,并将读取到的行按空格分隔,如图2-61所示。图2-61readline()方法读取文件内容2.5.1文件基本操作
(3)readlines(hint=-1)方法读取文件中的所有行,并将它们作为字符串列表返回。如果指定了hint,则读取大约那么多字节的行,可能稍微多一点以避免在行的中间断开,如图2-62所示。图2-62readlines()方法读取文件内容2.5.1文件基本操作
3.写入文件(1)write()方法可以使用write()方法向文件中写入内容,具体方法如下:f.write(写入的内容)参数f是写入内容的文件对象,如图2-63所示。图2-63write()方法向文件中写入内容2.5.1文件基本操作
(2)追加写入以w为参数调用open()方法时,如果写入文件,则会覆盖文件原有的内容。如果希望在文件中追加内容,则可以__a或a+__为参数调用open()方法打开文件,如图2-64所示。图2-64追加写入写入内容2.5.1文件基本操作
(3)writelines()方法可以使用writelines()方法向文件中写入字符串__序列__,具体方法如下:f.writelines(seq)参数f是写入内容的文件对象,参数seq是一个返回字符串的序列(列表、元组、集合、字典等)。注意:写入时每一个序列元素后面不会被追加换行符,如图2-65所示。图2-65writelines()方法向文件中写入2.5.2文件指针
文件对象有一个内部指针,用于跟踪当前读写位置。可以使用seek(offset,whence)方法来移动文件指针,其中offset是移动的字节数,whence是基准位置(默认为0,表示文件开头;1表示当前位置;2表示文件末尾)。tell()方法返回当前文件指针的位置,如图2-66所示。图2-66文件指针2.5.3截断文件
可以使用truncate()方法从文件头开始截取文件,具体方法如下:文件对象.truncate(size)参数size指定要截取的文件大小,单位为字节,size字节后面的文件内容将被丢弃掉,如图2-67所示。图2-67truncate()方法从文件头开始截取文件2.5.4异常处理
在Python中,异常处理是编程的一个重要方面,它允许程序在运行时遇到错误时能够优雅地处理这些错误,而不是直接崩溃。Python通过try、except、else和finally这几个关键字来实现异常处理。try块:放置可能引发异常的代码。except块:处理特定异常。else块(可选):如果try块中的代码没有引发异常,则执行else块中的代码。finally块(可选):无论是否发生异常,finally块中的代码都会被执行。示例代码如图2-68所示:图2-68异常处理
在这个例子中,因为10/0会引发ZeroDivisionError,所以程序会跳转到exceptZeroDivisionError块,并打印"除数不能为零!"。然后,无论是否发生异常,finally块中的代码都会被执行,打印"执行完毕"。2.5.4异常处理
1.捕获多个异常你可以使用单个except块来捕获多个异常,只需在括号中列出这些异常类型,如图2-69所示。图2-69except块来捕获多个异常2.获取异常信息你可以使用as关键字来获取异常的详细信息,如图2-70所示。图2-70as关键字来获取异常的详细信息2.5.4异常处理
3.自定义异常Python允许你定义自己的异常类,只需继承内置的Exception类,如图2-71所示。图2-71定义自己的异常类2.5.4异常处理
4.使用try-except-else-finally结构,如图2-72所示。图2-71定义自己的异常类在这个例子中,else块中的代码不会被执行,因为try块中的代码引发了异常。但是,finally块中的代码无论如何都会被执行。2.6实训案例2.6.1猜数字2.6.2用户账户管理系统项目考核2.6.1猜数字
任务描述猜数字是一个古老的益智类密码破译小游戏,让我们来一起参与猜数字小游戏。这个游戏会随机生成一个1到100之间的数字,然后玩家必须猜测这个数字。每次猜测后,游戏会告诉玩家他们猜得太高、太低还是正确。本案例要求编写代码,实现遵循上述规则的猜数字程序。任务描述任务分析猜数字要求程序生成一个随机数,然后用户通过多次输入猜测来尝试匹配这个数,期间程序会根据用户的猜测给出“太大了”或“太小了”的提示,直到用户猜中或达到预设的最大尝试次数。此任务涵盖了随机数生成、用户输入处理、循环控制、条件判断以及基本的输入输出操作等编程基础。任务分析代码实现如图2-73所示图2-73猜数字2.6.2用户账户管理系统
任务描述要求开发一个简单的用户账户管理系统,系统需支持用户注册、登录、修改密码和注销等功能。用户信息将存储在本地文件中,要求使用Python进行文件操作,并考虑密码的安全性处理,如使用哈希函数存储密码。系统应提供命令行界面与用户交互,并确保用户退出时所有信息正确保存。任务分析要求开发一个简单的用户账户管理系统,系统需支持用户注册、登录、修改密码和注销等功能。用户信息将存储在本地文件中,要求使用Python进行文件操作,并考虑密码的安全性处理,如使用哈希函数存储密码。系统应提供命令行界面与用户交互,并确保用户退出时所有信息正确保存。2.6.2用户账户管理系统
代码实现(1)从CSV文件加载用户数据,如图2-74所示。图2-74加载用户数据2.6.2用户账户管理系统
代码实现(2)将用户数据保存到CSV文件,如图2-75所示。图2-75保存用户数据2.6.2用户账户管理系统
代码实现(3)简单地生成哈希密码,如图2-76所示图2-76生成哈希密码(4)注册新用户,如图2-77所示。图2-77注册新用户2.6.2用户账户管理系统
代码实现(5)用户登录,如图2-78所示。图2-78用户登录(6)修改用户密码,如图2-79所示。图2-79修改用户密码2.6.2用户账户管理系统
代码实现(7)注销用户,如图2-80所示。图2-80注销用户2.6.2用户账户管理系统
代码实现(8)主界面函数,如图2-81所示。图2-81主界面函数2.6.2用户账户管理系统
代码实现(9)调用主函数,如图2-82所示。图2-82调用主函数项目考核选择题1.Python是什么类型的编程语言?A.编译型语言B.解释型语言C.汇编语言D.机器语言2.Python中用于输出信息的函数是?A.
print()B.
echo()C.
output()D.
display()3.Python中的变量命名规则不包括?A.变量名可以包含字母、数字和下划线B.变量名不能以数字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡镇安全工作人员责任制度
- 井下钉道工岗位责任制度
- 中学食堂岗位责任制度
- 企业管理层岗位责任制度
- 长城汽车产品质量的持续改进策略
- 海尔家电研发团队介绍与招聘策略
- 智能硬件产品经理的职位申请全攻略
- 电力行业招聘流程及面试要点详解
- 证券公司分析师面试宝典
- 酒店用品的仓库管理及配送方案
- 新课标人教版小学二年级语文下册教案 全册
- 铁塔保护帽浇筑施工方案
- 重庆市巴渝学校2023-2024学年九年级下学期第一次月考物理试卷
- 建设规范项目管理规范实施手册新课件
- 讲授心理健康知识讲座
- 商业银行公司治理评价表
- 常用Y系列电机型号参数表
- 葫芦岛九江220千伏输变电工程环评报告
- 2022年浙江纺织服装职业技术学院单招职业适应性测试试题及答案解析
- GB/T 26514-2011互叶白千层(精)油,松油烯-4-醇型茶树(精)油
- GA/T 1028.4-2017机动车驾驶人考试系统通用技术条件第4部分:道路驾驶技能考试系统
评论
0/150
提交评论