首先,我们需要了解到什么是数据?
数据就是我们需要的信息取出来,那不存怎么取呢?所以我们先要学习的是怎么存数据
,既然要存数据,我们不能把所有的数据存成一样的格式,我们做文件的时候,还得有word,excel,ppt…
1.数据类型
数字(整形,长整型,浮点型,复数)
字符串
列表
元组
集合
字典
1.1 数字(整型和浮点型)
整形int
作用:年龄 身份证号 等和整数相关的
定义:
age=18
浮点型float
作用:薪资, 身高,体重参数等浮点数相关的
salary=3000.3
1.2 字符串
作用:名字,性别,地址等
定义:在单引号、双引号(三引号)内,由一串字符串组成
name=“jack”
内置函数(掌握):
按索引取值
字符串的切片
计算长度(len)
成员运算(in not in)
移除空白(strip)
切分(split)
循环
str= 'hello world youyong and youyongit '
# python默认带索引的,索引值都是从0开始
print(str[0])
# 字符串可以直接切片取值[起始索引位置:结束索引位置:步长]
print(str[1:15:2])
# len(str) 直接可以看到这个字符串到底有多长
print(len(str))
# 判断字符串是否在后面的字符串里面存在
print(’hello‘ in str)
print(‘hello‘ not in str)
# 把字符串左右两边的空格删除(一般在输入的时候使用)
print(str.strip())
# 把字符串切开,按照空格切(不包含空格)
print(str.split(' '))
# 可以循环依次取出字符串的字母
for i in str:
print(i)
注意:字符串有很多中内置函数,这里只罗列了一点常用的,下面的联系题不仅可以参考以上方式,还可以百度一下其他的方式哦!
练习题:
# 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
name = " Jack "
# 1) 移除 name 变量对应的值两边的空格,并输出处理结果
# 2) 判断 name 变量对应的值是否以 "Ja" 开头,并输出结果
# 3) 判断 name 变量对应的值是否以 "k" 结尾,并输出结果
# 4) 将 name 变量对应的值中的 “k” 替换为 “p”,并输出结果
# 5) 将 name 变量对应的值根据 “a” 分割,并输出结果。
# 6) 将 name 变量对应的值变大写,并输出结果
# 7) 将 name 变量对应的值变小写,并输出结果
# 8) 请输出 name 变量对应的值的第 2 个字符?
# 9) 请输出 name 变量对应的值的前 3 个字符?
# 10) 请输出 name 变量对应的值的后 2 个字符?
# 11) 请输出 name 变量对应的值中 “c” 所在索引位置?
# 12) 获取子序列,去掉最后一个字符。如: name 则获取 nam。
1.3 列表
作用:多个类似的东西放在一起,比如:对个乒乓球,多个学生,多个帽子,多个女朋友等
定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friend = [‘lily’,‘Alice’,‘Sunny’]
内置函数(掌握):
按索引存取值
切片
长度
成员运算
追加写
删除
循环
l = [1,2,3,4,5,6]
# 正向步长(顾头不顾尾)
print(l[0:3:1])
# 反向步长
print(l[2::-1])
# 列表翻转
print(l[::-1])
print(len(l))
# 成员运算in和not in 与字符串的用法一致
l.append(7)
print(l)
# 列表的删除
l.pop()
print(l)
# 列表的循环,结果是每一个元素,不是元素李曼的值
for i in l:
print(i)
1.4 元组
元组和列表类似,唯一不同的是,列表可变,元组不可变
可以把列表的用法放在元组这里(不过只能查看,不能增删改操作)
1.5 字典
作用:存在多个值键值对存放,key-value存取,取值速度快
定义:key必须是不可变类型,value可以是任意类型
info = {“name”:“jack”,“age”:18,“sex”:“male”}
内置函数(可掌握):
按key存取值:可存可取
长度len
成员运算in和not in
删除值
循环 keys() values() 键值对items()
info = {"name":"jack","age":18,"sex":"male"}
# 字典的取值(存在的值)
print(info["name"])
# 字典取不存在的值然后直接赋值,就相当于给字典增加值
info['heigh']=175
# 判断字典的键值对的长度
print(len(info))
# 判断值是否在字典中(key值)
print('name' in info)
# 删除字典里面的值
del info['name']
# 循环取出字典里面的value
for i in info.values():
print(i)
# 循环取出字典里面的key值
for i in info.keys():
print(i)
# 循环取出字典里面的键值对
for i in info.items():
print(i)
1.6 集合
作用:去重 关系运算
定义:用{}包裹,可以包含多个元素,用逗号分割
集合的元素遵循三个原则:
1,每个元素必须是不可变类型
2,没有重复的元素
3,无序(数字有序,其他无序)
需要掌握的几个内置方法:
|合集
&交集
-差集
^对称差集
父集:>,>=
子集:<,<=
有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={'jack','lily','xiaoming','xiaozhang','gangdan'}
linuxs={'xiaowu','xiaonan','gangdan'}
1. 求出即报名python又报名linux课程的学员名字集合
2. 求出所有报名的学生名字集合
3. 求出只报名python课程的学员名字
4. 求出没有同时这两门课程的学员名字集合
# 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={'jack','lily','xiaoming','xiaozhang','gangdan'}
linuxs={'xiaowu','xiaonan','gangdan'}
# 求出即报名python又报名linux课程的学员名字集合
print(pythons & linuxs)
# 求出所有报名的学生名字集合
print(pythons | linuxs)
# 求出只报名python课程的学员名字
print(pythons - linuxs)
# 求出没有同时这两门课程的学员名字集合
print(pythons ^ linuxs)