2019.07.07数据分析基础班学习笔记
本周是从7.01~7.06,总的6天的学习时间,
首先晒一下这密密麻麻的笔记和课后题,心里还是有点小成就感的,感慨这一周的时间总算没白费.
下面就是边看笔记边整理学习的内容查缺补漏了.
笔记(7.01)PYTHON学习day06_
第六天学习的内容为高级变量:字典和字符串
字典:增删改查
字符串:查询,常用操作,切片
1.字典的定义:
字典的定义2.然后记住下面一张图和一张表:
3.字符串的定义:
4.然后记住下面一张图:
5.字符串的常用操作:
5.字符串的切片:
(7.02~05)PYTHON学习day07_10
第七到第十天的学习内容:函数
day07_:函数定义和调用,函数的参数,函数的返回值,函数的嵌套
day08_:模块/列表推导式/匿名函数
day09_:全局/局部变量,函数的返回值,函数的各类参数
day10_:编写学生管理系统
函数比较难记忆的的点主要是day08_中的列表推导式和匿名函数,day_9_的可变参数
1.列表推导式
所谓的列表推导式,就是指的轻量级循环创建列表
基本的方式
a=[x for x in range(4)]
b=[x for x in range(1,7)]
c=[x for x in range(1,7,2)]
print(a)
print(b)
print(c)
输出结果:
[0, 1, 2, 3] [1, 2, 3, 4, 5, 6] [1, 3, 5]
2. 在循环的过程中使用if
a=[x for x in range(1,7) if x%2==0]
b=[x for x in range(1,7) if x%2!=0]
c=[x for x in range(1,7,2)]
print(a)
print(b)
print(c)
输出结果:
[2, 4, 6] [1, 3, 5] [1, 3, 5]
3. 2个for循环
d=[(x,y) for x in range(1,4) for y in range(3,5)]
输出结果:
[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]
2.匿名函数
lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
lambda函数的语法只包含一个语句,如下:
# lambda 参数1,参数2,...:表达式(返回值)
lambda [arg1 [,arg2,.....argn]]:expression
如下实例:
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print("Value of total : %s" % sum( 10, 20 ))
print("Value of total : %s" % sum( 20, 20 ))
以上实例输出结果:
Value of total : 30
Value of total : 40
Lambda函数能接收任何数量的参数但只能返回一个表达式的值
匿名函数不能直接调用print,因为lambda需要一个表达式
# 定义一个函数
def fun(a, b, opt):
print("a = %s" % a)
print("b = %s" % b)
print("result =%s" % opt(a, b))
# 调用函数
fun(1, 2, lambda x,y:x+y)
输出结果:
a = 1
b = 2
result = 3
作为内置函数的参数
3.可变参数
可变参数
需求: 参数数量不确定,能否接收?
args(元组可变参数)
函数可以定义 可变参数,用于接收任意数量的参数
可变参数的前边需要添加*,用于提示python解释器该参数为可变参数
使用可变参数直接用args即可(不需要加*)
可变参数的本质是 将传递的参数包装成了元组
# 元组可变参数
def func4(a, b, *args):
sum = a + b
for arg in args:
sum += arg
print(sum)
func4(4,7, 8, 8, 8, 9)
输出结果:
44
kwargs
可变参数还有一种形式 可以接收不存在的关键字参数
定义参数时需要在变量名前添加两个*
这种可变参数会将 不存在的关键字参数包装成字典
# 字典可变参数
def func5(a, b, *args, **kwargs):
print(a)
print(b)
print(args)
print(kwargs)
func5(5,6,7,8,10,k=5,h=88)
输出结果:
5
6
(7, 8, 10)
{'k': 5, 'h': 88}
(7.06)PYTHON学习day11_
第十一天的学习内容:文件的操作
文件的打开关闭/写入读取追加/文件的备份
文件的备份(此案例包括了读写,逐行读写,备份的所有内容)
# 创建gailun.txt文件
# 打开文件在gailun.txt中写入"德玛西亚!人在塔在!"
# 将输入的数据格式化输出到终端上
# 在文件夹中创建gailun副本.txt文件
# 将gailun.txt文件中的数据写入gailun副本.txt文件中
# 打开文件,查看文件中是否有内容
createfile= open("gailun.txt", "w")
createfile.write("德玛西亚!人在塔在!")
createfile.close()
oldfilename= input("请输入要备份的文件名:")
fileflagnum= oldfilename.rfind(".")
if fileflagnum> 0:
fileflag= oldfilename[fileflagnum:]
newfilename= oldfilename[:fileflagnum] + "副本" + fileflag
oldfile= open(oldfilename, "rb")
newfile= open(newfilename, "wb")
content= oldfile.readlines()
for line_contentin content:
newfile.write(line_content)
oldfile.close()
newfile.close()