Python3的基本数据类型
python 中的变量不需要声明,每个变量在使用钱都必须赋值,变量赋值后该变量才会被创建。
在Python中,变量就是变量,它没有类型,我们所说的“类型”是变量所指的内存中的对象的类型。
等号(=)是用来给变量赋值的。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是储存在变量中的值。
例如:
counter=100; #整形变量; miles =1000.0 #浮点型变量; name ="tom" #字符串; print(counter); print(miles); print(name);
打印的结果为:100 1000.0 tom;
- 多个变量赋值:
允许同时为多个变量赋值,
a=b=c=1;(创建一个整形对象,赋值为1,三个变量被分配到相同的值上)
a,b,c=1,2,"runoob";(为多个对象指定多个变量,两个整型对象1和2的分配变量a和b,字符串对象“runoob”分配给变量c)
- 标准数据类型
Python3中的留个标准数据类型:
1, number(数字类型);
2,string (字符串类型);
3,list (列表类型);
4,tuple(元组类型0、);
5,sets (集合类型);
6,dictionary(字典类型)。
- number(数字类型)
- Python中数字类型的分类;int(整型),float(浮点型),bool(true/false),complex(复数型)
- 在Python3中只有一种整数类型int,没有长整型,没有Python2中的long。
- 想大多数语言一样,数值类型的赋值和计算都是和直观的
- 内置的type()函数可以用来查询变量所指的对象类型。
表示如下:
a,b,c,d,=20,5.5,Ture,4+3j
print(type(a),type(b),type(c),type(d))
<class 'int'><class 'float'><class 'bool'><class 'complex'>
还可以用isintance来判断:
a= 111
isinstance(a,int);
True
isinstance和type 的区别在于:
class A:
pass
class B(A):
pass
isinstance(A(),A) #returns(回复) true
type(A())==A #returns(回复) true
isinstance(B(),A) #returns(回复) true
type(B())==A #returns(回复) false
区别就是:
- type()不会认为子类是一种父类;类型。
- isinstance()会认为子类是一种父类类型。
注意: 在Python2中是没有布尔类型(bool)的,它用数字0表示false,用1表示true。在Python3 中,把true和false定义成关键字,它们的值还是1 和0,它们可以和数字相加。
当你指定一个值时,Number对象就会被创建:
var1=1
var2=10
也可以通过使用del语句删除一些对象的引用。
del的语句是:
del var1[,var2[......,varN]]
使用del语句删除单个或多个对象:
del var
del var_a,var_b
- 数值运算
数值运算分为:加,减,乘,除,取余;
4+4 #加法
8
5-3 #减法
2
4*3 #乘法
12
2/4 #除法 ,得到一个浮点数
0.5
2//4 #除法 ,得到一个整数
0
17%3 #取余
2
2**5 #乘方
32
- 注意:
- 1,python可以为多个变量赋值,如a,b=1,2.
- 2,一个变量可以通过赋值指向不同类型的对象。
- 3,数值的除法(/)总是返回浮点数,要获取整数使用(//)操作符。
- 4,在数值混合计算时,python会把整型转换成为浮点数。
- string(字符串)
python中的字符串用单引号(')或者双引号("")括起来,同时使用反斜杠(\)转移特殊字符。
字符串的截取的语法格式如下:变量[头小标:尾下标]
索引值以(0)为开始值,(-1)为末尾的开始位置。
加号(+)是字符串的连接符,星号(*)表示复制当前字符串,紧跟的数字为复制的次数。
实例如下:
#/usr/bin/python03
str ='runoob'
print (str) #输出字符串
print (str[0:-1]) #输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符窜两次
print (str + "YUONH") # 连接字符串
执行以上代码会输出一下结果:
runoob
runoo
r
noo
noob
runoobrunoob
runoobYUONH
Python使用反斜杠(\)转义特殊字符,如果不想反斜杠发生转义,可以在字符窜前面加一个r,表示原始字符窜:
print('nihao\denghao')
nihao
denghao
print(r,'nihao\denghao')
nihaodenghao
反斜杠(\)还可以作为续行符,表示下一行和上一行的延续。
("""...""" 或者 '''...''' )三个双引号或者三个单引号可以用来作用字符窜跨越多行,
注意:Python中没有单独的字符类型,一个字符就是长度为 1 的字符串。
word ='python'
print(word[0],word[4])
p o
print(word[-1],word[-6])
n p
python字符串不能被改变。 向一个索引位置赋值,比如Word[0]='m' 会导致错误。
- 注意:
- 1,反斜杠(\)可以用来转义,使用 r 可以让反斜杠不发生转义、
- 2,字符串可以用(+)运算符连接在一起。用(*)运算符重复。
- 3,Python中的字符串有两种索引方式,从左往右以(0)开始,从右往左以(-1)开始。
- 4,Python中的字符串不能被改变。
Python中的数据类型转换
需要对数据内置的类型进行转换,数据类型的转换,只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数将返回一个新的对象,表示转换的值:
- int(x,[base]), 将X转换为一个整数
- float(x), 将X转换为一个浮点数
- complex(real,[imag]), 创建一个复数
- str(x), 将对象X转换为字符串
- repr(x), 将对象转换为表达式字符串
- eval(str), 用来计算在字符串中的有效Python表达式,并返回一个对象
- tuple(s) 将序列s转换为一个元组
- list(s), 将序列s转换为一个列表
- set(s), 转换为可变集合
- frozenset(s), 转换为不可变集合
- dict(d), 创建一个字典。d 必须是一个序列(key,value)元组
- chr(x), 将一个整数转换为一个字符
- ord(x), 将一个字符转换为他的整数值
- hex(x), 将一个整数转换为一个十六进制字符串
- oct(x), 将一个整数转换为一个八进制字符串
笔记:
在llist的使用中,开始很容易忽视这一点:
list = ['asdf',123,2.23,'runoob',30.2]
print (list[1:3]);#从第二个开始输出到第三个元素
list[1:3]其实是输出的只有两个变量,即list中的第二个元素到第三个元素,并不是第1第2第3三个元素。
要注意的是:
print (list[2]);
print (list[2:3])
这个两句话打印的内容是一样的:
2.23
[2.23]
但是第二句话中有中括号。