大学Python程序设计《数据类型与运算》课程讲义课件_第1页
大学Python程序设计《数据类型与运算》课程讲义课件_第2页
大学Python程序设计《数据类型与运算》课程讲义课件_第3页
大学Python程序设计《数据类型与运算》课程讲义课件_第4页
大学Python程序设计《数据类型与运算》课程讲义课件_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

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

文档简介

大学Python程序设计数据类型与运算2026年课程导览01数据类型总览建立数据分类的整体认知02数值与字符串掌握基础类型的定义与操作03组合数据类型理解列表、元组、字典、集合04运算符体系掌握算术、比较、逻辑、赋值运算05易错点辨析识别并规避常见陷阱06综合应用用所学解决实际问题01数据类型总览数据有类别,类型定用法数据类型是数据的分类标签数字类型例子年龄→数字运算

年龄+年龄→求和文字类型例子姓名→文字运算

姓名+姓名→拼接同一个

`+`,在不同类型身上含义迥异。VS六大核心类型撑起数据世界从三大类到逐类深入三大类撑起数据世界:数字、文字、容器。序列:列表、元组、字符串,共享切片、遍历等通用操作。数字NUMERIC整数:数值类型,负责计算。浮点数:带小数点,处理精度。文字TEXT字符串:用引号包裹,负责存文本。'文本'"文本"容器CONTAINER列表:能改能增,有序。元组:与列表相似,但不可改动。字典:靠“键”快速查“值”。集合:主打去重。取好名字再存放数据命名、习惯,赋值即定类型规命名规则组成只能由字母、数字、下划线组成禁区不能以数字开头,不能与Python关键字重名区分大小写区分对待惯命名习惯成绩见名知意:成绩用

score年份见名知意:出生年份用

birth_year值赋值与类型赋值age=18,把

18

装进名为

age

的盒子声明无需提前声明类型,赋值时自动确定动态重新赋值可换成别的类型,即动态类型02数值与字符串数字算得准,文字拼得对整数与浮点各有分工两类数值,分工不同整数无小数点,可正可负VS浮点数带小数点,存身高、温度等带精度的量01除法3/2结果永远是浮点数

1.5;3**2

才是幂运算。02整除3//2→1向下取整,不是四舍五入。负数更要小心——-7//2

结果是

-4,不是-3。03取余7%2→1用百分号

%

取余,常用来判断奇偶。用引号包裹文字三种引号都能建字符串,单引号、双引号、三引号均可创建;多行文本直接用三引号换行。字符串的两种基础运算01拼

接"Hello"+"Python"→"HelloPython"02重

复"py"*2→"pypy"03易混淆"1"+"1"→"11"(字符串,不是数字2)引号里的1只是文字,不参与算术索引切片让文字可拆解从编号到不可变,字符串的三件事“编号定位置,切片划区间”—索引切片“编号定位置,切片划区间”—课后小结编号从0起索引起点s="abc"

中,s[0]

是a,s[1]

是b。切片取左不取右区间规则s[0:4]

取前四个字符:起始位置包含,结束位置不包含。len()

测长度。字符串不可变不可变类型不能原地改某个字符。修改必须新建字符串。类型转换让数据对上号先转换,再运算数据"对不上号"?先做

类型转换,再谈运算input()的坑:输入内容一律是字符串,做数学运算前必须先转数值类型,否则报"类型不匹配"验证类型可用

type()

函数查看转换后的类型1三大转换函数int()/float()/str()转整数·转浮点·转字符串int()

转整数float()

转浮点str()

转字符串2先转换,再运算字符串不能直接加数字关键写法字符串

"3"

加数字

5必须写成

int("3")+53转换不是万能转不了就报错注意边界int("abc")

直接报错因为

abc不像数字03组合数据类型容器装万物,各有各的规矩列表是可变的有序容器下标从零起,取错只差一列表的三大基本操作:创建取值增删改"下标从零起,取错只差一"创建与取值2项fruits=["苹果","香蕉","梨"]用方括号创建,元素类型不限下标从

0

开始fruits[0]

取到"苹果",fruits[1]

取到"香蕉"增删改3项append()在末尾追加一个元素下标修改通过下标可直接修改已有元素切片适用fruits[1:3]

取到后两个元素元组是不可变的只读列表01元组创建与本质元组用小括号创建,元素不能再增删改,相当于只读列表。score=(100,99,51)

创建后即锁定,不可改动。02适用场景存放不想被误改的数据,如经纬度坐标可作字典的键,列表做不到03易错细节单元素元组必须写逗号:(1,)

才是元组(1)

只是普通括号表达式04实用特性支持打包与解包:a,b=b,a

一行即可交换两个变量字典靠键快速找值键值对结构user={"name":"王五","age":20}键key"name"、"age"

是键值value"王五"、20

是值访问用

user["name"]两条硬规则键必须是不可变类型,且不能重复Python3.7

起字典保证插入顺序有序安全取值安全取值直接访问不存在的键会报

KeyError改用

user.get("height",0),键不存在时返回默认值

0user.get("height",0)→返回

0集合擅长去重与交并元素唯一,重复添加不会产生重复项Set是元素唯一的集合,天生擅长去重——这一页,我们学会它的创建与四种核心运算。记牢:无序、唯一是集合的身份证,|&-in

四个符号搞定全部集合关系。核心特性无序、无重复元素的容器,最适合去重。创建方式大括号或

set()

均可创建空集合必须用

set()——

{}

创建的是空字典集合运算并集|合并两拨成员交集&找出共同成员差集-排除某部分成员测试in判断元素是否在集合里,直观且高效04运算符体系符号虽小,规则为大算术运算符负责算数值七个运算符,各管一种计算符号不多,规则要记牢算术运算符7个+加−减*乘/浮点除//整除%取余**幂两条易混规则/

结果永远是浮点数;//

向下取整%

不是百分号,是求余数:7%2

得1一个运行红线除数为零触发

ZeroDivisionError,程序立即终止比较与逻辑运算符支撑判断比较运算==等于!=不等于>大于<小于>=大于等于<=小于等于结果只有

True

和

False逻辑运算and全真才真or一真即真not取反优先级

not

高于

and

高于

or两个易错点=vs===

是赋值,==

是判等,混用是零基础第一大报错来源优先级复杂条件建议用括号明确顺序链式比较:18<=age<=60赋值运算符精简自运算基础赋值:等号把右边的值装进左边的变量不是“等于”基础赋值等号不是等于,是装入等号把右边的值装进左边的变量,不是数学上的“等于”。多变量同时赋值:a,b,c=1,2,"hello"

一行完成三个变量初始化复合赋值基于自身运算更简洁变量基于自身运算时写法更简洁,num+=5

等价于

num=num+5同类运算符共六种-=*=/=//=%=**=同类运算符共六种:-=、*=、/=、//=、%=、**=等号不是等于,是装入成员与身份运算符判断归属成员判断in/notinin

检测元素是否在序列或集合中,notin

取反;列表、字符串、字典的键都适用。身份判断is/==is

比较内存地址,判断是否为同一个对象;==

只比较值,两者语义完全不同。同一列表,两种结果a==bvsaisb内容相同的两个列表:a==b→Trueaisb→False优先级运算顺序括号最优先,算术高于比较,比较高于逻辑;拿不准就加括号。05易错点辨析踩过的坑,都是成长的台阶浮点精度是经典陷阱0.1+0.2==0.3

返回

False,实际结果是0.30000000000000004根因关键计算机底层用二进制存浮点数,某些十进制小数无法被精确表达。这不是Python的缺陷,而是二进制存储的普遍现象。对策一简单用

round(0.1+0.2,1)四舍五入后再比较。对策二安全金额等精度敏感场景,改用

decimal

模块的Decimal类型。稳妥判断推荐用容差法——abs(a-b)<1e-10浮点数精度问题,用对策与容差法稳妥判断可变与不可变决定改的是谁共享的是引用,独立的是副本变可变类型:列表、字典、集合示例m=[8,9];n=m,改n[0]后m同步被改——两者指向同一个列表对象副本想得到互不影响的列表副本,用切片a[:]或copy()方法不不可变类型:整数、浮点数、字符串、元组示例a="hello";b=a后令b="world",a不受影响——可变类型赋值即新建对象字符串、元组等不可变类型一旦创建,其内容不能被修改,只能重新赋值

记忆口诀共享的是引用,独立的是副本分清真假值与等价关系等号看外表,is

看身份证==比值比较比较两个对象的值是否相等a=[1,2]b=[1,2]a==b→Trueis比身份比较比较两个对象是不是同一个对象(内存身份)a、b是两个独立对象各自存储[1,2],但地址不同aisb→False等号看外表,is

看身份证假值不止一种None「什么都没有」False布尔假0数字零""空字符串[]空列表条件判断里它们都判为假,但语义各不相同,不能互相替代。VS06综合应用学以致用,代码即责任成绩管理系统串联全局一套系统,六类数据,四类运算,全部派上用场。变量定义姓名、学号用字符串,各科成绩用整数或浮点数。数据组织字典存键值对,students={"张三":92}

一条记录即成型。运算落地总分用加法,平均用除法,及格判断靠比较运算符,多条件筛选靠逻辑运算符。结果输出print()

配合

f-string

完成格式化输出。一套系统,六类数据,四类运算,全部派上用场。从定义到输出的完整流程每写一段就跑一次,出错先看类型对不对。①

定义变量选对类型数据先进合适的容器scores=[88,92,79]用列表存三个分数→②

用type()抽查类型是否如预期先确认再往下算→③

运算符计算avg=sum(scores)/len(scores)

求平均再比较

avg>=60

判断是否及格→④

格式化输出f"{name}的平均分是{avg:.1f}"

保留一位小数每写一段就跑一次,出错先看类型对不对。理解类型便驾驭了

温馨提示

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

评论

0/150

提交评论