美文网首页视觉艺术
Python学习打卡3-基本数据类型

Python学习打卡3-基本数据类型

作者: 小由读书 | 来源:发表于2020-04-06 21:58 被阅读0次

第三周的学习内容主要是数字类型、字符串类型及其操作。

一、数字类型及操作

1.整数类型(可正可负,无取值范围限制)

a.最常用函数pow(x,y):计算x的y次方

b.4中进制的表示形式:十进制(99,-21),二进制(以0b或0B开头:0b010,-0B101),八进制(以0o或0O开头),十六进制(以0x或0X开头)

2.浮点数(带小数点及小数的数字,范围从-10的308次方到10的308次方,精度为10的-16次方)

a.浮点数间运算存在不确定尾数,不是bug,如下:

不确定尾数问题不仅Python中存在,还有很多语言也存在,涉及到计算机对数字运算的内部原理,0.1在二进制中是一个无限循环的小数,和十进制小数不完全相同,导致现象产生。

round(x,d)函数可以对计算结果四舍五入,取小数位数

b.浮点数的科学计数法表示:<a>e<b>,表示a*10的b次方

3.复数类型(只有python语言有复数类型)

a+bj被称为复数,其中a是实部,b是虚部

eg. z=1.23e-4+5.6e+89j    z.real获得实部,z.imag获得虚部

4.数值运算操作符

主要掌握以下几种运算符:

需要注意的是:类型间的混合运算结果为“最宽”类型,遵循 整数->浮点数->复数。如整数+浮点数=浮点数

5.数值运算函数

注:python中函数的参数使用[]表示时,说明该参数可省略。

二、“天天向上的力量”实例

持续的价值:一年365天,每天进步1%,累计进步多少?一年365天,每天退步1%,累计剩下多少?

数学思维:1.01的365次方,0.99的365次方

代码思维:

问题1:千分之一的力量

问题2:千分之五和1%的力量

问题3:工作日的力量

一年365天,一周5个工作日,每天进步1%;一年365天,一周2个休息日,每天退步1%。

问题4:工作日的努力

工作日模式要努力到什么水平才能与每天努力1%一样?

分析:A君每天努力1%,B君周末休息退步1%,那他工作日要努力多少才能跟A君的进步一样?

运用笨函数试错法,使用while保留字,当函数运行达到和1%一样的效果时输出对应的努力参数。

如果每天努力1.9%,365天后的进步是1.019的365次方=962.89,相当于进步1000倍!!!

GRIT(Perseverance and passion for long-term goals),坚毅,对长期目标的持续激情及持久耐力,是获得成功最重要的因素之一,牢记天天向上的力量。

三、字符串类型及操作

1.字符串的表示:

1)单引号、双引号(表示单行字符串),三单引号、三双引号(表示多行字符串)

注:三单引号表注释,实际在python中字符串未定义就当作注释来用

2)字符串的序号:正向递增,反向递减

3)字符串的使用:索引,切片

4)切片的高级用法:

<字符串>[M:N],M缺失表至开头,N缺失表至结尾。如“0123456”[:3]结果是“012”

<字符串>[M:N:K],根据步长K对字符串进行切片。如“0123456”[1:5:2]结果是“13”

使字符串逆序的方法:“0123456”[::-1]结构是“6543210”

5)字符串的特殊字符:转义符 \ (表达特定字符的本意);转义符形成的组合表达一些不可打印的含义,如“\b”回退,“\n”换行,“\r”回车

2.字符串的操作符

1)x+y:连接两个字符串x和y;n*x或x*n :复制n次字符串x;x in s:如果x是s的子串,返回True,否则返回False.

举例:获取星期字符串,输入1-7的整数,表示星期几

3.字符串的处理函数

len(x):返回字符串的长度;

str(x):任意类型x所对应的字符串形式。与eval()函数作用相对

hex(x)或oct(x):整数x的十六进制或者八进制小写形式字符串;

chr(u):u为Unicode编码,返回其对应的字符;

ord(x):x为字符,返回其对应的Unicode编码;

注:Unicode编码是python字符串的编码方式,使python程序不限于中文、英文、韩文、日文、俄文等不同国家的语言可以通用处理;

4.字符串处理方法(八种)

str.lower()或者str.upper():返回字符串的副本,全部字符小写或大写;

str.split(sep=None):返回一个列表。eg:"A,B,C".split(",")结果为['A','B','C'];

str.count(sub):返回字串sub在str中出现的次数。eg.“an apple a day”.count("a")结果为4;

str.reaplac(old,new):返回字符串str副本,所有lod子串被替换为new。eg."python".replace("n",“n123.io”)结果为“python123.io”;

str.center(width[,fillchar]):字符串str根据宽度width居中,fillchar可选。eg."python".center(20,"=")结果为‘=======python=======’

str.strip(chars):从str中去掉在其左侧和右侧chars中列出的字符。eg."= python= ".strip(" =np")结果为(“ytho”)

str.join(iter):在iter变量除最后元素外每个元素后增加一个str。eg.",".join("12345")结果为"1,2,3,4,5"

5.字符串的格式化(使用.format()方法)

四、time库的使用

1.time库基本介绍

使用import time调用time库,使用time.<函数>调用time方法 。time库包括三类函数:

1)时间获取:time()  ctime()   gmtime()

2)时间格式化:strftime()  strptime()

3)程序计时:sleep()    perf_counter()

2.时间获取

time():time.time()

time():time.ctime()

gmtime():time.gmtime()

3.时间格式化

%Y:年份;%m:月份;%B:月份名称;%b:月份名称缩写;%d:日期;%A:星期;%a:星期缩写;%H:小时(24h制);%I:小时(12h制);%p:上/下午;%M:分钟;%S:秒

4.程序计时应用

perf_counter():返回一个CPU级别的精确时间计数值,单位为秒;

sleep(s):s拟休眠的时间,单位是秒,可以是浮点数

五、文本进度条

实例:采用字符串打印方式动态变化的文本进度条,进度条需要能在一行中逐渐变化

1.文本单条打印:

2.在一行打印,使用\r回到行首,end=''使print结尾不换行。

注:window系统需要在dos窗口,使用”python 文件名”的方式运行。

3.完整代码

六、练习与作业

相关文章

网友评论

    本文标题:Python学习打卡3-基本数据类型

    本文链接:https://www.haomeiwen.com/subject/icizlhtx.html