《python编程基础知识基本数据类型课件.ppt》由会员分享,可在线阅读,更多相关《python编程基础知识基本数据类型课件.ppt(72页珍藏版)》请在三一办公上搜索。
1、2 基本数据类型,常用内置对象,Python的常用内置对象,续表,Python的常用内置对象,在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。例如: x = 3创建了整型变量x,并赋值为3,再例如语句 x = Hello world.创建了字符串变量x,并赋值为Hello world.,Python的常用内置对象,Python属于强类型编程语言,解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型可以随时变化。 x = 3 print(type(x) x = Hello world.
2、print(type(x) #查看变量类型 x = 1,2,3 print(type(x) isinstance(3, int) #测试对象是否是某个类型的实例True isinstance(Hello world, str)True,Python的常用内置对象,数字类型,数字类型,程序元素:010/10,存在多种可能表示十进制整数值10类似人名一样的字符串数字类型对Python语言中数字的表示和使用 进行了定义和规范,数字类型,Python语言包括三种数字类型整数类型浮点数类型复数类型,整数类型,示例1010, 99, -2170 x9a, -0X89(0 x, 0X开头表示16进制数)0b
3、010, -0B101(0b, 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
4、.3+4j,-5.6+7j,复数类型,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(整数 + 浮点数 = 浮点数),内置的数值运算操作符,内置的数值运算操作符,内置的数值运算函数,Python解释器提供了一些内置函数(BIF)
5、,这些内置函 数中,有6个函数与数值运算相关,打开IDLE程序1:pow(2,10) , pow(2,15)程序2:pow(2, 1000)程序3:pow(2, pow(2,15),内置的数值运算函数,数字类型的转换,数值运算操作符可以隐式地转换输出结果的数字类型例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。 此外,通过内置的数字类型转换函数可以显式地在数字类型之间进 行转换,数字类型的转换,三种类型可以相互转换函数:int(), float(), complex()示例:int(4.5) = 4 (直接去掉小数部分)float(4) = 4.0 (增加小数部分)complex(4
6、) = 4 + 0J,数字类型的判断,函数:type(x),返回x的类型,适用于所有类型 的判断示例:,math库的使用,import math,math库概述,math库是Python提供的内置数学类函数库math库不支持复数类型math库一共提供了4个数学常数和44个函数。44个函数共分为4类,包括:16个数值表示函数、8个 幂对数函数、16个三角对数函数和4个高等特殊函数,math库概述,首先使用保留字import引用该库第一种:import math对math库中函数采用math.()形式使用,第二种,from math import 对math库中函数可以直接采用()形式使用,imp
7、ort mathmath.ceil(10.2)11,from math import floorfloor(10.2)10,math库解析,math库包括4个数学常数,math库解析,math库包括16个数值表示函数,math库解析,math库中包括8个幂对数函数,math库解析,math库包括六个“三角双曲函数,math库解析,math库包括4个高等特殊函数,实例3:天天向上的力量,实例代码3.1: 天天向上,一年365天,以第1天的能力值为基数,记为 1.0,当好好学习时能力值相比前一天提高1,当没有学习时由于遗忘等原因能力值相比前 一天下降1。每天努力和每天放任,一年下 来的能力值相差多
8、少呢?,实例代码3.1: 天天向上,运行结果如下,每天努力1,一年下来将提高44%,好像不多?请继续分析。,实例代码3.2: 天天向上,一年365天,如果好好学习时能力值相比前一 天提高5,当放任时相比前一天下降5。 效果相差多少呢?,实例代码3.2: 天天向上,运行结果如下,每天努力5,一年下来将提高6倍!这 不容小觑了吧?,实例代码3.3: 天天向上,一年365天,如果好好学习时能力值相比前一 天提高1%,当放任时相比前一天下降1%。效 果相差多少呢?,实例代码3.3: 天天向上,运行结果如下,每天努力1%,一年下来将提 高37倍。这个相当惊人吧!,实例代码3.4: 天天向上,一年365天
9、,一周5个工作日,如果每个工作 日都很努力,可以提高1%,仅在周末放任一下,能力值每天下降1%,效果如何呢?,实例代码3.4: 天天向上,猜猜运行结果?每周努力5天,而不是每天,一 年下来,水平仅是初始的4.63倍!与每天坚持所 提高的237倍相去甚远,实例代码3.5: 天天向上,如果对实例代码3.4的结果感到意外,那自然会产 生如下问题:每周工作5天,休息2天,休息日水 平下降0.01,工作日要努力到什么程度一年后的水 平才与每天努力1%所取得的效果一样呢?,实例代码3.5: 天天向上,如果每周连续努力5 天, 休息2天,为了达到每天努 力1%所达到的的水平,则 就需要在工作日将提高的 程度
10、达到约2%,即要努力1倍才仅是为了休息2天。这就是天天向上的力量!,字符串类型及其操作,字符串属于不可变序列,是用单引号、双引号或三引号括起来的符号序列单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串abc、123、中国、Python、Tom said, Lets go空串表示为或 三引号或表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。,1.4.4 字符串,字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引”,索引辅助访问字符串中的特定位置格式为,字符串索引与访问,Python中字符串索引从0开始,一个长度
11、为L的 字符串最后一个字符的位置是L-1Python同时允许使用负数从字符串右边末尾向 左边进行反向索引,最右侧索引值是-1,字符串索引与访问,可以通过两个索引值确定一个位置范围,返回这 个范围的子串格式: :start和end都是整数型数值,这个子序列从索引start开始直到索引end结束,但不包括end位置。,字符串索引与访问,字符串之间可以通过+或*进行连接加法操作(+)将两个字符串连接成为一个新的 字符串乘法操作(*)生成一个由其本身字符串重复连接 而成的字符串,字符串的连接与重复,len()函数能否返回一个字符串的长度,字符串的长度,大多数数据类型都可以通过str()函数转换为字符串
12、,int(),float(),str(),字符串的转换,字符串使用实例,输入一个月份数字,返回对应月份名称缩写这个问题的IPO模式是:输入:输入一个表示月份的数字(1-12) 处理:利用字符串基本操作实现该功能 输出:输入数字对应月份名称的缩写,字符串使用实例,将所有月份名称缩写存储在字符串中在字符串中截取适当的子串来查找特定月份找出在哪里切割子串每个月份的缩写都由3个字母组成,如果pos表示 一个月份的第一个字母,则monthspos:pos+3表示这个月份的缩写,即:monthAbbrev = monthspos:pos+3,字符串使用实例,用转义符()可以在字符串中表达一些不可直接打印的
13、信息。例如:用n表示换行字符串HellonWorldnnGoodbye 32n用print()函数打印后的输出效果如下: HelloWorldGoodbye 32,字符串转义字符(),常用转义字符,字符串转义字符(),内置的字符串处理函数,内置的字符串处理方法,内置的字符串处理方法,字符串实例:恺撒密码,微实例3.2:恺撒密码。凯撒密码是古罗马用来对军事情报进行加密的算法,采用替换方法进行加密,对信息中的每一个英文字符循环替换为字母表中该字符后面第三个字符,对应关系如下:原文: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
14、 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 26,请输入明文: python is an excellent language.sbwkrq lv dq hafhoohqw odqjxdjh.,运行结果如下:,字符串实例:恺撒密码,字符串类型的格式化,60,字符串格式化Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到有字符串格式符的模板中。在 Python 中,
15、字符串格式化使用与 C语言中printf函数一样的语法。print (我的名字是 %s 年龄是 %d % (xmj, 41)Python用一个元祖将多个值传递给模板,每个值对应一个字符串格式符。上例将xmj插入到%s处,41插入到%d处。所以输出结果:我的名字是 xmj 年龄是 41,字符串的%格式化方法,61,字符串的%格式化方法,字符串format()方法的基本使用格式是:.format(),使用format()进行字符串格式化,format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信 息。此时,槽的内部样式如下:: 其中,格式控制标记用来控制参数显示时的格式 。格式控制
16、标记包括:,6个字段,这些字段都是可选的,可以组 合使用,这里按照使用方式逐一介绍。,使用format()进行字符串格式化,利用print()函数实现简单的非刷新文本进度条基本思想是按照任务执行百分比将整个任务划分为100个单位,每执 行N%输出一次进度条。每一行输出包含进度百分比,代表已完成的 部分(*)和未完成的部分(.)的两种字符,以及一个跟随完成度前进的 小箭头,风格如下:,%10 *-.,字符串实例:文本进度条,字符串实例:文本进度条,-执行开始-,%100*-执行结束-,程序的输出效果如下图:,字符串实例:文本进度条,字符串实例,编写程序,输出星号组成的菱形。 for i in r
17、ange(n): print(0:+ str(3* n) +).format( * *i) for i in range(n, 0, -1): print(0:+ str(3* n) +).format( * *i),利用两种方法打印九九乘法表,字符串实例:打印九九乘法表,布尔类型,70,2.1.3 布尔类型,Python支持布尔类型的数据,布尔类型只有True和False两种值。and与运算:只有两个布尔值都为 True 时,计算结果才为True。or或运算:只要有一个布尔值为 True,计算结果就是 True。not非运算:把True变为False,或者把False变为True:在Pyth
18、on中,布尔类型还可以与其他数据类型做and、or和not运算,这时下面的几种情况会被认为是FALSE:为0的数字,包括0,0.0;空字符串 ,;表示空值的None;空集合,包括空元祖(),空序列,空字典;其他的值都为TRUE。例如:a = pythonprint (a and True) # 结果是 Trueb = print (b or False) # 结果是 False,71,在Python中,逻辑值True和False作为数值,则分别是整型值1和0参与运算。例如: x=Falsea=x+(54) #结果a是1 b=x+5 #结果b是5,此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!,