最新Python基本数据类型,2024年最新Python面试流程

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!



学习内容:

  1. 整数类型

  2. 浮点数类型

  3. 复数类型

  4. 数值运算操作符

  5. 数值运算函数

Go Go Go

在这里插入图片描述

整数类型


整数无限制

pow(x,y)函数:计算x的y次方

a= pow(2,99)

b= pow(2,pow(2,10))

print(a)

print(b)

在这里插入图片描述


4种进制表示

  • 十进制:1000,89,-34

  • 二进制:以0b或0B开头,0b010,-0B101

  • 八进制:以0o或0O(零ou不是00),0o1234,-0O678

  • 十六进制:以0x或0X开头,0x9b,-0X89


浮点类型


  • 与数学中实数的概念一致

  • 带有小数点及小数的数字

  • 浮点数取值范围和小数精度都存在限制,但常规计算可忽略不计

  • 取值范围数量级约为 -10^308 ~ 10^308 ,精度数量级10 ^-16

浮点数间运算存在不确定尾数,不是bug

0.1 + 0.3

0.4

0.1 + 0.2

0.30000000000000004

不确定尾数

Why?

因为计算机语言设计问题,Python语言用53位二进制表示小数部分,由于计算机中的二进制跟十进制之间不存在严格的对等关系(学过计算机科学导论应该明白)0.1在用二进制表是的时候,它是一个无限小数,计算机就会截取53位,使其无限的接近0.1,并不真正等于0.1,所以会有尾数产生。

0.1 + 0.2 == 0.3

False

round(0.1+0.2, 1) == 0.3

True

我们发现0.1+0.2计算机认为是不等于0.3的,因为有不确定尾数在调皮,那么,如何解决呢?

round(x,d):对X进行四舍五入,d是小数截取位数

在浮点数间运算及比较时用round函数辅助完成(金牌辅助)

不确定尾数一般发生在 10^-16 左右,所以说round()函数十分有效。

科学计数法

浮点数可以采用科学计数法表示

使用字母e或E作为幂的符号,以10为基数,格式如下:

e 表示 a*10b

例如:4.3e-3 值为0.0043

9.6E5 值为960000.0


复数类型


与数学中复数的概念一致

x2 = -1,那么x的值是什么? - 定义 j = −𝟏𝟏 ,以此为基础,构建数学体系

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

z = 1.23e-4+5.6e+89j

  • 实部是什么? z.real 获得实部

  • 虚部是什么? z.imag 获得虚部

了解


数值运算操作符

一元操作符

x + y 加 x与y之和

x – y 减 x与y之差

x * y 乘 x与y之积

x / y 除 x与y之商 10/3结果是3.3333333333333335

x // y 整数除 x与y之整数商 10//3结果是3

  • x x本身
  • y x的负值

x % y 余数 模运算 10%3结果是1

x ** y 幂运算,x的y次幂 当y是小数时,开方运算10**0.5结果是 根号10

二元操作符

x += y

x -= y

x *= y

x /= y

x //= y

x %= y

x **= y

x = 3.1415

x **= 3 # 与 x = x **3 等价

31.006276662836743

类型间可进行混合运算,生成结果为"最宽"类型

  • 三种类型存在一种逐渐"扩展"或"变宽"的关系:

整数 -> 浮点数 -> 复数

  • 例如:123 + 4.0 = 127.0 (整数+浮点数 = 浮点数)

数值运算函数

一些以函数形式提供的数值运算功能

| abs(x) | 绝对值,x的绝对值abs(-10.01) 结果为 10.01 |

| — | — |

| 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) 结果为 4587 |

| round(x[, d]) | 四舍五入,d是保留小数位数,默认值为0 round(-10.123, 2) 结果为 -10.12 |

| max(x1,x2, … ,xn) | 最大值,返回x1,x2, … ,xn中的最大值,n不限 max(1, 9, 5, 4, 3) 结果为 9 |

| min(x1,x2, … ,xn) | 最小值,返回x1,x2, … ,xn中的最小值,n不限 min(1, 9, 5, 4, 3) 结果为 1 |

| int(x) | 将x变成整数,舍弃小数部分 int(123.45) 结果为123; int(“123”) 结果为123 |

| float(x) | 将x变成浮点数,增加小数部分 float(12) 结果为12.0; float(“1.23”) 结果为1.23 |

| complex(x) | 将x变成复数,增加虚数部分 complex(4) 结果为 4 + 0j |


好好学习,天天向上


基本问题:持续的价值

问题1: 1的力量

  • 一年365天,每天进步1%,累计进步多少呢?

1.01^365

  • 一年365天,每天退步1%,累计剩下多少呢?

0.99^365

代码实现

up = pow(1.001, 365)

down = pow(0.999, 365)

print(“向上:{:.2f},向下:{:.2f}”.format(up, down))

结果:

在这里插入图片描述

不积小流无以成江海,不积跬步无以至千里。


问题2:0.5%和0.1%的力量

  • 一年365天,每天进步0.5%或0.1%,累计进步多少呢?

  • 一年365天,每天退步0.5%或0.1%,累计剩下多少呢?

1.005^365 0.995^365

1.01^365 0.99^365

代码实现

day = 0.005

up = pow(1+day, 365)

down = pow(1-day, 365)

print(“向上:{:.2f},向下:{:.2f}”.format(up, down))

结果:

在这里插入图片描述


问题3: 工作日的力量

  • 一年365天,一周5个工作日,每天进步1%

  • 一年365天,一周2个休息日,每天退步1%

  • 这种工作日的力量,如何呢?

1.01365 (数学思维)——》 for…in… (计算思维)

代码实现:

#利用循环模拟 nice

#注意代码的缩进

up = 1.0

day = 0.01

for i in range(365):

if i % 7 in [6,0]: #用来确定周末的时间

up = up*(1-day)

else: #工作日的时间

up = up*(1+day)

print("工作日的力量:{:.2f} ".format(up))

结果:

在这里插入图片描述

1.001^365 = 1.44

1.005^365 = 6.17

1.01^365 = 37.78

1.019^365 = 962.89

毛主席说:“好好学习,天天向上”


在这里插入图片描述


字符串类型


主要内容:

  • 字符串类型的表示

  • 字符串操作符

  • 字符串处理函数

  • 字符串处理方法

  • 字符串类型的格式化

Go Go Go

在这里插入图片描述


字符串类型的表示

由0个或多个字符组成的有序字符序列

  • 字符串由一对单引号或一对双引号表示

"请输入带有符号的温度值: " 或者 ‘C’

  • 字符串是字符的有序序列,可以对其中的字符进行索引

“请” 是 "请输入带有符号的温度值: " 的第0个字符


表示方法

字符串有 2类共4种 表示方法

  • 由一对单引号或双引号表示,仅表示单行字符串

"请输入带有符号的温度值: " 或者 ‘C’

  • 由一对三单引号或三双引号表示,可表示多行字符串

‘’’ Python

语言 ‘’’

为什么这样提供四种

  • 假如我们想用单引号,就可以外加一对双引号

  • 加入我们们既想用双引号又想用单引号,就可以让我们的三引号登场

  • 另外没有给变量名的三引号字符串可以充当多行注释来使用


正向递增序号 和 反向递减序号

在这里插入图片描述


使用[ ]获取字符串中一个或多个字符

  • 索引:返回字符串中单个字符 <字符串>[M]

"请输入带有符号的温度值: "[0] 或者 TempStr[-1]

  • 切片:返回字符串中一段字符子串 <字符串>[M: N]

"请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]


高级用法 使用[M: N: K]根据步长对字符串切片

<字符串>[M: N],M缺失表示至开头,N缺失表示至结尾

“〇一二三四五六七八九十”

[:3] 结果是 “〇一二”

<字符串>[M: N: K],根据步长K对字符串切片

“〇一二三四五六七八九十”

[1:8:2] 结果是 “一三五七” “〇一二三四五六七八九十”

[::-1] 结果是 “十九八七六五四三二一〇”


转义符

  • 转义符表达特定字符的本意

“这里有个双引号(”)" 结果为 这里有个双引号(") - 转义符形成一些组合,表达一些不可打印的含义

"\b"回退 "\n"换行(光标移动到下行首) “\r” 回车(光标移动到本行首)


字符串操作符

在这里插入图片描述

获取星期字符串

weekStr = “星期一星期二星期三星期四星期五星期六星期日”

weekId = eval(input(“请输入星期数字(1-7):”))

pos = (weekId – 1 ) * 3

print(weekStr[pos: pos+3])

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值