整体课程安排
1、Python基础
- 基础数据类型
- 流程控制:条件判断和各种循环
- 函数
- 面向对象和模块
- 网络编程
- 并发编程
2、什么叫文件处理:从内存——硬盘的过程叫文件处理的过程
3、什么叫数据库:存储数据和信息,本质上和文件没有区别,增删改查相对文件更加方便了
4、前端:html、css
5、框架:django
6、操作系统,Linux基础
复习文件处理
1、打开文件
- open(‘文件路径’,‘操作方式’,‘编码方式’):
2、操作文件
- 读 read
- 写write
- 光标seek、tell、truncate(截取文件)
3、关闭文件
- close
4、修改文件:文件是不能修改的,可以将操作后的文件写到另一个文件,再重命名到原文件名
with open('wj_txt',encoding='utf-8',mode='r') as f1, open('wj_txt.bak',encoding='utf-8',mode='w') as f2: for line in f1: if '王静' in line: line = line.replace('王静','王静修改后') f2.write(line) #删除文件 和重命名文件 import os os.remove('wj_txt') #删除文件 os.rename('wj_txt.bak','wj_txt') #重命名文件
一、初始函数、返回值、参数
1、函数定义了之后,可以在任何需要它的地方调用。函数的作用:可读性强,复用性强
调用函数之前,需要先定义函数。因此,必须将函数写到上方,再将调用函数的代码写在下方
- 内置函数:len等,自定义函数:自己定义的函数
- 自定义函数
2、自定义函数的结构(遇到return就结束函数,return可以返回多个值,return可有可无,参数可有可无)
- def 函数名(参数): #定义函数
- 函数体
- return 返回值
3、返回值个数
- 没有返回值:不写return/只写return/return None
- 一个返回值:return一个变量。接收返回值:接收变量名 = 函数名(参数)
- 多个返回值:接收函数返回值,可以用一个变量接收多个返回值,此时得到一个元组,也可以用相同个数的变量接收多个返回值,原因是因为元组可以解包,即a,d,c = (1,2,3)----元组、列表、字典均可以解包
4、形式参数(形参)--暂时不知道需要的参数类型,在函数定义的时候用到
- 位置参数:对应实参必须传的参数。定义函数的时候,则直接写参数名
- 默认参数:对应实参可以不传实参的参数,又叫关键字参数,如果不传实参,就使用默认值。定义函数的时候,则写:参数名 = 默认值
def classmate(name,sex = '男'): print('{}:{}'.format(name,sex)) classmate('王静','女') classmate('汪晓')
- 动态参数:
-
- *参数名(习惯为:*args),可以接收任意多个按照位置传参的参数,对应的参数是 元组的类型
- **参数名(习惯为:**kwargs),可以接收任意多个按照关键字传参的参数,对应的参数是 字典的类型
- 动态参数的传参方式1----
def func(*args,**kwargs): print(args,kwargs) func(1,2,3,l = [1,2,3],a = (1,2,3))
- 动态参数的传参方式2----
def func(*args,**kwargs): #站在形参的角度上,给参数加*就是将传过来的所有值组合成元组,加**就是将传过来的键值组合成字典 print(args,kwargs) l = [1,2,3,4,5] dic = {'wangjing':18,'wangxiao':20} func(*l,**dic) #站在实参的角度上,给序列加*就是将序列按照顺序打散,加**就是将字典按照关键字的顺序打散
- 定义函数的时候,必须先定义 位置参数,再定义 关键字参数。总体顺序为:位置参数--*args--关键字参数--**kwargs
5、实际参数(实参)--已知参数,在函数调用的时候用到
- 调用函数的时候,如果按照位置传参,则直接写参数的值
- 调用函数的时候,如果按照关键字传参,则写:关键字 = 值
- 在调用的时候,不管对应的形参是位置参数还是默认参数,都可以 按照位置传参 或者 按照 关键字传参
6、参数个数
- 没有参数:定义参数和调用参数的括号中均为空
- 一个参数:形参的类型需要和实参类型一致
- 多个参数:在形参参数的角度上,位置参数必须有对应的实参,对应形参和实参的类型需要一致
- 在实参的角度上,按照位置传参,调用的时候 第n个参数传给第n个形参,此时叫 位置参数
- 在实参的角度上,按照关键字传参,调用的时候 按照形参=实参的形式传参
- 以上二者可以混用,但是要注意先按照位置传参,在按照关键字传参
- 不能给同一个变量传多个值
- 在形参的角度上,位置参数必须传
7、函数的注释
- def fuc():
- '''
- 这个函数实现了什么功能
- 参数1、2、3、4.。。是什么作用和数据类型
- 返回值是什么
- '''
- pass
8、默认参数的陷阱
- 如果默认参数的值是一个可变数据类型,那么每一次调用函数的时候,如果不传值,就共用这个数据类型的资源
def qqxing(k,l = {}): # l.append(1) l[k] = 'v' print(l) qqxing(1) #{1: 'v'} qqxing(2) #{1: 'v', 2: 'v'} qqxing(3) #{1: 'v', 2: 'v', 3: 'v'} qqxing(1) #{1: 'v', 2: 'v', 3: 'v'} qqxing(1) #{1: 'v', 2: 'v', 3: 'v'}
二、考试试题讲解
1、这个以后有空的时候再看吧~~~