资源简介 (共28张PPT)第三章算法的程序实现3.2Python语言程序设计必修1《数据与计算》3.2.2数据与数据类型明远教育学习目标数据与数据类型数制及其之间的转换数值的表示方法:原码、反码和补码变量与常量Python语言的数据类型明远教育数制及其之间的转换数据与数据类型·数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。·通常采用的数制有十进制、二进制、八进制和十六进制。·学习数制,必须首先掌握下列的3个概念数码、基数和位权。1、数制明远教育数制及其之间的转换数据与数据类型·数制中表示基本数值大小的不同数字符号。·十进制有10个数码:0、1、2、3、4、5、6、7、8、9·二进制有2个数码:0、1·八进制有8个数码:0、1、2、3、4、5、6、7·十六进制有16个数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F或a、b、c、d、e、f2、数制明远教育数制及其之间的转换数据与数据类型·定义:数制所使用数码的个数·十进制的基数为10·二进制的基数为2·八进制的基数为8·十六进制的基数为163、基数明远教育数制及其之间的转换数据与数据类型·定义:数制中每一位的位置价值。也就是说,每一位上的1所表示数值的大小。(基数^N)·十进制的123:1的位权是100,2的位权是10,3的位权是1。(10^N)·二进制的10:1的位权是2,0的位权是1。(2^N)·八进制的12:1的位权是8,2的位权是1。(8^N)·十六进制的123:1的位权是256,2的位权是16,3的位权是1。(16^N)4、位权明远教育数制及其之间的转换数据与数据类型·其它进制转换为十进制·方法:首先按其进制的位权展开,其次各展开项相加。结果就是相应的十进制数。·二进制:10?1(2^1)+0(1^0)=2。·八进制:101?1(8^2)+0(8^1)+1(8^0)=17。·十六进制:123?1(16^2)+2(16^1)+3(16^0)=2915、转换明远教育数制及其之间的转换数据与数据类型·十进制转换成其它进制·方法:分整数部分和小数部分来进行。整数部分:基数除法把要转换的数的整数部分除以新进制的基数,把余数作为新进制的最低位;把上一次得到的商再除以新进制基数,把余数作为新进制的次低位;继续上一步,直到最后的商为零,这时的余数就是新进制的最高位。小数部分:基数乘法把要转换的数的小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位;把上一步得的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位;继续上一步,直到小数部分变成零为止(或者达到预定的要求也可以)。5、转换明远教育数制及其之间的转换数据与数据类型5、转换例1:把十进制数59转换成二进制数5922921427232120(59)10=(111011)2110111111011余余余余余余明远教育数制及其之间的转换数据与数据类型5、转换例2:把十进制数159转换成八进制数1598198280(159)10=(237)8237余7余3余2明远教育数制及其之间的转换数据与数据类型5、转换例3:把十进制数459转换成十六进制数4591628161160(459)10=(1CB)161CB余11余12余1明远教育数制及其之间的转换数据与数据类型5、转换·二进制与八进制的相互转换·方法:二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制。八进制转换成二进制:用3位二进制数代替每一位八进制数。·例:(010101011)2?(253)8明远教育数制及其之间的转换数据与数据类型5、转换·二进制与十六进制的相互转换·方法:二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制。十六进制转换成二进制:用4位二进制数代替每一位十六进制数。·例:(010010100110)2?(4A6)16明远教育数制及其之间的转换数据与数据类型5、转换·八进制与十六进制的相互转换·方法: (用二进制过渡)八进制转换成十六进制:先转换成二进制,再转换成十六进制。十六进制转换成八进制:先转换成二进制,再转换成八进制。·例:(AB)16?(010101011)2?(253)8明远教育数制及其之间的转换数据与数据类型6、位、字节和字·位:简称b,或bit,比特。数据存储的最小单位。每一位的状态只能是0或1。·字节:简称byte,1byte=8b。存储空间的基本计量单位。硬盘容量也指的是字节。一般来说:与传输速度相关的b一般都是指bit,与容量相关的b一般都是指byte。·字:简称word,1word=2byte,一个英文字母和数字占一个字节,一个汉字占2个字节。明远教育原码、反码和补码数据与数据类型·原码:最高位为符号位,其余各位为数值本身的绝对值。·反码:正数:反码与原码相同。负数:符号位为1,其余位对原码取反。·补码:正数:原码、反码、补码相同。负数:最高位为1,其余位为原码取反,再对整个数加1。明远教育原码、反码和补码数据与数据类型(用一字节表示数)·负数补码转换成十进制数:最高位不动,其余位取反加1。原码反码补码+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000数值范围01111111~11111111(-127~+127)01111111~10000000(-127~+127)01111111~10000000(-128~+127)明远教育变量与常量数据与数据类型·常量定义:程序运行时其值不能改变的量,也叫常数注意:python中没有使用语法强制定义常量,也就是说,python中定义常量本质上还是变量。可以用以下的方法让其不能改变:importconstconst.PI=3.14如果再次对PI赋值,则会报错明远教育变量与常量数据与数据类型·常量1、内置常量False:bool类型的假值True:bool类型的真值None:NoneType类型的唯一值。None经常用于表示缺少值,当因默认参数未传递给函数时NotImplemented:二进制特殊方法应返回的特殊值2、直接常量整型常量浮点型常量字符常量明远教育变量与常量数据与数据类型·整型常量四种形式:1、十进制整数:python中标志:无由数字0~9和正负号表示。如:123,-456,0。2、二进制整数:python中标志:0b或0B由0b或0B开头,后数字0~1表示。如:0b11001,0B10110。3、八进制整数:python中标志:0o或0O由0o或0O开头,后跟数字0~7表示。如:0o123,0O234。4、十六进制整数:python中标志:0x或0X由0x或0X开头,后跟0~9、a~f或A~F表示。如:0x123,0XFF明远教育变量与常量数据与数据类型·浮点型常量两种书写形式:1)十进制形式这是我们平时看到的小数形式,例如34.6、346.0、0.3462)指数形式指数形式的写法为:aEn或aenE或e是固定的字符,用于分割尾数部分和指数部分。整个表达式等价a×10^n例如:2.1E5=2.1×10^5、3.7E-2=3.7×10^(-2)注意:只要写成指数形式就是小数例如:14E3等价于14000,但14E3是一个小数明远教育变量与常量数据与数据类型·字符常量定义:用单引号括起来的单个普通字符或转义字符例如:‘a’‘A’‘?’‘\n’‘\101’字符常量的值:该字符的ASCII码值内存中字符数据以ASCII码存储例如:‘A’——65,‘a’——97,‘0’——48,‘\n’——10转义字符:反斜线后面跟一个字符或一个代码值表示例如:‘A’---’\101’---’\x41’---65例如:‘\101’----‘A’‘\012’-----’\n’‘\376’----’?’‘\x61’-----’a’‘\60’----’0’‘\483’-----(?)明远教育变量与常量数据与数据类型·转义字符转义字符说明\n换行符,将光标位置移到下一行开头。\r回车符,将光标位置移到本行开头。\t水平制表符,也即Tab键,一般相当于四个空格。\a蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器,响铃不一定有效。\b退格(Backspace),将光标位置移到前一列。\\反斜线\'单引号\"双引号\在字符串行尾的续行符,即一行未完,转到下一行继续写。\ddd3位8进制数代表的字符\xhh2位16进制数代表的字符明远教育变量与常量数据与数据类型·变量可以看成一个小箱子,专门用来“盛装”程序中的数据。每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据。从底层看,程序中的数据最终都要放到内存(内存条)中,变量其实就是这块内存的名字。注意:1)变量是标识符的一种,它的名字要遵守Python标识符命名规范2)Python中的变量不需要数据类型声明3)每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建明远教育变量与常量数据与数据类型·变量赋值格式:name=valuename:变量名;value:值,也就是要存储的数据。注意:1)变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可2)变量的值一旦被修改,之前的值就被覆盖了,就不存在了。换句话说,变量只能容纳一个值3)除了赋值单个数据,你也可以将表达式的运行结果赋值给变量明远教育变量与常量数据与数据类型·变量赋值1)单个变量赋值例如:a=12;s=”AbC12”2)多个变量赋值例如1:a=b=c=1创建一个整型对象,值为1,三个变量被分配到相同的内存空间上例如2:a,b,c=1,2,"john"两个整型对象1和2分别分配给变量a和b,字符串对象"john"分配给变量c明远教育数据类型数据与数据类型·Python数据类型数据类型Numbers(数字)String(字符串)int(有符号整型)complex(复数)float(浮点型)例如:12,0,-1,1_301_547例如:3.14,1.4E2例如:12+0.2j12表示实部,0.2表示虚部例如:'123',”Aad”例如:['python',786,2.23,'john',70.2]例如:('python',786,2.23,'john',70.2)例如:{'name':'john','code':6734,'dept':'sales'}例如:{1,2,'c',(1,2,3)}List(列表)Tuple(元组)Dictionary(字典)Set(集合)明远教育Python数据类型转换数据与数据类型函数描述函数描述int(x[,base])将x转换为一个整数set(s)转换为可变集合long(x[,base])将x转换为一个长整数dict(d)创建一个字典。d必须是一个序列(key,value)元组。float(x)将x转换到一个浮点数frozenset(s)转换为不可变集合complex(real[,imag])创建一个复数chr(x)将一个整数转换为一个字符str(x)将对象x转换为字符串unichr(x)将一个整数转换为Unicode字符repr(x)将对象x转换为表达式字符串ord(x)将一个字符转换为它的整数值eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象hex(x)将一个整数转换为一个十六进制字符串tuple(s)将序列s转换为一个元组oct(x)将一个整数转换为一个八进制字符串list(s)将序列s转换为一个列表 展开更多...... 收起↑ 资源预览