类型的概念
类型是编程语言对数据的一种划分
大致分为以下几种:
数字类型 字符串类型
元组类型 列表类型
文件类型 字典类型
a、数字类型
Python语言包括三种数字类型:
整数类型
浮点数类型
复数类型
整数类型
数学中的整数概念一致,没有取值范围限制。
pow(x,y)函数(计算x的y次方)
0x,0X开头表示16进制数
0b,0B开头表示2进制数
0o,0O开头表示8进制数
浮点数类型
带有小数点及小数的数字
Python语言中浮点数的数值范围存在限制,小数精度也存在限制。
取值范围是10的-307次方到10的308次方
只能提供15个数字的准确性
科学计数法中系数<a>的最大精度为53
复数类型
与数学中的复数概念一致,
z = a +bj
a是实数部分
b是虚数部分,虚数部分用 j 或者 J 标识
a和b都是浮点类型
z.real获得实数部分,z.imag获得虚数部分。
b、数字类型的操作
三种类型存在一种逐渐“扩展”的关系:
整数 > 浮点数 > 复数
(整数是浮点数特例,浮点数是复数特例)
不同数字类型之间可以进行混合运算,运算后生成果为最宽类型
增强赋值操作符
内置的数值运算函数
数字类型的转换
三种类型可以相互转换
c、math库的使用
nmath库是Python提供的内置数学类函数库
nmath库不支持复数类型
math库一共提供了
4个数学常数
44个函数,分为4类,包括:
16个数值表示函数
8个幂对数函数
16个三角对数函数
4个高等特殊函数
math库概述
首先使用保留字import引用该库
第一种:import math
对math库中函数采用math.<b>()形式使用
第二种:from math import <函数名>
对math库中函数可以直接采用<函数名>()形式使用
4个数学常数
16个数值表示函数
8个幂对数函数
六个三角双曲函数
4个高等特殊函数
实例: 天天向上的力量
问题:一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰,当没有学习时由于遗忘等原因能力值相比前一天下降1‰。每天努力和每天放任,一年下来的能力值相差多少呢?
天天向上:(1+ 1‰)的365次方
天天向下:(1- 1‰)的365次方
d、字符串类型及其操作
字符串是用双引号“”或者单引号‘’括起来的一个或多个字符,表示单行字符串。
字符串也可以用三引号''',表示单行或者多行字符串。
字符串的操作
想输出带有引号的字符串就使用Python语言转义符: \
使用\\ 输出带有反斜杠的字符串
用转义符可以在字符串中表达一些不可直接打印的信息。
例如:用\n表示换行
字符串类型
字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引”
Python字符串的两种序号体系
正向递增序号:0~~L-1(长度为L的字符串)
反向递减序号:-1~~-L
单个索引辅助访问字符串中的特定位置
格式为<string>[<索引>]
可以通过两个索引值确定一个位置范围,返回这个范围的子串
格式:<string>[<start>:<end>]
start和end都是整数型数值,子序列从索引start开始直到end结束,但不包括end位置。
字符串之间可以通过 + 或 * 进行连接
加法操作(+)将两个字符串连接成为一个新的字符串
乘法操作(*)生成一个由其本身字符串重复连接而成的字符串
x in s
如果x是s的子串,返回Ture;否则,返回False
len()函数返回一个字符串的长度
在python中,英文字符和中文字符都是一个字符(因为使用Unicode编码存储)。
大多数数据类型都可以通过str()函数转换为字符串
实例:输入一个月份数字,返回对应月份名称缩写。
这个问题的IPO模式是:
输入:输入一个表示月份的数字(1-12)
处理:利用字符串基本操作实现该功能
输出:输入数字对应月份名称的缩写
将所有月份名称缩写存储在字符串中
在字符串中截取适当的子串来查找特定月份
可以通过 for 和 in 组成的循环来遍历字符串中每个字符
内置的字符串处理函数
e、字符串类型的格式化 format()方法
format()方法的基本使用
字符串格式化:用于解决字符串和变量同时输出时的格式安排。
字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
format()方法的格式控制
format()方法中模板字符串的槽{}除了包括参数序号,还可包括格式控制信息:
{<参数序号>:<格式控制标记>}
其中,格式控制标记用来控制参数显示时的格式。包括:<填充><对齐><宽度>,<.精度><类型>6个字段,都是可选的,可以组合使用。
宽度:输出字符的宽度。
若format()参数的实际长度 > 宽度,则按实际输出
若format()参数的实际长度 < 宽度,则位数默认以空格补充
对齐:<,>,^ 分别表示宽度内左、右、居中对齐
填充:宽度内除参数外以什么字符填充,默认用空格
逗号:(,)数字类型的千位分隔符
精度:由小数点(.)开头。
对于浮点数:精度表示小数部分输出的有效位数
对于字符串:精度表示输出的最大长度
类型:表示输出整数和浮点数类型的格式规则。
对于整数:
b:输出整数的二进制方式
d:输出整数的十进制方式
o:输出整数的八进制方式
x / X:输出整数的小/大写十六进制方式
c:输出整数对应的Unicode字符
对于浮点数:
e / E:输出浮点数对应的小/大写字母e的指数形式
f:输出浮点数的标准浮点形式
%:输出浮点数的百分形式
浮点数输出时尽量使用<.精度>表示小数部分的宽度
f、文本进度条
利用print()函数实现简单的非刷新文本进度条。
基本思想是按照任务执行百分比将整个任务划分为100个单位,每执行N%输出一次进度条。每一行输出包含进度百分比,代表已完成的部分(**)和未完成的部分(..)的两种字符,以及一个跟随完成度前进的小箭头,风格如下: