python提供的三种基本数据类型是()_[Python从入门到上瘾] 2、Python中的基本数据类型(上)...

点击上方“毛利学python”,选择“置顶或者星标”

第一时间收到精彩推送!

我们通常说的视屏、语音、文本这是不同的格式,同样在Python中不同性质的数据集有不同的数据类型。

python中有七大标准数据类型。

数字(Number)

字符串(String)

布尔(bool)

列表(list)

集合(Set)

元组(Tuple)

字典(dictionary)

1、数字(Number)

数字又分为 整型(int),浮点(float),复数(complex)

a.整型

在python3.X中,整型(int)的长度理论上是无限的,比如1、99999、-8000 等等

可以使用加减乘除等运算,

在终端中简单的示范了加减乘除运算,

xxxdeAir:~ xxx$ python3

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24)

[Clang 6.0 (clang-600.0.57)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> 1 + 3

4

>>> 1 - 3

-2

# 表示3的平方

>>> 3 ** 2

9

>>> 3 ** 3

27

>>> 4 / 2

2.0

# 执行顺序与数学算法中相同

>>> 1 + 3 * 2

7

>>> (1 + 3) * 2

8

上面例子中

>>> 4 / 2

2.0

得到的结果为浮点数,如果想要转化成整数,则需要使用int(4/2) 进行转换

>>> int(4 / 2)

2

>>> int(1.0011)

1

# 也可以使用// 返回整数

>>> 4 // 2

2

另外python中有个type() 函数 可以查看对象的数据类型

>>> type( 4 / 2)

# 4/2 的结果为float类型,进一步验证了我们上面说的

>>> type (5)

b.浮点型

带有小数点的数字我们称为浮点数。也同样支持加减乘除等运算

>>> 0.1 + 0.1

0.2

>>> 0.2 + 0.1

0.30000000000000004

>>> 0.2 + 0.7

0.8999999999999999

>>> 0.2 + 0.8

1.0

what?为什么0. + 0.1 和 0.2 + 0.7 怎么和我们想要的结果不一样?

这是因为我们生活中使用的数字都是十进制,在计算机计算的时候会自动转换成二进制的形式(即0和1),0.1不会无限循环,而0.2则会变成无线循环的数。运算完成之后再转换成十进制时会对尾部的小数进行截取处理。所以导致了精度的差异,这个在其他语言也是存在的 并不是bug

如何解决呢 可以借助Python的Decimal来处理这一问题

from Decimal import *

>>> Decimal('0.2') + Decimal('0.1')

Decimal('0.3')

>>>

>>> float(Decimal('0.2') + Decimal('0.1'))

0.3

2、字符串

在Python中表示字符串的方式有三种

单引号

双引号

三引号

>>> msg1 = 'Hello World'

>>> msg2 = "Hello World"

>>> msg3 = '''Hello World'''

>>>

>>> print(type(msg1))

>>> print(type(msg2))

>>> print(type(msg3))

其中三引号用于多行字符串

>>> msg = '''

... my name is tom,

... i am 10 years old

... '''

>>> print(msg)

my name is tom,

i am 10 years old

拼接字符串的方式

print(a + ' ' + b) # 如果多个字符串+号拼接,会创建多个对象,

print(a, b)

print('%s %s' % (a, b)) # 推荐,效率高

print('Hello'' World')

print('{} {}'.format(a, b))  # 推荐,效率高

print(' '.join(['Hello', 'World']))

字符串常用的操作

msg = 'python,java,javascript'

# 通过','分隔字符串,返回数组

print('\n 分隔字符串,: \n', msg.split(' '))

# 每次单词的首字母大写

print('\n 将字符串的所有单词首字母大写:\n', msg.title())

# 是否已python开头(startswith) 结尾(endswith),如果是返回True,不是返回False

print('\n 是否已python开头: \n', msg.startswith('python'))

print('\n 是否已python结尾: \n', msg.endswith('python'))

print('\n 将字符串的第一个字符大写: \n', msg.capitalize())

print('\n 将所有字符大写: \n', msg.upper())

print('\n 将所有字符小写: \n', msg.lower())

运行结果

分隔字符串,:

['python,java,javascript']

将字符串的所有单词首字母大写:

Python,Java,Javascript

是否已python开头:

True

是否已python结尾:

False

将字符串的第一个字符大写:

Python,java,javascript

将所有字符大写:

PYTHON,JAVA,JAVASCRIPT

将所有字符小写:

python,java,javascript

字符串的截取、查找、替换

msg = 'abcdefgaaa'

print('\n 输出前3个字符: \n', msg[0: 3]) # 从0开始

print('\n 输出最后5个字符: \n', msg[-5:])

print('\n 替换字符a为v:\n', msg.replace('a', 'v'))

print('\n 查找元素c的位置: \n', msg.find('c'))# 从0开始,a-0,b-1,c-3

运行结果

输出前3个字符:

abc

输出最后5个字符:

fgaaa

替换字符a为v:

vbcdefgvvv

查找元素c的位置:

2

3、布尔

布尔型只有True(真)和False(假·)之分。

在Python中,只要变量的值不是0、None、非空,那么它的布尔值都为True

None表示一个空对象,即不是数字也不是字符串。有自己的数据类型:NoneType

>>> a = 0

>>> b = None

>>> c = ''

>>> print(bool(a))

False

>>> print(bool(b))

False

>>> print(bool(c))

False

>>> a = 1

>>> b = 'abc'

>>> c = 1.23

>>> print(bool(a))

True

>>> print(bool(b))

True

>>> print(bool(c))

True

另外可以通过

>(大于)、>=(大于等于)、

这些关系运算符进行布尔运算。

>>> print(1 > 2)

False

>>> print(2 >= 1)

True

>>> print(3 

True

>>> print(3 <= 3)

True

>>> print(3 == 3)

True

>>> print(3 != 3)

False

以及not(逻辑非)、and(逻辑与)、or(逻辑或)等逻辑运算符,

与运算:只有两个布尔值都为 True 时,计算结果才为 True。

>>> print(True and True)

True

>>> print(True and False)

False

>>> print(False and False)

False

>>> print(False and True)

False

或运算:只要有一个布尔值为 True,计算结果就是 True。

>>> print(True or False)

True

>>> print(True or True)

True

>>> print(False or False)

False

非运算:把True变为False,或者把False变为True:

>>> print(not False)

True

>>> print(not True)

False

下一章讲一下列表(list),集合(set),元组(tuple),字典(dictionary)

02135dab7bd4f7dcf3a8b07067b6f3a5.png

最后,祝有所学习,有所成长

3437a382404ec41f08fe2bb01f8cdef8.png

转发,好看支持一下,感谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值