day3-数据类型

数据类型

9.0 什么是数据?为何要有多种类型的数据?

#数据本质就是把事物通过量化的方式表现出来,事物是多种多样的,所以需要通过他们包含的相同特征进行分类,从而方便人们的辨识和统计。
#数据即变量的值,如age=18,18则是我们保存的数据。
#变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识

9.1 数字类型

int整数型

1.作用:
年龄,等级,身份证号,qq号,个数
2.定义:
age = 18 print(type(age)) 
<class'int'>
float浮点型

1.作用:
工资,身高,体重,
2.定义:
salary=3.1 #salary=float(3.1)
height = 70.5
print(type(height)) 
<class'float'>
其他数据类型(了解部分)

9.2 字符串

1.作用
表示描述性的内容,如姓名,性别,国籍,种族
2.定义 
name = "Ryan" 
type(name) <class'str'>
3.注意事项
#在python中,加了引号的字符就是字符串类型,python并没有字符类型。
单引号,双引号,三引号的区别
字符串拼接(只能在字符串之间进行,且只能相加或相乘)

9.3 列表

1.作用
存储多个值的情况,比如一个人有多个爱好
2.定义
hobby_list = ['invest','ai']
print(type(hobby_list))
<calss'list'>
print(hobby_list)
['invest','ai'] print(hobby_list[0]) ps #print(hobby_list[0])其中在变量hobby_list = ['invest','ai']中“ps”以及"ai"从左往右依次为0,1 #如果定义是变量如下 aa = [1,2,3,[4,5]] #可以将上述函数看成 aa = [1, 2, 3, [4, 5]]
对应2       0 1
对应1 0 1 2 3

#要打印变量中的5 print(aa[3][1]) 5
 
  列表嵌套、取值
列表嵌套、取值

9.4 字典

1.作用
用于存储多个字,也可以用key很快的检索到value,其中key以及value不能为没有意义的变量名

2.定义
ywy_dict = {
    'name':'ywy',
    'age':18,
    'hobby':['ps','ai'] } print(type(ywy_dict)) <class 'dict'> #打印名字 print(ywy_dict["name"]) #答应爱好中的PS print(ywy_dict['hobby'][0]) #关于这个函数 ywy_dict = { 'name':'ywy', #'name' 'age':18, #'age' 'hobby':['ps','ai'] # 0 1 }
扫描二维码关注公众号,回复: 6697910 查看本文章
#为何还要用字典?
存放一个人的信息:姓名,性别,年龄,很明显是多个值,既然是存多个值,我们完全可以基于刚刚学习的列表去存放,如下
>>> info=['egon','male',18]
定义列表的目的不单单是为了存,还要考虑取值,如果我想取出这个人的年龄,可以用
>>> info[2]
18
但这是基于我们已经知道在第3个位置存放的是年龄的前提下,我们才知道索引2对应的是年龄
即:#name, sex, age
info=['egon','male',18]
而这完全只是一种假设,并没有真正意义上规定第三个位置存放的是年龄,于是我们需要寻求一种,即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,比如key=value,这就用到了字典
#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型
定义:info={'name':'egon','age':18,'sex':18} #info=dict({'name':'egon','age':18,'sex':18})
用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
字典相关的嵌套、取值

  布尔

#布尔值,一个True一个False
#计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运行与逻辑运算,此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识
>>> a=3
>>> b=5
>>> 
>>> a > b #不成立就是False,即假
False
>>> 
>>> a < b #成立就是True, 即真
True

接下来就可以根据条件结果来干不同的事情了:
if a > b 
   print(a is bigger than b )

else 
   print(a is smaller than b )
上面是伪代码,但意味着, 计算机已经可以像人脑一样根据判断结果不同,来执行不同的动作。 

  布尔类型的重点知识!!!:

#所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真 

  重点

#1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典

#2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间) 

 

 # 十 格式化输出

  程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式

  比如要求用户输入用户名和年龄,然后打印如下格式:

  My name is xxx,my age is xxx.

  很明显,用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,无法放到指定的xxx位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接。

  这就用到了占位符,如:%s、%d

#%s字符串占位符:可以接收字符串,也可接收数字
print('My name is %s,my age is %s' %('egon',18))
#%d数字占位符:只能接收数字
print('My name is %s,my age is %d' %('egon',18))
print('My name is %s,my age is %d' %('egon','18')) #报错

#接收用户输入,打印成指定格式
name=input('your name: ')
age=input('your age: ') #用户输入18,会存成字符串18,无法传给%d

print('My name is %s,my age is %s' %(name,age))

#注意:
#print('My name is %s,my age is %d' %(name,age)) #age为字符串类型,无法传给%d,所以会报错 
小练习

猜你喜欢

转载自www.cnblogs.com/Ryan-Yuan/p/11117288.html