day---03 基础的数据类型
注释
单行注释
井号 #
# name = ‘xzl’ 在代码后直接添加注释时候与代码之间空两格写 # 注释
多行注释
三对单引号,或者、三队双引号
'''
多行注释
'''
"""
多行注释
"""
与用户交互
1.什么是和用户交互
就是用户在项计算机发送了一些指令之后,计算机所反馈给用户的信息
2.为什么程序和用户之间要交互
为了让计算机之间也可以向用户一样进行交流
3.怎么用
在python3 中:input会将用户输入的所有信息都存成字符串类型
在python2 中:
1 input 用户输入的是什么类型的数据,input就输出什么类型的数据,所以在python2中要求使用input要求用户输入一个明确的数据类型
>>> x=input("输入:") 输入:egon Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'egon' is not defined >>> name = input("输入:") 输入:'james' >>> name,type(name) ('james', <type 'str'>) >>> num = input('输入:') 输入:[1,2,3] >>> num,type(num) ([1, 2, 3], <type 'list'>)
2 raw_input 会将用户输入的所有所有种类的数据类型都保存为字符串类型,和python3中的input用法一样
>>> name = raw_input("输入:") 输入:james >>> name,type(name) ('james', <type 'str'>) >>> age = raw_input("输入:") 输入:22 >>> age,type(age) ('22', <type 'str'>) >>> table = raw_input("输入:") 输入:[1,2,3,4] >>> table,type(table) ('[1,2,3,4]', <type 'str'>)
ps:python2的raw_input 等于 python3中input
格式化输出
什么是格式化输出???
简单的来说就是使自己的打印或者输出的结果按照一定的格式来输出来
%s 和 %d
区别
%s:可以接受所有数据类型的值
%d:只能接受数字类型
print('Hello,nice to me you!!!') name = input('please input your username:') # 输入自己的名字 age = input('please input your age:') # 输入自己的年龄 print('My name is %s'%name,',My age is %s'%age,',nice to me you too!!!')
数据类型
数据:记录事物的状态
类型:不同的数据则需要不同的方式方法去记录,所以也就需要不同的类型,例如整型,浮点型。
整型int
整型:int
作用:用于记录的QQ号,年龄,电话号码
定义:
输入 age = 22 print(age) print(type(age)) 输出 22 <class 'int'> 本质 age = int(18)
ps:在python2中 整形数据长于一定长度是被称为长整型 仅在python2才有 。。。 了解
浮点型flaot
浮点型:float
作用:用来记录薪资,身高,体重,
定义:
输入: salary = 12345.67 height = 185.5 weight = 98.7 print(salary,'元') print(height,'cm') print(weight,'kg') print(type(salary)) print(type(height)) print(type(weight)) 输出: 12345.67 元 185.5 cm 98.7 kg <class 'float'> <class 'float'> <class 'float'> 本质 salary = 12345.67 # salary = float(12345.67) height = 185.5 # height = float(185.5) weight = 98.7 # weight = float(98.7)
整型和浮点型统称为数字类型
字符串str
字符串类型:str
作用:用于记录名字,性别,地址,个人资料,介绍等
定义:在单,双,三引号之内按照从做到有的包含的所有字符, 这里注意一下 三引号在引号前没有变量名的时候不是注释
#单引号 name = 'kobe' print(name) print(type(name)) #双引号 hobby = "basketball and study" print(hobby) print(type(hobby)) #三引号 home = '''碧桂园1527''' print(home) print(type(home))
字符串之间的拼接
msg1 = 'Lakers,' msg2 = "It's an NBA team" print(msg1 + msg2) 这里由于英语语法中有' 所有注意引号之间的套用
重点:
1 字符串之间是可以进行拼接的,但是注意一下,不同的数据类型不可以进行相加
2 字符串之间相加的效率不高,因为要再相加之前要申请新的内存空间然后在拷贝到新空间
3 字符串可以相乘
msg = 'dsb ' msg1 = msg*10 print(msg1) # 华丽分隔符 msg = '=' msg1 = msg * 50 print(msg1)
列表类型list
列表:list 列表是有序的
作用:记录多个数据,最好是同种属性的,比如班级内所有同学的名字,或者大家的所有爱好
定义:在[]记录,每个数据之间用逗号隔开,值可以是任意类型,但是要符合数据类型的规格
info = ['小明',200,200,20000] print(info) print(type(info))
列表的取值:按照索引取值。
索引:就是数据的位置,从左往右依次是0,1,2,3……根据自己数据进行取值
info = ['小明',200,200,20000] msg = info[2] print(msg) # 这样取出info列表中第三个数据 200
字典dict
字典:dict 字典是无序的 所以字典不能使用列表的索引取值
作用:可以记录多个数据的值,而且可以不同种类型,因为字典中的键值对,每一个value都对应为一个key值,所以字典取value找到相应的key就可以了
定义:在{}内,用逗号隔开的其中的key:value key value中间用冒号隔开表示一组数据。key通常是字符串类型,value可以是任意数据类型
info = { 'name': '小明', 'age': 25, 'height': 200, 'weight': 200, 'hobby': 'dbj', 'company': { 'company_name':'oldwomen', 'salary':88888, 'addr':'BJ' } } print(info) 字典的话就可以很好的体现出数字的含义,在之前的list中两个200不知道其含义,但是字典就可以很明确的知道是身高体重,小明有点圆润啊!!!
布尔值bool
布尔值:bool
作用:用来判断条件对错
定义:
a = 10 b = 20 print(a > b) False age = 18 print(age == 19) = 赋值符号 == 就是数学的等于 所以age = 18 是 18 的id赋予给age这个空间 但是age == 19 此处19为一个值 是判断18等于19吗 显然不是所以会输出False 所以总结一句话 id相等,值一定相等, id不相等,值不一定不相等 a = 260 print(id(a)) b = 260 print(id(b) 38570864 38570864 a,b的值相等,但是id不同 (-5 -- 256 小整数池)
s = 1 y = 1 print(s is y) is 用来判断布尔值
基本运算符
算术运算
a = 6 b = 3 print(a+b) # 9 print(a-b) # 3 print(a*b) # 18 print(a/b) # 2.0 print(a%b) # 结果取余 0 print(a**b) # 幂 6的2次方 216 print(a//b) # 结果取整 2
比较运算
a = 6 b = 3 print(a == b) # 等于 False print(a != b) # 不等于 True print(a > b) # 大于 True print(a < b) # 小于 False print(a >= b) # 大于等于 True print(a <= b) # 小于等于 False
赋值运算
age = 18 age += 1 # age = age + 1 print(age) #19
交叉赋值
# 方法1 a = 100 b = 200 o = a a = b b = o print(b) # 100 # 方法2 a = 100 b = 200 a,b=b,a print(a,b) # 200 100
链式赋值
# 方法1 a=10 b=10 c=10 print(a,b,c) #10 10 10 #方法2 a = b = c = 10 print(a,b,c) # 10 10 10
解压赋值 左边的变量名一定要和列表内的元素数量一致 否则报错
# 方法1 L=[1,2,3,4,5] a = L[0] b = L[1] c = L[2] d = L[3] e = L[4] print(a,b,c,d,e) # 1 2 3 4 5 # 方法2 L = [1,2,3,4,5] a,b,c,d,e = L print(a,b,c,d,e) # 1 2 3 4 5
逻辑运算
与:and 所有条件都是正确的 返回True 有一个不正确 就返回False
或:or 所有条件中只要有一条条件是正确的,就返回True 全错,则返回False
非:not 判断原来的结果之后将结果取反
and a = 10 print(a>0 and a!=9) # True print(a>0 and a!=9 and a is str) # False or a = 10 print(a>0 or a!=9 and a is str) # True not print(not 1 > 3) print(not (1 > 3 or 2 > 4 or 'x' == 'y' or 1==1))