Python3 基本数据类型
标准数据类型
-Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
-Python3 的六个标准数据类型中:
-
不可变数据:Number(数字)、String(字符串)、Tuple(元组);
-
可变数据:List(列表)、Dictionary(字典)、Set(集合)。
1.Number(数字)
-
基础语法第六点提到python的数字类型有四种:整数(int)、布尔型(float)、浮点数(bool)和复数(complex)。
-
python内置的 type() 函数可以用来查询变量所指的对象类型。
a,b,c,d=20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))
- 此外还可以用 isinstance 来判断:
-语法:isinstance(object, classinfo) ——object 是变量,classinfo 是类型
-若参数 object 是 classinfo 类的实例,或者 object 是 classinfo 类的子类的一个实例, 返回 True。
-若 object 不是一个给定类型的的对象, 则返回结果总是False。
>>> a=100
>>> isinstance(a,int)
True
>>> isinstance(6.66,float)
True
>>> isinstance(666,str)
False
>>> isinstance("congratulation",str)
True
– isinstance函数给定的类型可以是多个,若参数object符合函数给定的类型,返回结果为True,否则为False。
>>> isinstance("congratulation",str)
True
>>> isinstance('abcd',(str,float,int))
True
>>> isinstance('abcd',(float,int))
False
>>> isinstance('666',(str,float,int))
True
>>> isinstance(666,(str,float,int))
True
- isinstance 和 type 的区别
-共同点:两者都可以判断对象类型
-不同点:type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型。对于一个 class 类的子类对象类型判断,type不行,而 isinstance 可以。
本博主对 class 不太理解,所以对isinstance 和type的区别不知如何表达,希望热心的网友不吝赐教。
注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
2.数值运算
>>> 5 + 4 # 加法
9
>>> 6.3 - 2 # 减法
4.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余(取模)
2
>>> 2 ** 5 # 乘方
32
注意:
- Python可以同时为多个变量赋值,如a, b = 1, 2。
- 一个变量可以通过赋值指向不同类型的对象。
- 数值的除法包含两种运算符:/ 返回一个浮点数,// 返回一个整数。
- 在混合计算时,Python会把整型转换成为浮点数。
3.String字符串
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。
字符串的截取的语法格式:变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
4.List列表
- List写在方括号之间,元素用逗号隔开。
- 和字符串一样,list可以被索引和切片。
- List可以使用+操作符进行拼接。
- List中的元素是可以改变的
>>> a=[1,2,3,4,5,6]
>>> a[0]=9
>>> a[2:5]=[13,14,15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5]=[]
>>> a
[9, 2, 6]