#:单行注释
“”“ ”“”:多行注释
为什么数据要区分类型?
数据类型值是变量值的类型,变量值之所以区分类型,是因为变量值是用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用不同类型的值去记录它们。
有哪些数据类型呢?
1、数字类型
1.1、整型int
作用:记录年龄、等级、数量等。
定义:age=18 #age=int(18)
使用:数字运算与比较运算
print(10 / 3)
print(10 > 3)
1.2、浮点型float
作用:记录身高、薪资、体重等
定义:salary = 3.2 #salary = float(3.2)
使用:数学运算与比较运算
print(3.2 + 2)
print(3.2 > 2)
2、字符串类型str
作用:记录描述性质的状态。
定义:在单引号/双引号/三引号中包含一系列字符 。name = 'chen'
使用:info = "hello python"
print(info)
"+":拼接字符串 注意:字符串只能与字符串相加。
"*":打印多个字符串
3、列表类型list
作用:按照位置记录多个同种属性的值(索引对应值,索引从0开始,代表的就是位置),并且可以取出指定位置的某一个值。
定义:在[ ]内用逗号分隔开多个任意类型的值。
使用:students_info = ['chen',18,'male']
print(students_info[0])
4、字典dict
作用:记录多个不同属性的值。
定义:在{ }内用逗号分隔开多个元素,每一个元素都由key:value组成,value就是我们存放的值,可以是任意类型,一个key唯一对应一个value,key应该对value由描述性的功能,所以key通常是str类型。
使用:dic = {'name':'chen','age':18,'gender':'male'}
print(dic['name'])
print(type(dic))
注意:字典和列表可以相互之间交叉使用。
5、布尔类型bool True、False
作用:用于判断。
定义:x = True
y = False
使用:print(type(x),type(y))
强调:所有的数值都自带布尔值,其中0、None、空 布尔值为False,其余都为True。(空 可以为空列表、空字符串、空字典)
if [ ]:
print('OK')
else:
print('no OK')
1、接收用户输入
name = input('请输入你的用户名:')
print(name)
2、格式化输出
print('my name is ' + name + 'my age is ' + age)
age = int(input('请输入你的年龄:'))
print('my name is %s my age is %d'%(name,age))
%d:只能接收数字
%s:可以接收数字,也可以接收字符串
了解:在python3中只有一个input,input会将用户输入的任何内容都存成字符串类型;
在Python2中有两种接收用户输入的机制:
raw_input:等同于python3中的input
input:要求输入者必须输入一个明确的数据类型,输入什么类型就存成什么类型。
1、算数运算符 +、-、*、/、//、%、**
/:正常的除法
//:取整数
%:取余数
2、比较运算符 ==、!=、>、<、>=、<=
字符串之间可以比大小,但字符串不能和数字比大小;列表之间也可以比大小,但对应项要属于同一类型。
3、赋值运算符
3.1、增量赋值 +=、-=、*=、/=、//=、%=、**=
3.2、交叉赋值
x = 11
y = 12
temp = x
x = y
y = temp
上面三行代码可以直接写成:
x,y = y,x
3.3、链式赋值
x = 10
y = x
z = y
上面三行代码可写成:
x = y = z = 10
3.4、解压赋值
l = ['a','b','c','d','e']
x,y,z,m,n = l
等号左边的变量名必须与右边所包含的值一一对应,多一个少一个都不行。
强调:解压赋值同样适用于元组,字典,集合,对于字典解压的是key值,而对于集合来说,因为集合是无序的,所以解压集合赋值后的每个值是随机的,没有顺序。
注意:*的用法,它可以省略掉中间的值
x,y,*_ = l
x,y,*z = l #与上面相同
x,y, _ , _ , _ = l
x,y,*_,z = l
4、逻辑运算符 and、or、not
and:逻辑与,用来连接左右两个条件,在左右两个条件同时为True的情况下,最终结果才为True。
or:逻辑或,用来连接左右两个条件,左右两个条件但凡有一个为True,最终结果就为True。
and、or从左到右依次运算,当满足条件后后面的就不要再比较了
not:取反。
强调:and、or、not的优先级不一样,最好是用( )来区分优先级
5、身份运算符
==:判断的是值是否相等。
is:判断的是id是否相等。
注意:值相等,id可以不等;id相等,值一定相等。
了解:小整数池(目的是用空间换时间)