01-Python 中的数据类型-01-数字类型

01-Python 中的数据类型-01-数字类型

总体 要讲的大纲内容 如下

  • 数字类型- int float complex
  • 序列类型 - list tuple range
  • 集合类型 - set frozenset
  • 上下文管理器类型 - 比较复杂暂时 不用掌握
  • 文本序列类型
  • 二进制序列类型 bytes bytesarray memoryview
  • 真值检测
  • 比较运算符
  • 逻辑运算符
  • 如何判断 一个对象 是什么类型- type(xxx)

今天的内容比较多,这些内容几乎贯穿了python 的基础,所以 我第一篇 先从数据类型 开始讲起 。

首先 很多同学 可能疑问 为啥会有数据类型? 其实在人类 的世界中,人们也是有数据类型的,

比如 桌子 的高度,回答 80 cm ,90cm 等

今天天气是不是晴天? 回答 是或者不是

你的名字 是什么? 回答 Frank 等。

第一个 回答 就是 数字的一个类型,

第二个回答 就是 布尔类型,就是真 ,假。

第三个回答 就是一个名称 ,就是一个 字符串。

你看 ,我们很自然的就能用不同数据类型来回答生活中的问题 。 但是为啥 计算机里面单独要说数据类型呢? 其实是因为 计算机 太笨了,不告诉计算机这是什么类型,它就不知道怎么操作这个数据。 所以计算机需要知道是什么类型,知道了什么类型, 相对应的计算机就知道对这样的类型 有哪些操作

好了进入今天的话题, python 中的数据类型,在python中数据类型 有很多。每一种编程语言 对数据类型 定义有点区别,但大致都是一样的。 第一个类型 数字类型

数字类型

数字类型 包含 int float complex , int 就是整数 向 1,2,3,… 等 float 就是小数 3.4 , 5.67,8.9 ; complex 就是复数 ,这个就是高中所学的 复数类型 ,有实部和虚部 那种类型。

来看下如何定义这些和使用这些类型

height = 165

print(f"height = {height}")
print(f"type = {type(height)}")

01-数字类型-01

结果如下:

height = 165
type = <class 'int'>

这个时候点击 运行的小按钮,看结果出来, 第二行,可以看到是 int 类型

还有一点 要注意 python 写代码的时候 要注意缩进问题,一般来说,缩进是4个空格,当然编辑器pycharm 已经默认是这样子了,如果以后 写代码的时候 报错 类型

IndentationError: unexpected indent

这种错误就是 缩进有问题 的,要看下 代码是不是没有对齐?

好,现在 你知道如何查看一个 类型了吗? 就是 type(xxx) 然后打印出来 就可以了。

下面我可以演示 在 python Console 里面,这样比较方便 。

我今天 花了 19.5 毛钱 ,money 这个就是float 类型的。

>>> money = 19.5 
>>> type(money)
<class 'float'>

是不是很简单。

还有一种类型 complex , complex( 'a+bj') 这样就可以定义一个复数 其中a称为实部,b称为虚部,i 称为虚数单位。

>>> num = complex('1+2j')
>>> num
(1+2j)
>>> num.real
1.0
>>> num.imag
2.0

>>> type(num)
<class 'complex'>

也可以这样定义

>>> num = 2 + 3j
... print(num)
... print(type(num))
(2+3j)
<class 'complex'>

这样 也是可以的.

对于数字类型,int ,float 都有以下的操作 ,注意这里我用的词汇 操作 , 一般数字 就是 加减乘除,取余 ,几次方 等这些 运算操作 。

表 来自官方文档 docs

OperationResultNotesFull documentation
x + ysum of x and y
x - ydifference of x and y
x * yproduct of x and y 乘法
x / yquotient of x and y 除法
x // yfloored quotient of x and y(1)
x % yremainder of x / y(2)
-xx negated
+xx unchanged
abs(x)absolute value or magnitude of xabs()
int(x)x converted to integer把一个数字变成int 类型int()
float(x)x converted to floating point把一个数字变成floatfloat()
complex(re, im)a complex number with real part re, imaginary part im. im defaults to zero.(6)complex()
c.conjugate()conjugate of the complex number c
divmod(x, y)the pair (x // y, x % y)(2)divmod()
pow(x, y)x to the power y(5)pow()
x ** yx to the power y(5)

来让我们来看下

这些符号,大部分和我们使用计算器的符号一样,直接输入表达式就可以了,就可以得到结果,是不是很方便呢?

>>> num = 3
>>> num2 = 10 
>>> num +num2
13
>>> num - num2
-7
>>> num * num2
30
>>> num / num2
0.3
>>> num2/ num
3.3333333333333335
>>> num2// num
3

有几个 不是 太常用的 介绍一下

整除 操作 // 两左斜线 ,如果两个数相除 除不尽的情况, 比如 11 除以3 , 整除保留整数位,这里不是 四舍五入。

>>> 11/3
3.6666666666666665
>>> 11//3
3

取余操作 %, 除不尽的时候 余数是多少

>>> 11 %3
2

绝对值 abs() , 求一个数的绝对值

>>> abs(-4.7)
4.7
>>> abs(-9)
9
>>> abs(5)
5
>>> abs(4.7)
4.7

int 取整 ,把一个x 转成int 类型,如果是小数,直接保留整数部分。注意 这里 x 不一定是数字,可以是个字符串类型 ,只要可以转换 成数字 就行。 比如 ‘4’ 就可以转.

>>> int(4.7)
4
>>> int(-4.7)
-4
>>> int('4')
4

float 也是一样哦,把 一个数字转成 float 类型

>>> float('2.34543')
2.34543
>>> int('4')
4
>>> float('-2.34543')
-2.34543

这里 我要说一个情况 假设 我突然哪一天 想把 ‘love’ 转成 一个float 数字 会是 什么情况?来试一下

>>> float('love')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: could not convert string to float: 'love'

报错了,计算机都明白 ,爱情是不能用数字来衡量的。 爱情高尚,不能用计量单位衡量。 哈哈哈

开玩笑,这里为啥报错,其实报错信息 已经很清楚了, 就是不能将一个字符串’love’ 转成一个 float 类型,计算机无法做到。

就是说在使用 int (),float() 这些函数的时候,计算机 有可能会报错,这个时候就要多想想 计算机为啥不能处理这种情况。 刚刚说的报错,就是 编程语言中的异常,这个是一个比较大的话题,等有时间在聊这个吧。 现在就是知道计算机有可能会报错就可以了。

divmod(x,y) 这个函数 就是返回 两个值, x//y , x%y

第一个值 取整,第二值 取 余 的结果

>>> divmod(11,3)
(3, 2)
>>> divmod(10,2)
(5, 0)

这里要说下 , 其实这里 在编程中如何获取这两个值呢?

a, b = divmod(11, 3)

print(f"a={a},b={b}")

这样divmod 就会返回值,就分别赋值给 a,b . 这里其实返回的是一个元祖类型, 这个是python的数据类型, 类型 是 tuple 翻译成元祖,这个可以先那么了解之后会慢慢介绍。

>>> m =divmod(10,2)
>>> m
(5, 0)
>>> type(m)
<class 'tuple'>

pow 这个就是求 几次方

pow(a,b) 就是 a的 b 次方 ,

这个函数 和 a **b 是一个意思, a 的b 次方 所以 ** 在运算符里面就是次方的的意思

>>> pow(2,4)
16
>>> pow(3,3)
27
>>> pow(5,2)
25

>>> 2**4
16
>>> 3**3
27
>>> 5**2
25

下面一个是和复数相关的

conjugate() 共轭,共轭的,结合的,

这个方法就是求 一个复数的共轭复数

百度百科-共轭复数

>>> num1 = complex(2,3)
>>> num1
(2+3j)
>>> num2= complex(3,4)

>>> num1.conjugate()
(2-3j)
>>> num1
(2+3j)

>>> num2.conjugate()
(3-4j)
>>> num2
(3+4j)

总结

今天介绍了一些 数字类型,常用操作 。 一定要多去练习, 实践出真知。 里面可能有很多没有讲到的内容,可以看看官方文档,那里是比较全面的。 加油!

参考文档

doc python3

分享快乐,留住感动. 2020-03-15 10:31:29 --frank
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值