2019.7.30,今天天气不错,不太热,小风嗖嗖的,前几天早上上衣都得湿一次,今天难得的干爽。经过一天的学习对当天的学习内容做了如下总结。
一、数据类型基础
数据类型就是不同种类的变量值用不同的数据类型来描述
1.1 数字类型
整型(int)
-
定义方式:int()
age=18 # age=int(18) print(type(age)) print(age)
<class 'int'>
18 -
作用:例如表示人的年龄、号码、级别等的整数
-
使用方法:可以加减乘除、逻辑判断(大于、小于)
浮点型(fioat)
-
定义方式:float()
salary=2.3 # salary=float(2.3) print(type(salary)) print(salary)
<class 'float'>
2.3 -
作用:例如表示身高、体重、薪资等的数值
-
使用方法:可以加减乘除、逻辑判断(大于、小于)
1.2 字符串类型(str)
-
定义方式:str()
字符串就是一串被串起来的字符,在单引号、双引号或三引号内包裹的一串字符。需要注意的是:三引号内的字符可以换行,而单双引号内的字符不行
name1='zyl' name2="cx" print(id(name1)) print(type(name1)) print(name1)
2693201174912
<class 'str'>
zylname3="""zyl egon""" print(name3)
zyl
egon -
作用:例如表示名字、爱好
-
使用方法:字符串只能用+,*和逻辑比较,字符串的拼接,即重新申请一个小空间把两个字符串都拷贝一份后再拼接,而不是你YY的把一个小空间内的变量值复制到另一个变量的小空间内,然后拼接
注意:如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同
字符串的乘法只能乘以数字
字符串的比较是字母的顺序
1.3 列表类型(list)
-
定义方式:在[ ]内用逗号分隔开任意类型的值
hobby='read' hobby_list=[hobby,'run','girl'] print(type(hobby_list)) print(hobby_list)
<class 'list'>
['read', 'run', 'girl'] -
作用:存放多个值
-
使用方法:列表索引取值序号从0开始
hobby_list=['read','run','girl'] # 索引序号 0 1 2 print(hobby_list[1] ) # 取出第二个爱好
run
hobby_list=['read','run',['girl_name',18,'shanghai']] print(hobby_list[2][1]) # 取出girl的年龄
18
1.4 字典类型(dict)
-
定义方式:
在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型
user_info={'name':'zyl','gender':'male','age':18, 'company_info':['oldboy','shanghai',40]} print(id(user_info)) print(type(user_info)) print(user_info)
2178070637592
<class 'dict'>
{'name': 'zyl', 'gender': 'male', 'age': 18, 'company_info': ['oldboy', 'shanghai', 40]} -
作用:用来存取多个值,按照key:value的方式存值,取值的时候通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典
-
使用方法:字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值
# 字典套列表 user_info={'name':'zyl','gender':'male','age':18, 'company_info':['oldboy','shanghai',40]} print(user_info['name']) print(user_info['company_info'][0])
zyl
oldboy# 字典套字典 user_info={'name':'zyl','gender':'male','age':18, 'company_info':{'c_name':'oldboy','c_addr':'shanghai','c_num_of_employee':40}} print(user_info['name']) print(user_info['company_info']['c_name'])
zyl
oldboy
1.5 布尔类型(bool)
-
定义方式:
True、False通常情况不会直接引用,需要使用逻辑运算得到结果
-
作用:用于判断条件结果
-
使用方法:
print(type(True)) print(True)
<class 'bool'>
Trueprint(bool(0)) print(bool('nick')) print(bool(1 > 2)) print(bool(1 == 1))
False
True
False
True
注意:python中所有数据类型的值都自带布尔值。如此多的数据类型中只有0、None、空、False的布尔值为False,其余的都为True。
print(bool(0))
print(bool(None))
print(bool(''))
print(bool([]))
print(bool({}))
print(bool(False))
False
False
False
False
False
False
二、解压缩
-
解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来
name_list=['yujin','xuchu','dianwei','xiahoudun'] x,y,z,a=name_list print(f'x:{x}, y:{y}, z:{z}, a:{a}')
x:yujin, y:xuchu, z:dianwei, a:xiahoudun
-
有时候我们解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线
lis=[1,2,3] x1,_,x3=lis # 不需要2,_表示不需要,约定俗成的 print(x1) print(x3)
1
3lis=[1,2,3] _, _, x3 = lis # 只要第三个元素 print(x3)
3
lis=[1,2,3,4,5,6,7] x1,x2,*_,x3=lis # *_ 会把前面所有的都省略掉,都不要 print(x1) print(x2) print(x3) print(_)
1
2
7
[3, 4, 5, 6] -
python追求的是简洁性,代码不要写的太长了。因此用字典类型解压缩也是可以的,但是字典解压缩得到的是key。
info = {'name': 'nick', 'age': 18} x, y = info print(x, y)
name age
三、Python与用户交互
计算机的发明是为了奴役计算机,解放劳动力.写了一个程序系统来取代人类,那就需要这个程序能与人交互
如何交互
# 用户名和密码的交互
username_db='zyl'
pwd_db='123'
username=input('请输入你的用户名:') # input让用户输入,与用户交互
pwd=input('请输入你的密码:')
if username == username_db and pwd == pwd_db:
print('登陆成功')
else:
print('登陆失败')
请输入你的用户名:zyl
请输入你的密码:123
登陆成功
注意:无论我们输入的值是数字类型、字符串类型、列表类型,input的接收值都是字符串类型