Python3的基本数据类型
数据类型
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
整数:
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一摸一样,例如:
1 | 1,100,-8080,0.等等 |
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0X前缀和0-9,a-f表示,例如:
1 | 0xff00,0xa5b4c3d2,等等 |
浮点数:
浮点数也就是小数,之所以称为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的,比如:浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等;
证书和浮点数在计算机内部存储的方式是不同的,整数计算永远是精确的(除法难道也是精确的?是的),而浮点数运算则可能会有四舍五入的误差。
字符串:
字符串是以单引号’或双引号”括起来的任意文本,比如:’abc’,”xyz”等等。请注意,’’或””本身只是一种表示方法,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。如果’本身也是一个字符,那久可以””括起来,比”I`m ok”包含的字符就是I,’,m,空格,o,k这6个字符。
如果字符串内部既包含’又包含”怎么办?可以用转义符\来标识,比如:
实例:
1 | 'I\'m \"ok\"!' |
表示字符串内容是:
1 | I'm "ok"! |
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\,可以Python的交互式命令用print()打印字符串看看:
1 | 'I\'m ok ') print( |
如果字符串里面有很多字符都要转义,就需要加很多\,为了简化,Python还允许用r’’表示’’内部的字符串默认不转义,可以试试:
1 | '\\\n\\') print( |
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用’’’…’’’的格式表示多行内容,可以试试:
1 | '''line1 print( |
Python中的数据变量不需要声明,每个变量都在使用前都必须赋值,变量赋值以后该变量才会被创建;
在Python中,变量就是变量,他没有类型,我们所说的 “类型” 是变量说指的内存中的对象的类型;
等号 (=) 用来给变量赋值;
等号 (=) 运算符左边是一个变量号,等号(=)运算符右边是存储在变量中的值,例如:
实例:
1 | #!/bin/bash/python3 |
执行上述代码会输出如下结果:
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/数据类型.py" |
多个变量赋值
Python允许你同时为多个变量赋值。例如:
1 | a = b =c = 1 |
以上实例,创建一个整型对象,值为1,从后向前赋值,三个变量都指向同一个内存地址。您也可以为多个对象指定多个变量。例如:
实例:
1 | a,b,c = 1,2,"runoob" |
以上实例,连个整型对象1和2的分配给变量a和b,字符串对象”runoob”分配给对象c。
标准数据类型
Python中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionart(字典)
Python3中的六个标准数据类型中:
不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3个):List(列表)、Dictionary(字段)、Set(集合);
Number(数字)
Python3支持int、float、bool、complex(复数)。
在Python3里,只有一种整数类型int,表示为长整型,没有Python2中的Long;
像大多数语言一样,数值类型的复制和计算都是很直观的;
内置的type()函数可以用来查询变量所指的对象类型。
1 | 20,5.5,True,4+3j a,b,c,d = |
此处还可以用isinstance来判断:
实例:
1 | 20,5.5,True,4+3j a,b,c,d = |
isinstance和type的区别在于:
1 | class A: |
区别就是:
- type()不会认为子类是一种父类类型。
- isintance()会认为子类是一种父类类型。
1 | 注意:在Python2中是没用布尔型的,他用数字0表示False,用1表示True。到Python3中,吧True和False定义成关键字了,但他们的值还是1和0,他们可以和数字相加 |
1 | var1 = 1 |
也可以使用del语句删除一些对象引用;
del语句的语法是:
1 | del var1[,var2[,var3[.....,varN]]] |
也可用通过使用del语句删除单个或多个对象 例如:
1 | del var |
数值运算
数值运算在Python中的使用及其方便;
实例:
1 | 5+4 # 加法 |
注意:
- Python可以同时为多个变量赋值,如a,b = 1,2.
- 一个变量可以通过赋值指向不同类型的对象。
- 数值的除法包含两个运算符:/返回一个浮点数,//返回一个整数;
- 在混合计算时,Python会吧整型转换成为浮点数,
数值类型实例
int | float | cpmplex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-756 | -21.9 | 9.322e-36j |
080 | 32.3e+18 | .876j |
-0490 | -90 | -.6545+0J |
-0x260 | -32.54e100 | 3e+36J |
0x69 | 70.2E-12 | 4.53e-7j |
Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型;
String(字符串)
Python中的字符串用单引号’或双引号”括起来,同时使用反斜杠\转义特殊字符
字符串的截取的语法格式如下:
1 | 变量[头下标:尾下标] |
索引值以0开始的值,-1为从末尾的开始位置
1 | 从后面索引: -6 -5 -4 -3 -2 -1 |
加号+是字符串的连接符,型号*表示复制当前字符串,紧跟的数字为复制的次数。实例如下:
实例:
1 | #!/bin/bash/python3 |
执行上述代码会输出如下结果:
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/等待用户输入.py" |
Python是用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以子字符串前面添加一个r,表示原始字符串:
1 | 'Ru\nnoob') print( |
另外,反斜杠()可以作为续行符,表示下一行是上一行的延续,也可以使用 “””…”””或者’’’…’’’跨越多行。
注意,Python没有单独的字符类型,一个字符就是长度为1的字符串,
实例:
1 | 'Python' word = |
与C字符串不同的是,Python字符串不能被改变,向一个索引位置赋值,比如 worid[0] = ‘m’ 会导致错误。
注意:
- 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
- 字符串可以用+运算符连接在一起,用*运算符表示重复。
- Python中的字符串有两宗索引方式,从左往右以0开始,从右往左以-1开始。
- Python中的字符串不能改变。
Author: focusshell
Link: http://focusshell.github.io/2018/08/16/Day-4-Python基础数据类型/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.