Python数据类型

Python数据类型

基本数据类型

什么是数据?为何要有多种类型的数据?
数据即变量的值,如:age=1818则是我们保存的数据。
变量是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识。

数字类型

整型浮点型统称为数字类型

int整型

用于标识:年龄,等级,身份证号,QQ号,个数

1
2
3
# int(整型)
32位机器上,整数的位数为32位,取值范围为-2**312**31-1,即 -21474836482147483647
64位系统上,整数的位数为64位,取值范围为-2**632**63-1,即 -92233720368547758089223372036854775807
1
2
3
4
5
6
7
8
9
10
# long(长整型)
跟C语言不同,Python 的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意:自从 Python2.2 起,如果整数发生溢出,Python 会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母 L 也不会导致严重后果了。
注意:在 Python3 里不再有 long 类型了,全都是int
>>> a= 2**64
>>> type(a) # type()是查看数据类型的方法
<type 'long'>
>>> b = 2**60
>>> type(b)
<type 'int'>
1
2
3
4
5
6
# complex复数型
>>> x=1-2j
>>> x.imag
-2.0
>>> x.real
1.0

定义

1
2
3
4
5
6
7
8
9
10
11
# int整型
age=10 # age=int(10)

print(id(age))
9462848

print(type(age))
int

print(age)
10

float浮点型

用于标识:工资,身高,体重
定义

1
2
3
4
5
6
7
8
9
10
salary=3.1  # salary=float(3.1)

print(id(salary))
140185593323832

print(type(salary))
float

print(salary)
3.1

str字符串

在 Python 中,加了引号的字符就是字符串类型,Python 并没有字符类型
用于标识:描述性的内容,如姓名,性别,国籍,种族
定义

1
name='zhangsan'  # name=str('zhangsan')

单引号、双引号、多引号有什么区别?
单双引号没有任何区别,只有下面这种情况,需要考虑单双的配合

1
2
3
4
5
6
7
8
9
10
msg = "My name is zhangsan, I'm 18 years old!"

# 多引号什么作用?作用就是多行字符串必须用多引号
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)

字符串拼接(只能在字符串之间进行,且只能相加或相乘)
数字可以进行加减乘除等运算,字符串呢?也能,但只能进行”相加”和”相乘”运算。

1
2
3
4
5
6
>>> name='zhangsan'
>>> age='18'
>>> name+age # 相加其实就是简单拼接
'zhangsan18'
>>> name*5
'zhangsanzhangsanzhangsanzhangsanzhangsan'

注意1:字符串相加的效率不高
字符串1+字符串3,并不会在字符串1的基础上加字符串2,而是申请一个全新的内存空间存入字符串1字符串3,相当于字符串1字符串3的空间被复制了一次。
注意2:只能字符串加字符串,不能字符串加其他类型

---------------- The End ----------------
0%