Python入门笔记1-基本数据类型
Python入门笔记系列,是我学习python的一点点整理,主要来自廖雪峰的博客教程,后续可能继续修改,此文章包含以下内容:
- 基本数据类型
一、基本数据类型
计算机能处理数值、文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
1、整数
- python可以处理任意大小的整数(负整数)
- 16进制前缀
0x
0X
- 8进制前缀
0o
0O
- 2进制前缀
0b
0B
>>>print(0x10)
16
>>>print(0b10)
2
>>>print(0o10)
8
>>>print(10)
10
2、浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^9和12.3x10^8是完全相等的。
(1)可以用eN
和EN
表示乘10^N
,从而通过科学计数法表示浮点数
- 小数写法
1.02
、-2.4
- 科学计数法
1e2
、6E-2
>>>print(0.12)
0.12
>>>print(6e-2)
0.06
(2)浮点数运算存在不确定尾数,常出现在10^-16左右
>>> print(0.1+0.2)
0.30000000000000004
这是由于计算机制导致的,无法修改。有时这会导致判断等于错误。
利用round(x,y)函数,对x进行四舍五入,d为保留位数,可改正判断等于错误
>>> 0.1+0.2==0.3
False
>>> round(0.1+0.2,4)==0.3
True
(3)python中浮点数精度在10^-16
(4)浮点数没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
3、复数
与数学中复数概念一致
- 用z = a+bj或z = a+bJ表示复数z
- 用z.real可得z的实部,z.imag可得z的虚部
>>> z=1+2j
>>> print(z)
(1+2j)
>>> z.real
1.0
>>> z.imag
2.0
>>>
True
*数字类型之间的关系
(1)浮点数是复数的特例,整数是浮点数的特例
(2)不同数据类型间的运算,结果为最宽类型、
(3)三种数字类型间可以相互转化(复数不可转成整数或浮点数)。利用下述函数进行转化,返回一个需要类型的变量,不会改变原变量类型
函数 | 功能 |
---|---|
int(a) | 返回整数(舍去小数) |
float(a) | 返回浮点数 |
complex(a) | 返回复数 |
(4)函数type(x)可以返回x的类型
>>> a=1.5
>>> type(a)
<class 'float'>
>>> int(a)
1
>>> complex(a)
(1.5+0j)
>>> type(a)
<class 'float'>
>>> type(int(a))
<class 'int'>
>>> type(complex(a))
<class 'complex'>
4、字符串
字符串是以单引号 '
或双引号"
括起来的任意文本,注意引号本身不是字符串的一部分,单引号和双引号不可以匹配
(1)利用转义字符\
可表示引号本身(\'
和\''
),避免字符串内同时出现单双引号时字符串提前截断
>>> print("I') #单双引号不匹配,错误
SyntaxError: EOL while scanning string literal
>>> print("I'm OK") #正确
I'm OK
>>> print("I'm "OK"") #匹配到错误的引号,字符串错误
SyntaxError: invalid syntax
>>>print("I'm \"OK\"")#利用转义符号避免引号错误匹配
I'm "OK"
(2)转义符的其他用法
用法 | 功能 |
---|---|
\b | 回退 |
\n | 换行(下行行首) |
\r | 回车(本行行首) |
\’ 或\” | 引号本身(‘和”) |
\\ | 反斜杠本身(\) |
\t | 制表 |
>>> print('I\'m ok.')#利用转义字符避免引号错配
I'm ok.
>>> print('I\'m learning\nPython.')#常用\n换行
I'm learning
Python.
>>> print('\\\n\\')
\
\
(3)允许用r''
或r""
表示''
或""
内部的字符串默认不转义,避免多个\
连用导致可读性下降
>>> print('\\\n\\')
\
\
>>> print(r"'\\\n\\'")
'\\\n\\'
(4)允许用”’…”’的格式表示多行内容,从而避免\n
太多影响阅读
>>> print('''1
2
3
4''')
1
2
3
4
>>>
5、布尔类型
(1)一个布尔值只有True
、False
两种值,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来。
(2)布尔值可以用and
、or
和not
运算。
运算符 | 特性 |
---|---|
and | 与运算:全真为真,有假为假 |
or | 或运算:全假为假,有真为真 |
not | 非运算:真假互换 |
(3)布尔值常用于条件判断
6、空值
空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
7、其他
除上述数据类型外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。