python中表达式4+0.5值的数据类型为_python学习笔记(4)-基本数据类型-数字类型及操作...

大学mooc 北京理工大学 python语言程序设计课程学习笔记

一、整数类型

可正可负,没有取值范围的限制(这个与c不同,c要考虑数据类型的存储空间)。如pow(x,y),计算x的y次方,pow(2,1000),结果无限制。

4种进制表示形式:十进制:99,-28,1010    二进制:以0b或者0B开头:0b100,-0B101  八进制:以0o或者0O开头,0o123,-0O456  十六进制:以0x或者0X开头,0x9a, -0Xf9

二、浮点类型

带有小数点和小数的数字,浮点数取值范围和小数经度都存在限制,但常规计算可忽略。浮点数间的运算存在不确定尾数,不属于bug,与计算机的机制有关系。如:

>>> 0.1+0.2

0.30000000000000004

计算机用二进制表示小数,可以无限接近,但不完全相同,0.1+0.2结果会无限接近0.3,但是有一个不确定的尾数

用作判断时,有如下结果

>>> 0.1+0.2 == 0.3False

可以使用round函数,round(x,d):对x四舍五入,d是小数截取位数。

>>> round(0.1+0.2, 1) == 0.3True

浮点数间运算及比较时,需要用round函数辅助。

浮点数的科学计数法表示:使用e或E作为幂的符号,4.3e-3 值为0.0043   9.6E5 为960000.0

三、数值运算操作符

x+y,x-y,x*y,x/y,x//y,x%y,+x,-y,x**y

/  与C不同,x/y产生的结果为浮点数,整数除使用 //,取余% ,x**y是x的y次幂,与pow(x,y),相同,其中y可以为小数。

>>> 10/2

5.0

>>> 10/3

3.3333333333333335

>>> 10//3

3

>>> 10%3

1

>>> 2**2

4

>>> 2**0.5

1.4142135623730951

二元操作符有对应的增强赋值操作符,x+=y,x-=y等。

与C不同,python中,不同的数值类型是可以混合运算的,结果为“最宽”类型,三种类型存在一种逐渐“扩展”和“变宽”的关系:整数-》浮点数-》复数。

>>> 12+1.3

13.3

>>> 123+5.0

128.0

>>>

四、数值运算函数

abs(x):绝对值  divmod(x,y):商余,(x//y,x%y),同时输出商和余数。

pow(x,y[,z]):幂余,注意[]表示这个参数可以省略,(x**y)%z,比如想要运算3的pow(3,99)次方的最后四位,就可以表示为pow(3,pow(3,99),10000),结果为4587,为何有这个z参数呢,pow(3,pow(3,99))这个值非常大,在普通计算机中很难得到结果,已经超出了计算机的内存范围,有个取余的话,这个结果会很快得出。

>>> abs(-100)100

>>> divmod(10,3)

(3, 1)

>>> pow(3,pow(3,99),10000)

4587

round(x[,d]):四舍五入,d是保留小数位数,默认为0.

max(x1,x2,....,xn):最大值,返回这些数中的最大值,n是不受限制的。这个函数可比C好多了,如果是C要写好多代码,还有懂一些算法才行,在python中,一个函数搞定。

min(x1,x2,....,xn):最小值

>>> max(45,1.3,56,1.2)56

>>> min(1.0,1.4,2.0,3)1.0

int(x):将x变成整数,舍弃小数部分,不四舍五入。如果是字符串,也可以转换为整数。

>>> int(123.456)123

>>> int("123")123

float(x):将x变为浮点数,增加小数部分。

>>> float(12)12.0

>>> float("123")123.0

五、编程练习

365天工作日进步0.01,休息日每天退步0.01,一年累计下来能力值为多少?

#DayDayup.py

dayup= 0.1dayfactor= 0.01

for i in range(365):if i % 7 in [6,0]:

dayup= dayup * (1 -dayfactor)else:

dayup= dayup * (1 +dayfactor)

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

365每天进步0.01,一年累计下来是原来的37.87倍,那么休息日休息两天,工作日需要努力多少,才能与每天进步的人一年累计的力量相同呢?

#DayDayup.py

def dayUp(df):

dayup= 1

for i in range(365):if i % 7 in [6,0]:

dayup= dayup * (1 - 0.01)else:

dayup= dayup * (1 + df)

return dayup

dayfactor= 0.01

while dayUp(dayfactor) < 37.78:

dayfactor+= 0.01print("工作日的努力参数为:{: .4f}".format(dayfactor))

六、结语

GRIT:perseverance and passion for long-term goals

1.01**365 = 37.78       1.019**365 = 962.89

GRIT:坚毅,对长期目标的持续激情与持久耐力,国际上很多学者都在研究GRIT,目前认为GRIT是获得成功的最重要的因素之一。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值