Python-基本数据类型

一、数字类型

1.整型int

作用:记录年龄、身份证号、个数等等整数数据。

定义:

age = 18
print(type(age))  # int

2.浮点型float

作用:记录视力、身高、体重等有小数的数据。

定义:

height = 1.75
print(type(height))  # float

二、字符串类型

作用:记录描述性质的状态,如名字、一段话。

定义:用引号(’’,"",’’’ ‘’’,""" “”",)包含的一串字符

info = '''当时明月在,曾照彩云归。'''
print(type(info))  # str
name = "JL"
print(type(name))  # str

x=18
print(type(x))  # int
x='18' # 由数字组成的字符串,是字符串类型,不是int类型
print(type(x))  # str
'name'='JL'
# 语法错误,等号左边是变量名,变量名的命名不能有引号
hello  # xxx  报错  代表访问变量名字,没有指向的值
'hello'  # 'xxx'  不报错  代表的是值,没有被指向的变量名

其他使用:

# 字符串的嵌套,注意:外层用单引号,内层应该用双引号,反之亦然
print("my name is 'JL'")
print('my name is \'JL\'')
# 反斜杠转义,将后面的单引号当做普通字符看待,让其不具有语法意义
# 字符串之间可以相加,但仅限于str与str之间进行,
# 代表字符串的拼接,了解即可,不推荐使用,因为str之间的相加效率极低
print('my name is '+'JL')
print('='*20)
print('hello world')
print('='*20)

三、列表类型

作用:按位置记录多个值(同一个人的多个爱好、同一个班级的所有同学姓名等),并且可以按照索引取指定位置的值。

索引对应值,索引从0开始,0代表第一个。

索引反映的是顺序、位置,对值没有描述性的功能。

定义:在[ ]内用逗号分隔开多个任意类型的值,一个值称之为一个元素

l = [10, 3.1, 'aaa', ['bbb', 'ccc'], 'ddd']
print(l)        # [10, 3.1, 'aaa', ['bbb', 'ccc'], 'ddd']
print(type(l))  # list
print(l[1])     # 3.1
print(l[2])     # aaa

print(l[3][1])  # ccc 嵌套列表取值
print(l[4])     # ddd
print(l[-1])    # ddd 取列表最后一个元素

其他的用途:

students_info=[
	['tony',18,['jack']],
	['jason',18,['play','sleep']]
]

# 取出第一个学生的第一个爱好
print(students_info[0][2])     # ['jack']
print(students_info[0][2][0])  # jack

四、字典类型

作用:用来存多个值,每个值都有唯一一个key与其对应,key对值有描述性功能。

key对应值,其中key通常为字符串类型,所以key对值可以有描述性的功能。

定义:在{ }内用逗号分开各多个 key : value

d={'a': 1,'b': 2}
print(type(d))  # dict
print(d['a'])  # 1
info={
	"name":'JL',
	"age":19,
	"gender":'male',
	"HP":100
}

print(info["salary"])  # 100

其他用途:

# 字典嵌套取值
students_info={
    "massage":{"name":'张三','age':19,'gender':'male'},
    "hobbies":{"first":"eat","second":"paly"}
}

print(students_info['massage']["name"])  # 张三
print(students_info['hobbies']["first"])  # eat
# 字典列表嵌套取值
students_info1=[
  {"name":'张三','age':19,'gender':'male'},
  {"name":'李四','age':20,'gender':'male'},
  {"name":'王五','age':21,'gender':'male'},
]

print(students_info1[1]['gender'])  # male

students_info2=[
  {"massage":['tony',18,['play',"eat"]],'gender':'male'},
]

print(students_info2[0]['massage'][2][1])  # eat
print(students_info2[0]['gender'])  # male

PS:列表有序,字典无序

五、布尔类型

作用:用来记录真假这两种状态

is_ok = True
is_ok = False
print(type(is_ok))  # bool

x = 3 < 2
y = 3 == 2
z = 3 > 2
print(x,y,z)
# False False True
print(type(x),type(y),type(z))
# bool bool bool

通常用来当作判断的条件,我们通常在在if判断中用到它。

PS:

# 不一定非要用male/female表示性别,只要是表达两种状态即可。不要为了编程而编程,而忘记了“表现状态”这种编程思想。

students=[
    {'name':'张三','gender':'male'},
    {'name':'李四','gender':'female'},
]
students=[
    {'name':'张三','gender':True},
    {'name':'李四','gender':False},
]
students=[
    {'name':'张三','gender':1},
    {'name':'李四','gender':0},
]

总结:如何选择合适的类型来记录状态

1、选取的类型是否可以明确标识事物的状态。

2、存不是目的,存的目的是为了日后取出来用,并且方便的用。

3、把自己想象成一台计算机,如果我是计算机,我会如何以何种形式把事物的状态记到脑子里,然后再去python中找相应的数据类型,来让计算机像自己一样去记下事物的状态。