【从零到壹】Python的数据类型
1.整数类型
Python常见的数字类型包括整数类型、浮点数类型、复数类型。
整数类型:对应的数学中的整数,其返回类型为int型,如10、25等;long为长整型,也可以代表八进制和十六进制。
浮点数类型:带有小数点的数字,返回类型为float型,如3.14、2.1e2等。
复数类型:Python复数分为两部分,形如a + bj,其中a为实部,b为虚部,返回类型为complex,例如-12.3 + 8j。复数可以通过.real获取实部数据,.imag获取虚部数据。
a) 整数类型
整数类型用int,可以表示为正数,负数,和零;
- 十进制: 默认进制
- 二进制:以0b开头
- 八进制: 以0o开头
- 十六进制: 以0x开头
n1=90
n2=-50
n3=0
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
- 1
- 2
- 3
- 4
- 5
- 6
默认是十进制,所以需要在二进制前面+0b
# 作者:互联网老辛
# 开发时间:2021/4/3/0003 7:55
print('十进制',110)
print('二进制错误写法',110110110)
print('二进制', 0b110110110)
- 1
- 2
- 3
- 4
- 5
- 6
输出结果:
E:\Python_demo\vippython\venv\Scripts\python.exe E:/Python_demo/vippython/day03.py
十进制 110
二进制错误写法 110110110
二进制 438
- 1
- 2
- 3
- 4
b) 浮点类型
# 作者:互联网老辛
# 开发时间:2021/4/3/0003 7:55
n1=1.1
n2=2.2
print(n1+n2)
- 1
- 2
- 3
- 4
- 5
- 6
1.1+2.2=3.3000000000003
这就是浮点型,可能跟我们想的不一样, 怎么样可以输出我们想要的呢?
这是二进制的底层问题,有的会准确,有的会不准确,如果要修改怎么修改呢?
我们可以这么来修改:
n1=1.1
n2=2.2
print(n1+n2)
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))
- 1
- 2
- 3
- 4
- 5
2. bool 布尔类型
它用来表示真和假, True,False
True表示的是整数1
False表示正式0
# 作者:互联网老辛
# 开发时间:2021/4/3/0003 7:55
f1=True
f2=False
print(f1,type(f1))
print(f2,type(f2))
print(f1+f2)
print(f1+1)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
3.字符串类型
字符串类型在Python中是指需要用单引号或双引号括起来的一个字符或字符串。
定义: 字符串类型又被成为不可变的字符序列;
- 可以使用单引号,双引号,三引号
- 单引号和双引号定义的字符串必须在一行显示
- 三引号定义的字符串可以分布在连续的多行;
# 作者:互联网老辛
# 开发时间:2021/4/2/0002 20:51
name='互联网老辛'
str1='人生苦短我用python '
print(str1,type(str1))
- 1
- 2
- 3
- 4
- 5
输出结果:
人生苦短我用python <class ‘str’>
可以看到他的值是字符串类型
如果我们使用双引号
# 作者:互联网老辛
# 开发时间:2021/4/2/0002 20:51
name='互联网老辛'
str1='人生苦短我用python '
str2="人生苦短我用Python"
print(str1,type(str1))
print(str2,type(str2))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
可以看到,单引号和双引号是一样的。
三引号和四引号可以进行换行
# 作者:互联网老辛
# 开发时间:2021/4/2/0002 20:51
name='互联网老辛'
str3='''人生苦短
我用python '''
str4="""人生苦短
我用Python"""
print(str3,type(str3))
print(str4,type(str4))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
4.数据类型转换
为什么会使用到数据类型转换,我们来看一个例子:
# 作者:互联网老辛
# 开发时间:2021/4/3/0003 7:55
name='互联网老辛'
age=38
print(type(name),type(age))
print('我叫'+name+'今年'+age+"岁")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
这样输出结果会报错:
原因就是数据类型不同,int不能和str相加。
如何修改呢?
a. str()类型
# 作者:互联网老辛
# 开发时间:2021/4/3/0003 7:55
name='互联网老辛'
age=38
print(type(name),type(age))
print('我叫'+name+',今年'+ str(age)+"岁")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
可以看到这样就没问题了。
所以str() 是将其他类型转成str类型
举例:
a=10
b=19.9
c=False
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c)))
- 1
- 2
- 3
- 4
- 5
可以看到都转成了str类型
b. int()
类似的还有:int()
这个是把其他类型转成int类型
a='10'
print(type(a))
print(int(a),type(int(a)))
- 1
- 2
- 3
这里需要注意:将str类型转成int类型时,字符串必须为数字串,且必须为整数,非数字串是不行的。
# 作者:互联网老辛
# 开发时间:2021/4/3/0003 7:55
a='helloworld'
b='76.77'
c='76'
#print(int(a))
#print(int(b))
print(int(c))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
可以看到只有c这种整数型可以转化成功;
c. float() 函数
将其他类型转成float类型
# 作者:互联网老辛
# 开发时间:2021/4/3/0003 7:55
a='198.88'
b='76'
c=True
d='hello'
e=100
print(float(a),type(float(a)))
print(float(b))
print(float(c))
#print(float(d)) 字符串中的数据如果是非数字串,则不允许转换
print(float(e))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
转换关系:
这个不需要记住,在后面的练习中多联系就可以了。
5 .总结
无论如何,作者都希望这篇文章能给您普及一些Python知识,更希望您能跟着我一起写代码,一起进步。如果文章能给您的研究或项目提供一些微不足道的思路和帮助,就更欣慰了。作者最大的期望就是文章中的一些故事、话语、代码或案例对您有所帮助,致那些努力奋斗的人。
文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。
原文链接:zmedu.blog.csdn.net/article/details/115411091
- 点赞
- 收藏
- 关注作者
评论(0)