Python数据类型

萝らか妹 提交于 2019-12-04 21:24:13

数据类型分类

1、按存值个数区分

  • 单个值:数字,字符串
  • 多个值(容器):列表,元组,字典,集合

2、按可变不可变区分

  • 可变:列表,字典,集合
  • 不可变:数字,字符串,元组

3、有序无序区分

  • 有序(可按索引取值):字符串,列表,元组
  • 不可变:字典,集合

4、按访问类型区分

  • 直接访问:数字
  • 顺序访问(序列类型):字符串,列表,元组
  • key值访问(映射类型):字典

一、整型(int)

age = 18  # age=int(18)
print(id(age))
print(type(age))
print(age)
4530100848
<class 'int'>
18

二、浮点型(float)

salary = 2.1  # salary=float(2.1)

print(id(salary))
print(type(salary))
print(salary)

4569240656
<class 'float'>
2.1

三、字符串(str)

字符串就是一串被串起来的字符,在单引号、双引号或三引号内包裹的一串字符。

需要注意的是:三引号内的字符可以换行,而单双引号内的字符不行。

name1 = 'nick'
name2 = "egon"
print(id(name1))
print(type(name1))
print(name1)
4418849624
<class 'str'>
nick
name3 = """nick
egon"""

print(name3)
nick
egon

字符串的使用

字符串只能+、* 和 逻辑比较

字符串的拼接,即重新申请一个小空间把两个字符串都拷贝一份后再拼接。而不是你YY的把一个小空间内的变量值复制到另一个变量的小空间内,然后拼接。

如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同。

msg2 = "my name is 'nick'"
msg3 = 'my name is "nick"'

print(msg2 + msg3)  # my name is 'nick'my name is "nick"

字符串的乘法只能乘以数字。

name = 'nick '
print(name * 10)
nick nick nick nick nick nick nick nick nick nick 

字符串比较大小,按照ASCII码比较,以后会细讲。

msg1 = 'hello'
msg2 = 'z'

print(msg1 > msg2) #False

字符串的比较是字母的顺序。

print(msg3 > msg4) # False
print('Z' > 'A') #True
print('Z' > 'a') #False

四、列表(list)

在[]内用逗号分隔开任意类型的值。

hobby_list = [hobby, 'run', 'girl']
print(id(hobby_list))
print(type(hobby_list))
print(hobby_list)
4558605960
<class 'list'>
['read', 'run', 'girl']

列表索引取值的方法,牢记索引序号从0开始。

hobby_list = ['read', 'run', 'girl']
# 索引序号      0       1      2
# 取出第二个爱好
print(hobby_list[1])
run
hobby_list = ['read', 'run', ['girl_name', 18, 'shanghai']]
# 取出girl的年龄
print(hobby_list[2][1])
18

五、字典(dict)

用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。

在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。

user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
             'company_info': ['oldboy', 'shanghai', 50]}

print(id(user_info))
print(type(user_info))
print(user_info)
4396183344
<class 'dict'>
{'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]}

字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值。

# 字典套列表
user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
             'company_info': ['oldboy', 'shanghai', 50]}
print(user_info['name'])
print(user_info['company_info'][0])
nick
oldboy
# 字典套字典
user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': {
    'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}}

print(user_info['name'])
print(user_info['company_info']['c_name'])
nick
oldboy

六、布尔值(bool)

True、False通常情况不会直接引用,需要使用逻辑运算得到结果。

print(type(True))
print(True)
<class 'bool'>
True

注意:Python中所有数据类型的值自带布尔值。如此多的数据类型中只需要记住只有0、None、空、False的布尔值为False,其余的为True。

print(bool(0)) #False
print(bool('nick')) #True
print(bool(1 > 2)) #False
print(bool(1 == 1)) #True
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!