书签 分享 收藏 举报 版权申诉 / 72
上传文档赚钱

类型python编程基础知识-基本数据类型课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2983062
  • 上传时间:2022-06-19
  • 格式:PPT
  • 页数:72
  • 大小:1.83MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《python编程基础知识-基本数据类型课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    python 编程 基础知识 基本 数据类型 课件
    资源描述:

    1、2 基本数据类型对象类型对象类型类型名称类型名称示例示例简要说明简要说明数字int, float, complex1234, 3.14, 1.3e5, 3+4j数字大小没有限制,内置支持复数及其运算字符串strswfu, Im student, Python , rabc, Rbcd使用单引号、双引号、三引号作为定界符,以字母r或R引导的表示原始字符串字节串bytesbhello world以字母b引导,可以使用单引号、双引号、三引号作为定界符列表list1, 2, 3,a, b, c, 2所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型字典dict1:food ,2:

    2、taste, 3:import所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值”元组tuple(2, -5, 6), (3,)所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略常用内置对象Python的常用内置对象的常用内置对象对象类型对象类型类型名称类型名称示例示例简要说明简要说明集合setfrozenseta, b, c所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复;另外,set是可变的,而frozenset是不可变的布尔型boolTrue, False逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表

    3、达式的值一般为True或False空类型NoneTypeNone空值异常Exception、ValueError、TypeError Python内置大量异常类,分别对应不同类型的异常文件 f = open(data.dat, rb)open是Python内置函数,使用指定的模式打开文件,返回文件对象其他迭代对象 生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象等等具有惰性求值的特点编程单元 函数(使用def定义)、类(使用class定义)、模块(类型为module)类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象续表Python的

    4、常用内置对象的常用内置对象在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。例如: x = 3创建了整型变量x,并赋值为3,再例如语句 x = Hello world.创建了字符串变量x,并赋值为Hello world.Python的常用内置对象的常用内置对象vPython属于强类型编程语言强类型编程语言,解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型可以随时变化。 x = 3 print(type(x) x = Hello world. print(type(x) #查看变量类型

    5、 x = 1,2,3 print(type(x) isinstance(3, int) #测试对象是否是某个类型的实例True isinstance(Hello world, str)TruePython的常用内置对象的常用内置对象数字类型数字类型 程序元素:010/10,存在多种可能 表示十进制整数值10 类似人名一样的字符串 数字类型对Python语言中数字的表示和使用 进行了定义和规范数字类型Python语言包括三种数字类型整数类型浮点数类型复数类型整数类型 示例 1010, 99, -217 0 x9a, -0X89(0 x, 0X开头表示16进制数) 0b010, -0B101(0b

    6、, 0B开头表示2进制数) 0o123, -0O456(0o, 0O开头表示8进制数)浮点数类型带有小数点及小数的数字Python语言中浮点数的数值范围存在限 制,小数精度也存在限制。这种限制与在不 同计算机系统有关浮点数类型 示例0.0, -77., -2.1796e4, 4.3e-3, 9.6E5(科学计数法)科学计数法使用字母“e”或者“E”作为幂 的符号,以10为基数。科学计数法含义如下:e = a * 10b复数类型与数学中的复数概念一致, z = a + bj, a是实 数部分,b是虚数部分,a和b都是浮点类型,虚数 部分用j或者J标识示例:12.3+4j,-5.6+7j复数类型

    7、z = 1.23e-4+5.6e+89j(实部和虚部是什么?) 对于复数z , 可以用z.real 获得实数部分,z.imag获得虚数部分 z.real = 0.000123z.imag = 5.6e+89数字类型的运算及操作 三种类型存在一种逐渐“扩展”的关系: 整数 - 浮点数 - 复数 (整数是浮点数特例,浮点数是复数特例) 不同数字类型之间可以进行混合运算,运算后生 成结果为最宽类型 123 + 4.0 = 127.0(整数 + 浮点数 = 浮点数)内置的数值运算操作符内置的数值运算操作符操作符描述x + yx与y之和x - yx与y之差x * yx与y之积x / yx与y之商x /

    8、yx与y之整数商,即:不大于x与y之商的最大整数x % yx与y之商的余数,也称为模运算-xx的负值,即:x*(-1)+xx本身x*yx的y次幂,即:xy内置的数值运算函数Python解释器提供了一些内置函数(BIF),这些内置函 数中,有6个函数与数值运算相关函数描述abs(x)x的绝对值divmod(x, y)(x/y, x%y),输出为二元组形式(也称为元组类型)pow(x, y, z)(x*y)%z,.表示该参数可以省略,即:pow(x,y),它与x*y相同round(x, ndigits)对x四舍五入,保留ndigits位小数。round(x)返回四舍五入的整数值max(x1, x2

    9、, , xn)x1, x2, , xn的最大值,n没有限定min(x1, x2, , xn)x1, x2, , xn的最小值,n没有限定 打开IDLE 程序1:pow(2,10) , pow(2,15) 程序2:pow(2, 1000) 程序3:pow(2, pow(2,15)内置的数值运算函数数字类型的转换函数描述int(x)将x转换为整数,x可以是浮点数或字符串float(x)将x转换为浮点数,x可以是整数或字符串complex(re, im)生成一个复数,实部为re,虚部为im,re可以是整数、浮点数或字符串,im可以是整数或浮点数但不能为字符串数值运算操作符可以隐式地转换输出结果的数字

    10、类型例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。 此外,通过内置的数字类型转换函数可以显式地在数字类型之间进 行转换数字类型的转换 三种类型可以相互转换函数:int(), float(), complex() 示例: int(4.5) = 4 (直接去掉小数部分) float(4) = 4.0 (增加小数部分) complex(4) = 4 + 0J数字类型的判断函数:type(x),返回x的类型,适用于所有类型 的判断示例:math库的使用import mathmath库概述 math库是Python提供的内置数学类函数库 math库不支持复数类型 math库一共提供了4个数学

    11、常数和44个函数。44个函数共分为4类,包括:16个数值表示函数、8个 幂对数函数、16个三角对数函数和4个高等特殊函数math库概述首先使用保留字import引用该库第一种:import math对math库中函数采用math.()形式使用 第二种,from math import 对math库中函数可以直接采用()形式使用import mathmath.ceil(10.2)11from math import floorfloor(10.2)10math库解析 math库包括4个数学常数常数数学表示描述math.pi圆周率,值为3.1493math.ee自然对数,值为2.7045math.

    12、inf正无穷大,负无穷大为-math.infmath.nan非浮点数标记,NaN(Not a Number)math库解析 math库包括16个数值表示函数函数数学表示描述math.fabs(x)返回x的绝对值math.fmod(x, y)x % y返回x与y的模math.fsum(x,y,)x+y+浮点数精确求和math.ceil(x)向上取整,返回不小于x的最小整数math.floor(x)向下取证,返回不大于x的最大整数math.factorial(x)x!返回x的阶乘,如果x是小数或负数,返回ValueErrormath.gcd(a, b)返回a与b的最大公约数math.frepx(x

    13、)x = m * 2e返回(m, e),当x=0,返回(0.0, 0)math.ldexp(x, i)x * 2i返回x * 2i运算值,math.frepx(x)函数的反运算math.modf(x)返回x的小数和整数部分math.trunc(x)返回x的整数部分math.copysign(x, y)用数值y的正负号替换数值x的正负号math.isclose(a,b)比较a和b的相似性,返回True或Falsemath.isfinite(x)当x为无穷大,返回True;否则,返回Falsemath.isinf(x)当x为正数或负数无穷大,返回True;否则,返回Falsemath库解析 mat

    14、h库中包括8个幂对数函数函数数学表示描述math.pow(x,y)xy返回x的y次幂math.exp(x)ex返回e的x次幂,e是自然对数math.expml(x)ex-1返回e的x次幂减1math.sqrt(x)返回x的平方根math.log(x,base)math.log1p(x)返回1+x的自然对数值math.log2(x)返回x的2对数值math.log10(x)返回x的10对数值math库解析 math库包括六个“三角双曲函数函数数学表示描述math.degree(x)角度x的弧度值转角度值math.radians(x)角度x的角度值转弧度值math.hypot(x,y)返回(x,y

    15、)坐标到原点(0,0)的距离math.sin(x)sin x返回x的正弦函数值,x是弧度值math.cos(x)cos x返回x的余弦函数值,x是弧度值math.tan(x)tan x返回x的正切函数值,x是弧度值math.asin(x)arcsin x返回x的反正弦函数值,x是弧度值math.acos(x)arccos x返回x的反余弦函数值,x是弧度值math.atan(x)arctan x返回x的反正切函数值,x是弧度值math.atan2(y,x)arctan y/x返回y/x的反正切函数值,x是弧度值math.sinh(x)sinh x返回x的双曲正弦函数值math.cosh(x)c

    16、osh x返回x的双曲余弦函数值math.tanh(x)tanh x返回x的双曲正切函数值math.asinh(x)arcsinh x返回x的反双曲正弦函数值math.acosh(x)arccosh x返回x的反双曲余弦函数值math.atanh(x)arctanh x返回x的反双曲正切函数值math库解析 math库包括4个高等特殊函数函数数学表示描述math.erf(x)高斯误差函数,应用于概率论、统计学等领域math.erfc(x)余补高斯误差函数,math.erfc(x)=1 - math.erf(x)math.gamma(x)伽玛(Gamma)函数,也叫欧拉第二积分函数math.lg

    17、amma(x) ln(gamma(x) 伽玛函数的自然对数实例3:天天向上的力量实例代码3.1: 天天向上一年365天,以第1天的能力值为基数,记为 1.0,当好好学习时能力值相比前一天提高1,当没有学习时由于遗忘等原因能力值相比前 一天下降1。每天努力和每天放任,一年下 来的能力值相差多少呢?实例代码3.1: 天天向上 运行结果如下,每天努力1,一年下来将提高44%,好像不多?请继续分析。实例代码3.1e3.1DayDayUp365.py12345#e3.1DayDayUp365.py import mathdayup = math.pow(1.0 + 0.001), 365)# 提高提高0

    18、.001 daydown = math.pow(1.0 - 0.001), 365) # 放任放任0.001print(向上向上: :.2f, 向下向下: :.2f.format(dayup, daydown)实例代码3.2: 天天向上一年365天,如果好好学习时能力值相比前一 天提高5,当放任时相比前一天下降5。 效果相差多少呢?实例代码3.2: 天天向上运行结果如下,每天努力5,一年下来将提高6倍!这 不容小觑了吧?实例代码3.2e3.2DayDayUp365.py12345#e3.2DayDayUp365.py import mathdayup = math.pow(1.0 + 0.00

    19、5), 365)# 提提 高高 0.005 daydown = math.pow(1.0 - 0.005), 365) # 放放 任任 0.005 print( 向向 上上 :.2f,向向 下下 :.2f.format(dayup, daydown)实例代码3.3: 天天向上一年365天,如果好好学习时能力值相比前一 天提高1%,当放任时相比前一天下降1%。效 果相差多少呢?实例代码3.3: 天天向上运行结果如下,每天努力1%,一年下来将提 高37倍。这个相当惊人吧!实例代码3.3e3.3DayDayUp365.py123456#e3.3DayDayUp365.py import math d

    20、ayfactor = 0.01dayup = math.pow(1.0 + dayfactor), 365)# 提提 高高 dayfactordaydown = math.pow(1.0 - dayfactor), 365)# 放放 任任 dayfactorprint( 向向 上上 :.2f,向向 下下 :.2f.format(dayup, daydown)实例代码3.4: 天天向上一年365天,一周5个工作日,如果每个工作 日都很努力,可以提高1%,仅在周末放任一下,能力值每天下降1%,效果如何呢?实例代码3.4: 天天向上猜猜运行结果?每周努力5天,而不是每天,一 年下来,水平仅是初始的4

    21、.63倍!与每天坚持所 提高的237倍相去甚远实例代码3.4e3.4DayDayUp365.py12345678#e3.4DayDayUp365.pydayup, dayfactor = 1.0, 0.01 for i in range(365):if i % 7 in 6, 0:#周六周日周六周日 dayup = dayup * (1 - dayfactor)else:dayup = dayup * (1 + dayfactor)print(向上向上5天向下天向下2天的力量天的力量: :.2f.format(dayup)实例代码3.5: 天天向上如果对实例代码3.4的结果感到意外,那自然会产

    22、 生如下问题:每周工作5天,休息2天,休息日水 平下降0.01,工作日要努力到什么程度一年后的水 平才与每天努力1%所取得的效果一样呢?实例代码3.5: 天天向上如果每周连续努力5 天, 休息2天,为了达到每天努 力1%所达到的的水平,则 就需要在工作日将提高的 程度达到约2%,即要努力1倍才仅是为了休息2天。这就是天天向上的力量!实例代码3.5e3.5DayDayUp365.py12345678910111213#e3.5DayDayUp365.py def dayUP(df): dayup = 0.01for i in range(365): if i % 7 in 6, 0:dayup

    23、= dayup * (1 -0.01 df) else:dayup = dayup * (1 + df) return dayupdayfacotr = 0.01while (dayUP(dayfactor)37.78): dayfactor += 0.001print(每天的努力参数是每天的努力参数是: :.3f.format(dayfactor)字符串类型及其操作 字符串属于不可变序列,是用单引号、双引号或三引号括起来的符号序列 单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串 abc、123、中国、Python、Tom said, Lets go 空串表示为或 三引号或

    24、表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。1.4.4 字符串 字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引”,索引辅助访问字符串中的特定位置格式为HelloJohn0123456789字符串索引与访问Python中字符串索引从0开始,一个长度为L的 字符串最后一个字符的位置是L-1Python同时允许使用负数从字符串右边末尾向 左边进行反向索引,最右侧索引值是-1字符串索引与访问 可以通过两个索引值确定一个位置范围,返回这 个范围的子串 格式: : start和end都是整数型数值,这个子序列从索引 start开始

    25、直到索引end结束,但不包括end位置。字符串索引与访问 字符串之间可以通过+或*进行连接加法操作(+)将两个字符串连接成为一个新的 字符串乘法操作(*)生成一个由其本身字符串重复连接 而成的字符串字符串的连接与重复 len()函数能否返回一个字符串的长度字符串的长度 大多数数据类型都可以通过str()函数转换为字符串int()float()str()字符串的转换字符串使用实例输入一个月份数字,返回对应月份名称缩写这个问题的IPO模式是:输入:输入一个表示月份的数字(1-12) 处理:利用字符串基本操作实现该功能 输出:输入数字对应月份名称的缩写字符串使用实例 将所有月份名称缩写存储在字符串中

    26、 在字符串中截取适当的子串来查找特定月份找出在哪里切割子串每个月份的缩写都由3个字母组成,如果pos表示 一个月份的第一个字母,则monthspos:pos+3表示这个月份的缩写,即:monthAbbrev = monthspos:pos+3字符串使用实例月份字符串中位置Jan10Feb23Mar36Apr49用转义符()可以在字符串中表达一些不可直接打印的信息。例如:用n表示换行字符串HellonWorldnnGoodbye 32n用print()函数打印后的输出效果如下: HelloWorldGoodbye 32字符串转义字符() 常用转义字符字符串转义字符()转义字符转义字符含义含义转义

    27、字符转义字符含义含义b退格,把光标移动到前一列位置一个斜线f换页符单引号n换行符”双引号”r回车ooo3位八进制数对应的字符t水平制表符xhh2位十六进制数对应的字符v垂直制表符uhhhh4位十六进制数表示的Unicode字符内置的字符串处理函数操作含义+连接*重复 索引 : 剪切len()长度.upper()字符串中字母大写.lower()字符串中字母小写.strip()去两边空格及去指定字符.split()按指定字符分割字符串为数组.join()连接两个字符串序列.find()搜索指定字符串.replace()字符串替换for in 字符串迭代内置的字符串处理方法方法描述str.lower

    28、()返回字符串str的副本,全部字符小写str.upper()返回字符串str的副本,全部字符大写str.islower()当str所有字符都是小写时,返回True,否则Falsestr.isprintable()当str所有字符都是可打印的,返回True,否则Falsestr. isnumeric()当str所有字符都是字符时,返回True,否则Falsestr.isspace()当str所有字符都是空格,返回True,否则Falsestr.endswith(suffix,start,end)strstart: end 以suffix结尾返回True,否则返回Falsestr.startsw

    29、ith(prefix, start, end)strstart: end 以suffix开始返回True,否则返回Falsetr.split(sep=None, maxsplit=-1)返回一个列表,由str根据sep被分割的部分构成str.count(sub,start,end) 返回strstart: end中sub子串出现的次数str.replace(old, new, count)返回字符串str的副本,所有old子串被替换为new,如果count给出,则前count次old出现被替换str.center(width,fillchar) 字符串居中函数,详见函数定义str.strip(

    30、chars)返回字符串str的副本,在其左侧和右侧去掉chars中列出的字符str.zfill(width)返回字符串str的副本,长度为width,不足部分在左侧添0str.format()返回字符串str的一种排版格式,3.6节将详细介绍str.join(iterable)返回一个新字符串,由组合数据类型(见第6章)iterable变量的每个元素组成,元素间用str分割内置的字符串处理方法字符串实例:恺撒密码微实例微实例3.2:恺撒密码。:恺撒密码。凯撒密码是古罗马用来对军事情报进行加密的算法,采用替换方法进行加密,对信息中的每一个英文字符循环替换为字母表中该字符后面第三个字符,对应关系如

    31、下:原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C原文字符P,其密文字符C满足如下条件: C = ( P + 3 ) mod 26解密方法反之,满足:P = ( C 3 ) mod 26m3.2 CaesarCode.py1234567plaincode = input(请输入明文请输入明文: ) for letter in plaincode:if ord(a) = ord(letter) 请输入明文: python is

    32、an excellent language.sbwkrq lv dq hafhoohqw odqjxdjh.运行结果如下:字符串实例:恺撒密码字符串类型的格式化60字符串格式化字符串格式化Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到有字符串格式符的模板中。在 Python 中,字符串格式化使用与 C语言中printf函数一样的语法。print (我的名字是 %s 年龄是 %d % (xmj, 41)Python用一个元祖将多个值传递给模板,每个值对应一个字符串格式符。上例将xmj插入到%s处,41插入到%d处。所以输出结果:我的名字是

    33、 xmj 年龄是 41 字符串的%格式化方法61字符串的%格式化方法字符串format()方法的基本使用格式是:.format()使用format()进行字符串格式化format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信 息。此时,槽的内部样式如下:: 其中,格式控制标记用来控制参数显示时的格式 。格式控制标记包括:,6个字段,这些字段都是可选的,可以组 合使用,这里按照使用方式逐一介绍。使用format()进行字符串格式化利用print()函数实现简单的非刷新文本进度条基本思想是按照任务执行百分比将整个任务划分为100个单位,每执 行N%输出一次进度条。每一行输出包含进度

    34、百分比,代表已完成的 部分(*)和未完成的部分(.)的两种字符,以及一个跟随完成度前进的 小箭头,风格如下:%10 *-.字符串实例:文本进度条实例代码4.1e4.1TextProgressBar.py12345678910#e4.1TextProgressBar.py import timescale = 10print(-执行开始执行开始-) for i in range(scale+1):a, b = * * i,. * (scale - i) c = (i/scale)*100print(%:3.0f- .format (c, a, b) time.sleep(0.1)print(-执

    35、行结束执行结束-)字符串实例:文本进度条-执行开始-% 0 -.%10 *-.%20 *-.%30 *-.%40 *-.%50 *-.%60 *-.%70 *-.%80 *-.%90 *-.%100*-执行结束-程序的输出效果如下图:字符串实例:文本进度条字符串实例编写程序,输出星号组成的菱形。 for i in range(n): print(0:+ str(3* n) +).format( * *i) for i in range(n, 0, -1): print(0:+ str(3* n) +).format( * *i) 利用两种方法打印九九乘法表字符串实例:打印九九乘法表布尔类型70

    36、2.1.3 布尔类型Python支持布尔类型的数据,布尔类型只有True和False两种值。and与运算:只有两个布尔值都为 True 时,计算结果才为True。or或运算:只要有一个布尔值为 True,计算结果就是 True。not非运算:把True变为False,或者把False变为True:在Python中,布尔类型还可以与其他数据类型做and、or和not运算,这时下面的几种情况会被认为是FALSE:为0的数字,包括0,0.0;空字符串 ,;表示空值的None;空集合,包括空元祖(),空序列,空字典;其他的值都为TRUE。例如:a = pythonprint (a and True) # 结果是 Trueb = print (b or False) # 结果是 False71 在Python中,逻辑值True和False作为数值,则分别是整型值1和0参与运算。例如: x=False a=x+(54) #结果a是1 b=x+5 #结果b是5此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:python编程基础知识-基本数据类型课件.ppt
    链接地址:https://www.163wenku.com/p-2983062.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库