2019-7-01 python基础数据类型
一、python的注释
python的注释分类:
单行注释: # 单行注释
多行注释:(可以是三个单也可以是三个双)
'''
单三引号多行注释
'''
"""
双三引号多行注释
"""
在字符串中也有三引号,和注释的区别在于,字符串要用变量名赋值
name = '''
my name is old boy
'''
二、与用户交互(输出、输入)
输入:
1.在python3中的输入 input()
获取用户输入的全部统一存成字符串类型
2.在python2中 raw_input()
将用户输入的任何内容都存成字符串类型
input()
需要人为的告诉input()你输入的是什么类型数据
总结:用户输入的统一都是字符串形式
输出:格式化输出(%s与%d)
#占位符 %s %d name = 'old boy' age = 18 print('my name is %s my age is %d' %(name,age)) #my name is old boy my age is 18 #如果age和name换一个位置 print('my name is %s my age is %s' %(age,name)) #my name is 18 my age is old boy
总结:1.个数必须一致不能多也不能少
2.%d只能给数字占用,%s可以给任意数据类型占用
三、数据类型
什么是数据:衡量、记录事物的状态、特征
什么是类型:不同的数据应该有不同的类型来储存
这节课讲了:int/float/str/list/dict/bool
整型int
#1、整型:int #作用:记录年龄,号码等数字 #定义: age =20 #int内部定义是 age = int(20) print(age) #使用场景:加减乘除
浮点型 float
#2.浮点型:float #作用:记录身高、体重、薪资等小数 #定义: salary =3.1 #salary = float(3.1) print(salary) #使用场景:加减乘除
为了记忆方便我们把上面的两个叫数字类型(这个只是我们的叫法,实际上没有这样的类型)
除了以上两种还有:复数、长整型
这两个在cmd中演示:
复数:complex
长整型:只有python2中才有这种!!!
字符串 str
#3.字符串:str #作用:记录描述性质的数据,比如人名,自我介绍等文字介绍 #定义:引号可以是单引号,双引号,三引号 #第一种 单引号 s1 = '我的名字是old boy' print(type(s1)) #str #第二种 双引号 s2 ="我是字符串" print(type(s2)) #str #第三种 三引号(可以是单的也可以是双的) s3 = ''' 我是很多行的字符串 ''' s4 = """ 我是字符串 """ print(type(s3)) print(type(s4))
总结:之所以会有三种方式定义,是考虑到用户在输入的时候引号嵌套的情况
比如这种情况: speak = '老男孩说:"你真厉害" ' ,像这个在单引号中里面还有引号,就不能和外层用一样的,这个就要用双引号
ps:
1.字符串之间是可以相加的(相加就是字符串的拼接,但是不同数据类型之间不能相加)
2.字符串相加是新申请一块内存空间如何拷贝相加的字符串到内存中
3.字符串还可以做乘法运算 print('hello' * 10) #打印出十个hello
列表类型 list
#作用:记录、存储多个值,可以方便取出来,比如人的多个爱好,一堆学生姓名 #定义:用[]表示,用逗号分隔多个任意类型的值 l=[1,2,'name',[1,2,3]] 使用: students_info=[ ['egon',18,['play',]], ['alex',18,['play','sleep']] ] 取出第二个同学的第二个爱好 print(students_info[1][2][1])
总结:在列表中如果想取元素值,通过下标访问就可以
字典类型 dict
#作用:记录多个key:value值,每一个值value都有一个对应的key,key对value有描述性的功能 #定义:在{}内用逗号分隔开多个key:value元素,其中value可以是任意类型的数据,而key通常应该是字符串类型 info = {'name':'old boy','age':20,'sex':'male'} print(type(info)) #取出info的name print(info['name']) #为什么要用字典,因为字典能够明确的标示数据指代的是哪方面的信息
总结:
1.字典是无序性的,不能用索引来取值
2.字典的key是唯一的,所以key只能是不可变数据类型(例如:str/int)
3.列表与字典存取数据选择:当存取的是相同的一类数据可以用列表,当存储的数据需要明确一一对应关系用字典
布尔类型 bool
#作用:用来作为判断的条件去用 #定义: tag = True tag1 = False print(1>2) #False x = 10 y = 20 print(x == y) #单个等号是赋值,两个等号是比较 print(x is y) #比较的是两个变量对应的id
总结:id相等的情况下,值一定相等
id不相等的情况下,值有可能相等
四、基本运算符 (算数运算、比较运算、赋值运算、逻辑运算。。。)
#1.算数运算 res=1 + 3 print(res) print(1 + 3) print(10 / 3) #结果保留小数部分 print(10 // 3) # 只保留整数部分 print(10 % 3) # 取余数 print(2**3) #2的三次方 # 2.比较运算:== != > < >= <= # 了解知识: # 数字之间可以互相比较大小 print(10 > 3) print(10 > 3.1) # 而字符串只能与字符串比较大小(按照对应位置的字符参考ASCII表去比较的) msg1='hello' msg2='z' print(msg1 > msg2) #按照第一个字母的ASCII的大小比较 #字符串的数字作对比
print('10' == '10') #True print('20'>'3') #False #字符串数字比大小也是从第一位数开始比数字大小,大的就大
#3. 赋值运算 age = 18 # 增量赋值 age += 1 #age=age+1 print(age) # 链式赋值 x=100 y=x z=x x=z=y=100 print(id(x),id(y),id(z)) # 交叉赋值 m=1000 n=2000 方法一: a = m m = n n = a 方法二: n,m=m,n print(m,n) #解压赋值 l = [1,2,3,4] a1 = l[0] a2 = l[1] a3 = l[2] a4 = l[3] #上面是一种获取到列表值的一种方法,还可以用下面这种方法,但是变量的个数和元素的个数要相等 a1,a2,a3,a4 = l a1,_,_,a4 = l #只获取a1和a4的值 l = [1,2,3,4,5,6,7,3,2,5,2,4,5] #当这个列表的元素很多,我们就不好用_来设置,用下面这种方法 a1,*_,a4 = l #只取第一个和最后一个的值,其他都放在一个列表当中
逻辑运算: 与、或、非 (and/or/not)
print (1>0 and 3>4) #False #and两边必须同时成立 结果才成立
print( 1 > 0 or 1 > 0 and 3 > 4) # or只要有一边成立 立即成立 后面的无需再看
print(not 1 > 3) # 结果取反