python编程基础知识--基本数据类型
2 基本数据类型 对象类型类型名称示例简要说明 数字 int, float, complex 1234, 3.14, 1.3e5, 3+4j 数字大小没有限制,内置支持复数及 其运算 字符串str swfu, "Im student", Python , rabc, Rbcd 使用单引号、双引号、三引号作为定 界符,以字母r或R引导的表示原始字 符串 字节串bytesbhello world 以字母b引导,可以使用单引号、双引 号、三引号作为定界符 列表list 1, 2, 3,a, b, c, 2 所有元素放在一对方括号中,元素之 间使用逗号分隔,其中的元素可以是 任意类型 字典dict1:food ,2:taste, 3:import 所有元素放在一对大括号中,元素之 间使用逗号分隔,元素形式为“键:值 ” 元组tuple(2, -5, 6), (3,) 所有元素放在一对圆括号中,元素之 间使用逗号分隔,如果元组中只有一 个元素的话,后面的逗号不能省略 常用内置对象 Python的常用内置对象 对象类型类型名称示例简要说明 集合 set frozenset a, b, c 所有元素放在一对大括号中,元素之 间使用逗号分隔,元素不允许重复;另 外,set是可变的,而frozenset是不 可变的 布尔型boolTrue, False 逻辑值,关系运算符、成员测试运算 符、同一性测试运算符组成的表达式 的值一般为True或False 空类型NoneTypeNone空值 异常 Exception、 ValueError、 TypeError Python内置大量异常类,分别对应不 同类型的异常 文件 f = open(data.dat, rb) open是Python内置函数,使用指定的 模式打开文件,返回文件对象 其他迭代对 象 生成器对象、range对象、zip 对象、enumerate对象、map对 象、filter对象等等 具有惰性求值的特点 编程单元 函数(使用def定义)、类(使 用class定义)、模块(类型为 module) 类和函数都属于可调用对象,模块用 来集中存放函数、类、常量或其他对 象 续表 Python的常用内置对象 在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) #查看变量类型 >>> x = 1,2,3 >>> print(type(x) >>> isinstance(3, int) #测试对象是否是某个类型的实例 True >>> isinstance(Hello world, str) True Python的常用内置对象 type() isinstance( ) 数字类 型 数字类 型 程序元素:010/10,存在多种可能 表示十进制整数值10 类似人名一样的字符串 数字类型对Python语言中数字的表示和使 用 进行了定义和规范 数字类 型 Python语言包括三种数字类 型 整数类型 浮点数类型 复数类型 整数类 型 示例 1010, 99, -217 0 x9a, -0X89(0 x, 0X开头表示16进制数) 0b010, -0B101 (0b, 0B开头表示2进制数) 0o123, -0O456 (0o, 0O开头表示8进制数 ) 浮点数类 型 带有小数点及小数的数字 Python语言中浮点数的数值范围存在限 制,小 数精度也存在限制。这种限制与在不 同计算机系 统有关 浮点数类 型 示例 0.0, -77., -2.17 96e4, 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 复数类 型 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 / 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, , 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可以是整数或浮点数但不能为字符串 数值运算操作符可以隐式地转换输出结果的数字类型 例如,两个整数采用运算符“/”的除法将可能输出浮点数结果 。 此外,通过内置的数字类型转换 函数可以显式地在数字类型之 间进 行转换 数字类型的转 换 三种类型可以相互转换 函数:int(), float(), complex() 示例: int(4.5) = 4 (直接去掉小数部分) float(4) = 4.0 (增加小数部分) complex(4) = 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库中函数可以直接采用()形式使 用 >>>import math >>>math.ceil(10.2) 11 >>>from math import floor >>>floor(10.2) 10 math库解析 math库包括4个数学常 数 常数数学表示描述 math.pi圆周率,值为 3.141592653589793 math.ee自然对数,值为 2.718281828459045 math.inf正无穷大,负无穷大为-math.inf math.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是小数或负数,返回 ValueError math.gcd(a, b)返回a与b的最大公约数 math.frepx(x)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或False math.isfinite(x)当x为无穷大,返回True;否则,返回False math.isinf(x)当x为正数或负数无穷大,返回True;否则,返 回False math.isnan(x)当x是NaN,返回True;否则,返回False math库解析 math库中包括8个幂对数函 数 函数数学表示描述 math.pow(x,y) xy 返回x的y次幂 math.exp(x) ex 返回e的x次幂,e是自然对数 math.expml(x)ex-1返回e的x次幂减1 math.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)坐标到原点(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)arc