人工智能创新实验教程 课件 第2章 python基础_第1页
人工智能创新实验教程 课件 第2章 python基础_第2页
人工智能创新实验教程 课件 第2章 python基础_第3页
人工智能创新实验教程 课件 第2章 python基础_第4页
人工智能创新实验教程 课件 第2章 python基础_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章python基础2目录

CONTENT0504030201python简介数据类型运算符数据的组织结构循环06列表3目录

CONTENT0908字典函数文件操作07python简介01python简介5Python是一种跨平台的计算机程序设计语言,是人机之间交流的工具。Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Texthere特点1342交互式语言Python是交互式语言:

这意味着,您可以在一个Python提示符>>>后直接执行代码。面向对象语言

Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。可读性Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。解释性语言Python是一种解释型语言:

这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。python中的输出函数6print()函数Python里面有一个你可以直接使用的函数print(),可以将您想展示的东西在idle或标准的控制台上显示。Print函数的输出形式1、换行2、不换行print函数的使用print函数可以输出哪些内容?1、print()函数输出的内容可以是数字;2、print()函数输出的内容可以是字符;3、print()函数输出的内容可以是含有运算符的表达式。print函数可以将内容输出的目的地:1、显示器2、文件转义字符7什么是转义字符呢?就是反斜杠+想要实现的转移功能首字母。为什么需要转义字符?

当字符串中包含反斜杠,单引号和双引号等特殊用途的字符时,必须使用反斜杠对这些字符进行转移(转换一个含义)。

反斜杠:\\

单引号:\’

双引号:\”

当字符串中包含换行、回车、水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符。

换行:\n

回车:\r

水平制表符:\t

退格:\b数据类型02标识符与保留字9标识符

标识符就是程序中,使用的各种名称,例如:变量名、常量名、类名等等。在Python中,对标识符格式的要求与C/C++、Java等差不多,变量、函数、类、模块和其他对象的起的名字就叫标识符。

第一个字符必须是字母表中的字母或下划线_;

标识符的其他的部分,由字母、数字和下划线组成;

标识符对大小写敏感;

标识符不能与保留字(关键词)相同。比如:但都是不正确的标识符。保留字

保留字即关键字,是Python语言中内部使用的单词被赋予了特定的意义,这些单词对任何对象起名学的时候都不能用。例如:and、class、if、else

importkeyword

print(keyword.kwlist)列出了Python3的所有保留字:变量10变量是内存中一个带标签的盒子。变量变量由三部分组成:

标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取;

类型:表示函数是对象的数据类型,使用内置函数type(obj)来获取;

值:表示对象所存储的具体数值使用print(obj),可以将值进行打印输出。举例数据类型11常用的数据类型

整数类型→int→98

浮点数类型->float→3.14159

布尔类型→bool→True,False

字符串类型→str→‘人生苦短,我用Python’整数类型

英文为integer,简写为int.可以表示正数、负数和零。整数的不同进制表示方式:

十进制是默认的进制

二进制→以0b开头

八进制→以0o开头

十六进制→0x开头浮点类型

浮点数整数部分和小数部分组成。

浮点数存储不精确性:

使用浮点数进行计算时,可能会出现小数位数不确定的情况:解决方案:

导入模块decmal:布尔类型

用来表示真或假的值。

True表示真,False表示假。

布尔值可以转化为整数:

·true→1

·false→0

字符串类型

字符串又被称为不可变的字符序列。

可以使用单引号’’双引号""三引号’’’‘’’或““”””来定义;

单引号和双引号定义的字符串必须在一行;

三引号定义的字符串可以分布在连续的多行。python中的注释12

在代码中对代码的功能进行解释说明的标注性文字,可以提高代码的可读性。注释的内容会被Python解释器忽略。通常包括三种类型的注释:

单行注释→以"#"开头,直到换行结束;

多行注程→并没有单独的多行注释标记,将-对三引号之间的代码称为多行注释;

中文编码声明注释→在文件开头加上中文声明注释,用以指定源码文件的编码格式。

如#coding:gbk运算符03python中的运算符14运算符功能说明+算术加法,列表、元组、字符串合并与连接,正号-算术减法,集合差集,相反数*算术乘法,序列重复/真除法//求整商,但如果操作数中有实数的话,结果为实数形式的整数%求余数,字符串格式化**幂运算<、<=、>、>=、==、!=(值)大小比较,集合的包含关系比较or逻辑或and逻辑与not逻辑非in成员测试is对象同一性测试,即测试是否为同一个对象或内存地址是否相同|、^、&、<<、>>、~位或、位异或、位与、左移位、右移位、位求反&、|、^集合交集、并集、对称差集@矩阵相乘运算符运算符的优先级15算数运算符>位运算符>比较运算符>布尔运算符>赋值运算符例如:运行结果:数据组织结构04程序的组织结构17

1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。顺序结构:程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束。循环结构:

反复做同一件事情的情况,称为循环。选择结构:程序根据判断条件的布尔值选择性地执行部分代码。对象的布尔值18Python一切皆对象,所有对象都有一个布尔值。获取对象的布尔值:

使用内置函数bool()以下对象的布尔值为False,其他均为true:False数值0None空字符串空列表空元组空字典空集合分支结构19选择结构可以分为:单分支结构、双分支结构、多分支结构和嵌套if。单分支结构

中文语义:如果……就……语法结构: if条件表达式

条件执行体双分支结构:

中文语义:如..使满.....

语法结构:.

if条件表达式:

条件执行体1

else:

条件执行体2分支结构20多分支结构:嵌套if:pass空语句21pass语句:

语句什么都不做,只是一个占位符,用在语法上需要语句的地方。什么时候使用?先搭建语法结构,还没想好代码怎么写的时候。哪些语句一起使用?语句的条件执行体for-in语句的循环停定义函数时的函数体05循环while()循环23反复做同一件事情的情况,称为循环。循环结构的流程图:

循环的分类:

while

for-in语法结构:While循环的执行流程四部循环法:

初始化变量

条件判断

条件执行体(循环体)

改变变量for-in

循环24for-in循环

in表达从(字符串、序列等)中依次取值,又称为遍历。

for-in遍历的对象必须是可迭代对象。for-in的语法结构

for自定义的变量

in可迭代对象

循环体for-in示例for-in的执行图break、continue语句25流程控制语句break

用于结束循环结构,通常与分支结构if一起使用。流程控制语句continue

用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用。06列表列表的创建与删除27为什么需要列表?

变量可以存储一个元素,而列表是一个大容器”可以存储N多个元素,程序可以方便地对这些数据进行整体操作。

列表相当于其它语言中的数组。列表的特点:

获取列表中指定元素的索引:获取列表中的单个元素:列表的查询操作28获取列表中的多个元素:

语法格式:

列表名[start:stop:step]判断指定元素在列表中是否存在:列表元素的遍历:列表元素的增、删、改操作29增加操作:删除操作:修改操作:

为指定索引的元素赋予一个新值,或为指定的切片赋予一个新值。列表元素的排序30列表元素的排序操作

常见的两种方式:方式1:调用sort()方法列有中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True、进行降序排序。

方式2:调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变。07字典列表推导式32字典:

Python内置的数据结构之一,与列表一样是一个可变序列。

以键值对的方式存储数据,字典是一个无序的序列。字典的实现原理:

字典的实现原理与查字典类似,查字典是先根据部首或拼音查找应的页码,Python中的字典是根据key查找value所在的位置。字典的创建33字典的创建:最常用的方式:使用花括号scores=("张三:100,'李四:98,王五':45)使用内置函数dict()dict(name='jack’,age=20)字典的查询操作34字典的常用操作

字典中元素的获取:[]取值与使用get()取值的区别:

[]如果字典中不存在指定的key,抛出keyError异常.

get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回。字典元素的增、删、改操作35Key的判断:

字典元素的删除:delscores[‘张三’]字典元素的新增:scores[‘jack’]=90

获取字典视图的三个方法:字典元素的遍历:

foriteminscore:

print(item)字典推导式36字典的特点:

字典中的所有元素都是一个key-value对,key不允许重复,value可以重复;

字典中的元素是无序的;

字典中的key必须是不可变对象;

字典也可以根据需要动态地伸缩;

字典会浪费较大的内存,是一种使用空间换时间的数据结构。字典生成式:内置函数zip():

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组然后返回由这些元组组成的列表。Supportingtexthere.Whenyoucopy&paste,choose"keeptextonly"option.08函数函数的创建和调用38什么是函数?函数就是执行特定任和以完成特定功能的一段代码。为什么需要函数:复用代码;隐藏实现细节;提高可维护性;提高可读性便于调试。

函数的创建:def函数名([输入参数]):函数体[returnxxx]

函数的调用(函数名([实际参数])):

函数调用的参数传递39位置实参:根据形参对应的位置进行实参传递。关键字实参:根据形参名称进行实参传递。

函数的参数传递:函数调用的参数传递内存分析图:函数的返回值40函数的返回值1、如果函数没有返回值【函数执行完毕后,不需要给调用处提供数据】2、函数的返回值,如果个数是1个,直接返回类型3、函数的返回值,如果是多个,返回的结果是元组函数的参数定义41个数可变的关键字形参定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字形参;使用*定义个数可变的关键字形参;结果为一个字典。函数的参数定义函数定义默认值参数函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参。个数可变的位置参数定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数;使用+定义个数可变的位置形参;结果为一个元组。个数可变的关键字参数、可变的位置参数在定义的时候只能由一个,否则报错。递归函数42什么是递归函数?如果在一个函数的函数体内调用了该函数本身,这个函数就称为递归函数。递归的组成部分:递归调用与递归终止条件。递归的调用过程:每递归调用一次函数,都会在栈内存分配一个栈帧。每执行完一次函数,都会释放相应的空间。递归的优缺点:缺点:占用内存多,效率低下。优点:思路和代码简单。Supportingtexthere.Whenyoucopy&paste,choose"keeptextonly"option.09文件操作python中的文件对象44文件对象不仅可以用来访问普通的磁盘文件,而且也可以访问任何其它类型抽象层面上的"文件"。一旦设置了合适的"钩子",你就可以访问具有文件类型接口的其它对象,就好像访问的是普通文件一样。文件内建函数[open()和file()]open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象;模式和缓冲参数都是可选的,默认为只读模式打开文件;使用with即使发生错误可以关闭文件。open()和file()函数具有相同的功能,可以任意替换.任何使用open()的地方,都可以使用file()替换它,建议使用open()来读写文件,在处理文件对象时使用file()。open()成功执行并返回一个文件对象之后,所有对该文件的后续操作都将通过这个"句柄"进行。文件对象的访问的模式45文件方法分类46输入:read()方法用来直接读取字节到字符串中,最多读取给定数目个字节。如果没有给定size参数(默认值为-1)或者size值为负,文件将被读取直至末尾。指定读取size:readline()方法读取打开文件的一行(读取下个行结束符之前的所有字节);然后整行,包括行结束符,作为字符串返回;和read()相同,它也有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论