3.1数字类型及操作
1.整数类型
与数学中整数的概念一致可正可负,没有取值范围限制pow(x,y)函数:计算X的y次方,想算多大算多大四种进制表现形式
十进制:1010,99,-217
二进制:以0b或0B开头:0b010,-0B101
八进制:以0o或0O开头:0o123,-0O456十六进制:以0x或0X开头:0x9a,-0X89
整数无限制
2.浮点类型与数学中实数的概念一致带有小数点及小数的数字浮点数取值范围和小数精度都存在限制,但常规计算可忽略取值范围数量级约-10的308次方至10的308次方,精度数量级10的负16次方。
注意:浮点数间运算存在不确定尾数,不是bug
>>>0.1+0.3
0.4
>>>0.1+0.2
0.3000000000000004
原因:计算机中十进制小数0.1是由53位二进制表示的小数部分,约10^(-16)
二进制表示小数,可以无限接近,但不完全相同
修改:>>>0.1+0.2==0.3
False
>>>round(0.1+0.2,1)==0.3True
两个等号在Python中是判断的意思round(x,d):对x四舍五入,d是小数截取位数浮点数间运算及比较用round()
函数辅助不确定尾数一般发生在10^(-16)左右,round()十分有效浮点数可以采用科学计数法表示使用字母e或者E作为幂的符号,以10为基数,格式如下:<a>e<b> 表示a*10^(b)
3.复数类型
定义j与数学中复数概念一致出现频率较少
4.数字运算操作符
x+y 加,x与y之和
x-y 减,x与y之差
x*y 乘,x与y之积
x/y 除,x与y之商
x//y 整数除,x与y之整数商
10//3结果是3
+xx本身
-y y的负值x%y 余数,模运算 10%3结果是1
x**y 幂运算,x的y次幂,x^y
二元操作符有对应的增强赋值操作符xop=y 即x=xopy,其中,op为二元操作符类型间可进行混合运算,生成结果为“最宽”类型三种类型存在一种逐渐“扩展”或“变宽”的关系
整数 ->浮点数 ->复数数字运算函数abs(x)绝对值,x的绝对值divmod(x,y)商余,(x//y,x%y),同时输出商和余数。
例:divmod(10,3)结果为(3,1)pow(x,y[,z])幂余,(x**y)%z,[..]表示参数z可省略。
例:pow(3,pow(3,99),10000)结果为4587round(x[,d])四舍五入,d是保留小数位数,默认值为0max(X1,X2,,,,,Xn)最大值
mix(X1,X2,,,,Xn)最小值
一些以函数形式提供的数值运算功能int(x)将x变成整数,舍弃小数部分float(x)将x变成浮点数,增加小数部分complex(x)将x变成复数,增加虚数部分3.2实例3:天天向上的力量
3.3字符串类型及操作
由0个或多个字符组成的有序字符序列
字符串由一对单引号或一对双引号表示
字符串是字符的有序序列,可以对其;中的字符进行索引
字符串的序号
正向递增序号和反向递减序号
字符串切片高级用法
使用[M:N:K]
根据步长对字符串切片<字符串>
[M:N],M缺失表示至开头,N缺失表示至结尾<字符串>[M:N:K],根据步长K对字符串切片字符串的特殊字符转义符\转义符表示特定字符的本意转义符形成一些组合,表达一些不可打印的含义字符串的操作符由0个或多个字符组成的有序字符序列操作符及使用描述x+y连接两个字符串x和ynx或xn复制n次字符串xx in s如果x是s的子串,返回True,否则返回False获取星期字符串#weekNamePrintV1.pyweekStr="星期一星期二星期三星期四星期五星期六星期日"weekId=eval(input("请输入星期数字(1-7):")) pos=(weekId-1)*3print(weekStr[pos:pos+3])字符串处理函数函数及使用|描述len(x)|长度,返回字符串的长度str(x)|任意类型x所对应的字符串形式hex(x)或oct(x)|整数x的十六进制或八进制小写形式字符串Unicode编码python字符串的编码形式统一字符编码,即覆盖几乎所有字符的编码方式从0到1114111(0*10FFFF)的空间,每个编码对应一个字符python字符串中每个字符都是Unicode编码字符12星座代表字符for i in range(12): print(chr(9800+i),end="")字符串处理方法方法及使用描述str.lower或str.upper()返回字符串的副本,全部字符小写/大写str.split(sep=None)返回一个列表,由str根据sep被分隔的部分组成str.count(sub)返回子串sub在str中出现的次数str.replace(old,new)返回字符串str副本,所有old子串被替代为newstr.center(width[,fillchar])字符串str根据宽度width居中,fillchar可选str.strip(chars)从str中去掉在其左侧和右侧chars中列出的字符str.join(iter)在iter变量除最后元素外每个元素后增加一个str字符串类型的格式化格式化是对字符串进行格式表达的方式字符串格式化使用.format()方法,用法如下:<模板字符串>.format(<逗号分隔的参数>): 引导符号<填充> 用于填充的单个字符<对齐> <左对齐 >右对齐 ^居中对齐<宽度> 槽设定的输出宽度<,> 数字的千位分隔符<.精度> 浮点数小数精度或字符串最大输出长度<类型> 整数类型 浮点数类型3.4time库的使用time库是python中处理时间的标准库时间获取:time() ctime() gmtime()时间格式化:strftime() strptime()程序计时:sleep(),perf_counter()函数描述time()获取当前时间戳,即计算机内部时间值,浮点数ctime()获取当前时间并以易读方式表示,返回字符串gmtime()获取当前时间,表示为计算机可处理的时间格式时间格式化将时间以合理的方式展示出来格式化:类似字符串格式化,需要有展示模板展示模板由特定的格式化控制符组成strftime()方法函数描述strftime(tpl,ts)tpl是格式化模板字符串,用来定义输出效果。ts是计算机内部时间类型的变量strptime(str,tpl)str是字符串形式的时间格式化。tpl是格式化模板字符串,用来定义输入效果程序计时程序计时指测量起止动作所经历事件的过程测量时间:perf_counter()产生时间:sleep()函数描述per_counter()返回一个CPU级别的精确时间计数值,单位为秒。由于这个计数值起点不确定,连续调用差值才有意义sleeps拟休眠时间,单位是秒,可以是浮点数
3.5文本计数条需求分析采用字符串方式打印可以动态变化的文本进度条进度条需要能在一行中逐渐变化问题分析采用sleep()模拟一个持续的进度似乎不那么难“文本进度条”简单开始