1、PYTHON程序设计,www.python.org,Python程序设计,第2章 Python基本数据类型,Python程序设计,2.1 数字类型 2.2 字符串 2.3 字符串格式化,Python程序设计,整形 浮点型 复数 数值运算操作符 数值运算函数,数字类型,数字类型,整数类型,与数学中整数的概念一致,可正可负,没有取值范围限制- pow(x,y)函数:计算 x y ,想算多大算多大, pow(2,100) 1267650600228229401496703205376, pow(2,pow(2,15) 1415461031044954789001553,数字类型,整数类型,四种进制表
2、示形式,十进制:1010, 99, -217二进制,以0b或0B开头:0b010, -0B101八进制,以0o或0O开头:0o123, -0O456十六进制,以0x或0X开头:0x9a, -0X89,数字类型,浮点数类型,与数学中实数的概念一致,带有小数点及小数的数字浮点数取值范围和小数精度都存在限制,但常规计算可忽略取值范围数量级约-10 308 至10 308 ,精度数量级10 -16,数字类型,浮点数类型, 示例 0.0, -77., -2.17 96e4, 4.3e-3, 9.6E5 (科学计数法) 科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数。科学计数法含义如下: e
3、 = a * 10b,浮点数可以采用科学计数法表示,数字类型,浮点数类型,浮点数间运算存在不确定尾数,不是bug, 0.1 + 0.3 0.4 0.1 + 0.2 0.30000000000000004不确定尾数,数字类型,浮点数类型,浮点数间运算存在不确定尾数,不是bug,数字类型,浮点数类型,- round(x, d):对x四舍五入,d是小数截取位数 - 浮点数间运算及比较用round()函数辅助 - 不确定尾数一般发生在10 -16 左右,round()十分有效,数字类型,浮点数类型,- round(x, d):对x四舍五入,d是小数截取位数 - 浮点数间运算及比较用round()函数辅
4、助 - 不确定尾数一般发生在10 -16 左右,round()十分有效,数字类型,浮点数类型,关于Python浮点数,需要知道多些 取值范围和精度基本无限制 运算存在不确定尾数 round() 科学计数法表示,数字类型,复数类型,与数学中复数的概念一致,数字类型,复数类型,实例z = 1.23e-4+5.6e+89j- 实部是什么? z.real 获得实部 - 虚部是什么? z.imag 获得虚部,数字类型,数值运算操作符,操作符是完成运算的一种符号体系,数字类型,数值运算操作符,操作符是完成运算的一种符号体系,数字类型,数值运算操作符,二元操作符有对应的增强赋值操作符,数字类型,数值运算操作
5、符,类型间可进行混合运算,生成结果为“最宽“类型,三种类型存在一种逐渐“扩展“或“变宽“的关系:整数 - 浮点数 - 复数例如:123 + 4.0 = 127.0 (整数+浮点数 = 浮点数),数字类型,数值运算操作符,类型间可进行混合运算,生成结果为“最宽“类型,三种类型可以相互转换函数:int(), float(), complex()示例:int(4.5) = 4 (直接去掉小数部分)float(4) = 4.0 (增加小数部分)complex(4) = 4 + 0J,数字类型,数值运算操作符,类型间可进行混合运算,生成结果为“最宽“类型,函数:type(x),返回x的类型,适用于所有类
6、型的判断,数字类型,数值运算函数,数字类型,数值运算函数,数字类型,数值运算函数,数字类型,math库概述, math库是Python提供的内置数学类函数库 math库不支持复数类型 math库一共提供了4个数学常数和44个函数。44个函数共分为4类,包括:16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数,数字类型,math库概述,首先使用保留字import引用该库 第一种:import math 对math库中函数采用math.()形式使用, 第二种,from math import 对math库中函数可以直接采用()形式使用,数字类型,math库概述,首先使用保留字
7、import引用该库 第一种:import math 对math库中函数采用math.()形式使用, 第二种,from math import 对math库中函数可以直接采用()形式使用,数字类型,math库概述,math库包括4个数学常数,数字类型,math库概述,math库包括16个数值表示函数,数字类型,math库概述,math库中包括8个幂对数函数,数字类型,math库概述,math库包括六个三角双曲函数,数字类型,math库概述,math库包括4个高等特殊函数,Python程序设计,2.1 数字类型 2.2 字符串 2.3 字符串格式化,字符串类型,字符串类型的表示 字符串操作符 字
8、符串处理函数 字符串处理方法 字符串类型的格式化,字符串类型,字符串类型,字符串类型的表示,字符串有 2类共4种 表示方法,- 由一对单引号或双引号表示,仅表示单行字符串 “请输入带有符号的温度值: “或者 C- 由一对三单引号或三双引号表示,可表示多行字符串 Python 语言 ,三引号不是多行注释吗?,字符串类型,字符串类型的表示,- 如果希望在字符串中包含双引号或单引号呢?,- 如果希望在字符串中既包括单引号又包括双引号呢?,这里有个双引号(“) 或者 “这里有个单引号()“, 这里既有单引号()又有双引号 (“) ,字符串类型,字符串类型的表示,Python同时允许使用负数 从字符串右
9、边末尾向左边进行 反向索引,最右侧索引值是-1,Python中字符串索引从0开始,一个长度为L的字符串最后一个字符的位置是L-1,字符串类型,字符串的使用,使用 获取字符串中一个或多个字符,- 索引:返回字符串中单个字符 M,- 切片:返回字符串中一段字符子串 M: N,- M: N: K,根据步长K对字符串切片,字符串类型,字符串的使用,转义符 ,- 转义符表达特定字符的本意“ 这里有个双引号(“)“ 结果为 这里有个双引号(“)- 转义符形成一些组合,表达一些不可打印的含义“b“回退 “n“换行(光标移动到下行首) “r“ 回车(光标移动到本行首),字符串类型,字符串的使用,转义符 ,-
10、转义符表达特定字符的本意“ 这里有个双引号(“)“ 结果为 这里有个双引号(“)- 转义符形成一些组合,表达一些不可打印的含义“b“回退 “n“换行(光标移动到下行首) “r“ 回车(光标移动到本行首),字符串类型,字符串操作符, 字符串之间可以通过+或*进行连接加法操作(+)将两个字符串连接成为一个新的字符串乘法操作(*)生成一个由其本身字符串重复连接而成的字符串, x in s 如果x是s的子串,返回True,否则返回False,字符串类型,字符串操作符,可以通过 for 和 in 组成的循环来遍历字符串中每个字符格式如下: for in :处理,字符串类型,字符串操作符,实例:获取星期字
11、符串输入:1-7的整数,表示星期几 输出:输入整数对应的星期字符串 例如:输入3,输出 星期三,字符串类型,字符串处理函数,字符串类型,字符串处理函数,字符串类型,字符串处理函数,字符串类型,字符串处理函数,实例:恺撒密码 凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,对应关系如下: 原文: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,字符
12、串类型,字符串处理函数,实例:恺撒密码 原文 P 密文 C C = A + (P-A+3)% 26 P = A + (C-A-3)% 26,字符串类型,字符串的处理方法,“方法“在编程中是一个专有名词,“方法“特指.()风格中的函数()方法本身也是函数,但与有关,.()风格使用字符串及变量也是,存在一些方法,字符串类型,字符串的处理方法,字符串类型,字符串的处理方法,字符串类型,字符串的处理方法,字符串类型,字符串类型的格式化,字符串format()方法的基本使用格式是:.format(),格式化是对字符串进行格式表达的方式,字符串类型,字符串类型的格式化,字符串类型,字符串类型的格式化,槽内
13、部对格式化的配置方式,字符串类型,字符串类型的格式化,字符串类型,字符串类型的格式化,字符串类型,字符串类型的格式化,实例:根据指定的宽度打印价格列表,字符串类型,字符串类型的格式化,字符串类型,实例 文本进度条,利用print()函数实现简单的非刷新文本进度条 基本思想是按照任务执行百分比将整个任务划分为100个单位,每执行N%输出一次进度条。每一行输出包含进度百分比,代表已完成的部分(*)和未完成的部分()的两种字符,以及一个跟随完成度前进的小箭头,风格如下:,字符串类型,time库的使用,time库是Python中处理时间的标准库,计算机时间的表达提供获取系统时间并格式化输出功能提供系统
14、级精确计时功能,用于程序性能分析,字符串类型,time库的使用,time库包括三类函数,时间获取:time() ctime() gmtime()时间格式化:strftime() strptime()程序计时:sleep(), perf_counter(),字符串类型,时间获取,字符串类型,时间格式化,将时间以合理的方式展示出来,格式化:类似字符串格式化,需要有展示模板展示模板由特定的格式化控制符组成strftime()strptime(),字符串类型,字符串类型,格式化控制符,字符串类型,格式化控制符,字符串类型,格式化控制符,字符串类型,程序计时,程序计时指测量起止动作所经历时间的过程测量时间:perf_counter()产生时间:sleep(),字符串类型,程序计时,字符串类型,程序计时,字符串类型,实例 文本进度条,字符串类型,实例 文本进度条,单行动态刷新,刷新的本质是:用后打印的字符覆盖之前的字符不能换行:print()需要被控制- 要能回退:打印后光标退回到之前的位置 r,字符串类型,实例 文本进度条,IDLE本身屏蔽了单行刷新功能,如果希望获得刷新效果,请使用控制台命令行执行,字符串类型,实例 文本进度条,字符串类型,文本进度条的不同设计函数,字符串类型,谢谢 大家,