您的位置:首页 > 编程语言 > Python开发

python教程(二)·数据类型

2019-01-06 16:13 302 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lonely_feather/article/details/85933504

本文在我的个人博客https://featherl.gitee.io同步更新,欢迎前往阅读。

数据类型,顾名思义就是数据的类型,数据到底有哪些类型呢?在python中,最基本的数据类型有好几种,让我来逐个介绍。

整数类型(int)

python中只有一种整数类型,就是int类型,在程序中的写法和运算和数学一般相同,如

123
-456
等。除此之外,还可以用其它的表示方法:

  • 前缀
    0b
    ,是零和字母
    b
    (大写
    B
    也可以),表示这是一个二进制数,如
    0b110
  • 前缀
    0o
    ,是零和字母
    o
    (大写
    O
    也可以),表示这是一个八进制数,如
    0o10
  • 前缀
    0x
    ,是零和字母
    x
    (大写
    X
    也可以),表示这是一个十六进制数,如
    0x1a

要注意的是,无论是哪一种写法,整数在计算机中的存储形式都是一样的,都是一些0、1组合,不要以为十进制

16
在程序中写成
0x10
就不是同一个数了,有这么多种表示方式是为了方便人而不是计算机。

前面也接触到了,整数可以进行加减乘除等数学计算,如:

>>> 123+456
579
>>>

浮点数(float)

浮点数就是小数,如

1.2
1.3
等,浮点数的写法还可以是科学计数法,如1.23x104在程序中表示为
1.23e4
12.3e3
,1.2x10-3可以表示为
1.2e-3
等,也就是说用字母
e
(或
E
)代替10。

由于整数和浮点数在计算机内部存储方式不同,整数运算是完全准确的,而浮点数的运算是有误差的,具体原因可以百度 “浮点数误差”

前面提到的

//
运算符,其实是整数除法的运算符,整数和整数运算,结果还是整数,也就是说,10除以3结果应该是3而不是3.33……,这就是为什么我说整数运算是准确的。

/
是浮点数的除法运算符,python是将整数类型自动地转化为浮点数再进行浮点数运算,最后的结果自然也是浮点数了。

字符串类型(str)

字符串是用一对单引号

'
或一对双引号
"
括起来的文本,如
'123'
"456"
。引号
'
"
只是用来表示字符串,不是字符串的一部分,如
'123'
只是一串字符
1
2
3
,如果字符串中包含单引号
'
那么可以用双引号括起:
"单引号(')"
,同理,若字符串中包含双引号,可以是用单引号来表示:
'双引号(")'

如果字符串中即有单引号又有双引号呢?这时就需要用转义字符

\
了,比如:

"这有一个单引号\',还有一个双引号\""

表示的字符串是:

这有一个单引号',还有一个双引号"

转义字符

\
常用于表示一些无法用键盘打出来的字符,如换行符
\n
print()
默认在输出字符串后换行,就是自动加了换行符
\n
,制表府
\t
,而
\\
表示字符
\
本身。

print()
打印些字符串试试:

>>> print("制表符\t制表符")
制表符	制表符
>>> print("换行符\n换行符")
换行符
换行符
>>> print("\\是转义字符")
\是转义字符
>>>

如果字符串中有很多字符需要转义,每一个都加上

\
?这也太麻烦了,python还有一种更简单的表示方法,字符串引号前加一个前缀
r
,表示raw字符串,raw是原生的意思,也就是说,你看到的是什么字符就是什么字符,即不转义。如:

>>> print(r"换行符为\n", r"转义符为\\", r"制表符为\t", r"引号为\'和\"")
换行符为\n 转义符为\\ 制表符为\t 引号为\'和\"
>>>

当然啦,如果你要换行,那么就不能写成

r"\n"
了,因为
r""
中的字符串是不转义的,如果有很多换行,还可以用这种形式,
'''字符串'''
"""字符串"""

4000
>>> print('''
... 第一行
... 第二行
... 第三行
... ''')

第一行
第二行
第三行

>>>

其中的

...
是交互式解释器输出的提示字符,不是字符串的一部分,这提示你这一条命令是多行的,还没完,后面的
'''
闭合了前面的
'''
)
闭合了前面的
(
,所以多行的命令结束,执行命令输出结果。在文件中表示为:

print('''
第一行
第二行
第三行
''')

r
前缀同样可以使用在
'''多行的字符'''

注意了:前面涉及python语法的标点符号都是半角的,当你确信自己的代码和作者的一样却不能正常运行,那么就要看看是不是标点符号的问题了。

布尔型(bool)

布尔类型只有两种值:

True
False
,即“真”和“假”。比如
1>2
是假的,所以为
False
4<5
是真的,所以为
True
。示例代码如下:

>>> True
True
>>> False
False
>>> 1>2
False
>>> 4<5
True
>>>

还可以用

and
or
not
进行逻辑运算,分别对应数学中的 “且”“或”“非”,代码如下:

>>> True and True
True
>>> True and False
False
>>> True or False
True
>>> not True
False
>>> not False
True
>>> 10>3 and 3>1
True
>>>

布尔值的常用于条件语句中,如:

if 10>3:
print("10大于3")
else:
print("10不大于3")

条件语句之后会单独讲解,不过聪明的读者应该能理解上面的代码的意思。

空值(None)

python中还有一种特殊的类型,叫做空类型,只有一个值,就是

None
,表示什么都没有。暂时还没用到,用到再说。

其它类型

python中还有其它数据类型:列表(list)、元组(tuple)、字典(dict),还可以自定义类型,后面会提到,现在就到这。

你还可以用

type()
获取数据的类型,如:

>>> type(123)
<class 'int'>
>>> type("abc")
<class 'str'>
>>> type(True)
<class 'bool'>
>>> type(None)
<class 'NoneType'>
>>>

上面的

class
表明这是一个“类”,
int
str
bool
NoneType
都是“类”,解释这个暂时来说太早了,就当这是类型的名字,先忽略吧。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: