一、多行注释和单行注释
""" 多行注释 多行注释 多行注释 """ # 单行注释 # print('hello world') # print('hello world')
二、输入与输出
1、接收用户输入 name = input('请输入你的用户名: ') print(name) 2、格式化输出 name = input('username>>> ') age = input('age>>> ') print('my name is xxx my age is xxx') print('my name is '+ name +' my age is ' + age) print('my name is %s my age is %s' %(name, age)) %d 只能接收数字 print('my age is %d' %10) print('my age is %d' %'aaaa') print('my age is %d' %10.1) print('my age is %s' %'aaa') print('my age is %s' %10) print('my age is %s' %['a', 1]) 了解的知识: 在python3中只有一个input:input会将用户输入的任何内容都存成字符串类型 x=input('>>>>: ') x='[1, 2, 3]' print(x,type(x)) 在python2中有两种接收用户输入的机制 raw_input:等同于python3的input input:要求输入者必须输入的一个明确的数据类型,输入什么类型就存成什么类型
三、基本数据类型(*****)
为何区分数据类型:
数据类型值的是变量值的类型,变量值之所区分类型,是因为变量值是用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用同类型的值去记录它们。
1、数字类型
整形int
①作用:记录年龄、等级、数量
②定义:age=18
③使用:数学运算和比较运算
print(10>3) print(10/3) print(10+3)
浮点型fioat
①作用:记录薪资、体重、身高
②定义:salary=2.1
③使用:数学运算和比较运算
print(3.1 + 2.1) print(3.1 > 2.1) print(3.1 > 2)
2、字符串类型str
①作用:记录描述性质的状态
②定义:在单引号、双引号、三引号中包含一系列的字符。name=‘egon’
③使用:
msg='my name is "egon"'print(msg)
+ 拼接字符串
x = 'hello' y = 'world' print(x+y)
注意:字符串只能和字符串相加
3、列表类型list
①作用:按照位置记录多个值(索引对应值,索引从0开始,代表的就是位置),并且可以取出指定位置的某一个值
②定义:在[]内用逗号分隔开多个任意类型的值
l=[100, 3.2, 'aaa', ['a', 'b', ['d', 'e']]] print(type(l))
③使用:
l=[100, 3.2, 'aaa', ['a', 'b', ['d', 'e']]] print(l[0]) print(l[1]) print(l[2]) print(l[3][0]) print(l[3][1]) print(l[3][3][0])
students_info=[['egon', 18, ['play']], ['alex', 18, ['play', 'sleep']]] 取出第一个学生的第一个爱好 解答: 步骤一 print(students_info[0]) 步骤二 print(student_info[0][2]) 步骤三 print(student_info[0][2][0]) 结果为:print(student_info[0][2][0])
4、字典类型dict
①作用:记录多个不同属性的值
②定义:在{}内用逗号分开个多个元素,每一个元素都由key:value组成。value就是我们存放的值,可以是任意类型。一个key唯一对应一个value,key应该对value有描述性的功能,所以key通常是str类型。
dic={'name':'egon', 'age':18, 'gender':'male'} print(type(dic))
③使用:
print(dic['name']) print(dic['age'])
emp_info=['egon', 18, 10, 'male', 1.81] 取出性别 解答: 步骤一:print(emp_info[0]) 步骤二:print(emp_info[1]) 步骤三:print(emp_info[2]) 步骤四:print(emp_info[3]) 结果为:print(emp_info[3]) info=['egon', 18, 'male'] print(info[0]) print(info[1]) print(info[2]) info={'name':'egon', 'age':18, 'gender':'male'}
列表类型和字典类型的比较:
相同点:都可以存多个值
不同点:列表是索引对应值,索引代表的是顺序,位置,所以列表是有序的
字典是key:value对应值。key对值有描述性质的功能,所以字典是无序的
5、布尔类型bool:True、False
①作用:用于判断
②定义:
x=True y=False print(type(x)) print(type(y)) print(10 > 11) print(10 == 10) 强调:所有的数值都自带布尔值,其中0、None、空布尔值为False,其余都为True
③使用:
if []: print('ok') else: print('error')
四、运算符类型(*****)
1、算数运算符
print(10 / 3) print(10 // 3) print(10 % 3) print(10 ** 2)
2、比较运算符
print(10 == 10) print(10 != 10) print(10 > 3) print(10 < 3) print(10 >= 10) print('egon' == 'egon') 了解的知识: x='abcdef' y='abcz' print(x > y) l1=[2, 'abc', 3] l2=[2, '3'] print(l2 > l1)
3、赋值运算符
①增量赋值
age = 18 age += 1 print(age) age -=1 print(age)
②交叉赋值
x = 11 y = 22 x, y = y, x print(x, y) # 22 11
③链式赋值
x = y = z = 100 print(x, y, z) # 100 100 100
④解压赋值
# 等号左边的变量名必须与右面所包含的值一一对应 l = ['a', 'b', 'c', 'd', 'e'] x, y, z, m, n = l print(x, y, z, m, n) # a b c d e x, y, *_, z = l print(x, y, z) # a b e l = ['a', 'b', 'c', 'd', 'e'] x, y, *_ = l print(_) # ['c', 'd', 'e']
4、逻辑运算符
and:逻辑与,用来连接左右两个条件,在左右两个条件同时为True的情况下,最终结果才为True print(10 < 3 and 3 == 3) print(10 > 3 and 3 == 3 and 1 == 1 and 1 > 0) or:逻辑或,用来连接左右两个条件,左右两个条件但凡有一个为True,最终结果就为True print(10 < 3 or 1 == 1) print(10 < 3 or 1 == 1 or 10 < 11 or 1!= 1 or 'a' != 'a') not:取反 print(not 10 > 3) res=(10 > 3 and 'egon' != 'egon') or ((1 < 3 and 4 >= 3) or (not 8 > 3)) print(res)
5、身份运算符
①==:判断的是值是否相等
②is:判断的是id是否相等
①值相等,id可以不同 >>> x='info:egon:18:male' >>> y='info:egon:18:male' >>> id(x),id(y) (2924120923496, 2924120923568) >>> x == y True >>> x is y False # 在内存里申请一个空间把'info:egon:18:male放进去,绑定给变量名x。 # 然后又在内存里申请了一个新的空间把info:egon:18:male放进去,绑定给变量名y # id是变量名在内存空间的唯一标识。很显然,两个id不同 ②id相同,值一定相同 >>> x=10 >>> x=y >>> id(x) 2924120923568 >>> id(y) 2924120923568 >>> >>> x is y True >>> x == y True # 在内存里申请一个空间把10放进去,绑定给变量名x。 # 然后又在内存里把10这个值绑定给变量名y # id是变量名在内存空间的唯一标识。很显然,x,y是同一个地址 # 它们的id就相同,所以他们的值也是相同的。