文件内光标移动
-
文件内光标的移动是以bytes为单位移动的,t模式下的read()是以字符移动的
-
文件内指针的移动不一定都是有读写操作被动的出发,可以通过移动的方法对其指定的移动.seek(offset(光标移动的字节数,whence(模式控制))
计算机硬盘修改数据的原理
硬盘写数据可以看成是在硬盘上刻字 一旦需要修改中间内容 则需要重新刻字
因为刻过的字不可能从中间再分开
硬盘删除数据的原理
表示中间删除而是改变状态 等待后续数据的覆盖才会被真正删除
文件内容修改
函数的基本概念
函数也叫功能,它是对数据与代码的封装,实现了代码的复用。
当我们在pycharm中写代码时,假如先写了一个功能的代码,我们可以右键进行运行;如果我们又写了一个功能代码,点击运行时,两个功能代码都会运行,这时就可以把各个功能的代码块进行封装起来,写成函数。下次想用哪个功能就调哪个函数。
函数的语法结构
-
def
是定义函数的关键字
-
函数名
与变量名的命名一致,尽量做到见名知意
-
括号
在定义函数的时候函数名后面必须跟括号
-
参数
定义函数括号内可以写参数(个数不固定)也可以不写参数
用于接收外界传递给函数体代码
-
函数注释
类似于说明书 用于接受函数的主题功能和具体用法
-
函数体代码
整个函数最核心的区域(逻辑代码)
-
return
控制函数的返回值
调用函数之后返回值如何理解
使用函数之后也没有相应的反馈
函数的定义与调用
1.定义函数的代码必须要在调用函数的代码之前先运行即可
func() def func() print('我是一个函数')
2.定义函数使用def关键字
调用函数使用函数名加括号(可能需要添加额外的参数)
3.函数在定义阶段只检测函数体代码语法 不执行函数体代码
只有在调用阶段才会真正的执行函数体代码
def func(): fcvhjfjhfyku cghfuyfkuy uyfruykrf
4.函数名到底是什么东西
函数名绑定的是一块内存地址 里面存放了函数体代码
要想运行改代码 就需要调用函数>>>:函数名加括号
5.函数名加括号执行优先级最高(定义阶段除外)
def func()
print('函数名')
func
函数的分类
-
内置函数
解释器提前帮你定义好的函数 用户可以直接调用 len()
内置函数可以直接调用
但是数据类型的内置方法(函数)必须使用数据2类型点的方式才可以调用
相当于是数据类型独有的一些内置方法
-
自定义函数
1.空函数
函数体代码使用pass顶替暂时没有任何功能
主要用于前期的项目搭建 提示主要功能
2.无参函数
函数定义阶段括号内没有填写参数,无参函数直接函数名加括号调用
def func()
print('无参函数')
func()
3.有参函数
函数定义阶段括号内填写参数,有参函数调用需要函数名加括号并且给数据值
def func(a, b):
print('无参函数')
func(1, 2)
函数的返回值
返回值接受调用函数之后产生的结果 可有可无 获取函数返回值的方法是固定的
变量名=函数() 有则获取 没有则默认接收None
1.函数体代码没有return关键字:默认返回None
def func()
print('from func')
res = func()
print(res)
2.函数体代码有return关键字:后面不写 也返回None
def func()
print('from func')
return
res = func()
print(res)
3.函数体代码有return关键字:return后面写什么就返回什么(如果数据数据值则直接返回 如果是变量则需要找到对应的数据值返回)
def func()
print('from func')
return 123
res = func()
print(res)
def func()
print('from func')
name = 'zhang'
return name
res = func()
print(res)
4.函数体代码有return关键字:并且后面写了多个数据值(名字)逗号隔开:默认情况下会自动组织成元组返回
def func()
return 1, 2, 3, 4
res = func()
print(res)
def func()
return [1, 2, 3, 4]
res = func()
print(res)
def funs()
return [1, 2, 3],{'name':'zhang'},123
res = funs()
print(res)
5.函数体代码遇到return关键字会立刻结束函数体代码的运行
def func():
print('我在上面')
return 123
print('我在下面')
func()q
函数的参数
参数有两大类
1.形式参数:函数在定义阶段括号内填写的参数简称为'形参'
2.实际参数:函数在调用阶段括号内填写的参数简称为'实参'
形参与实参关系
形参相当于是变量名
实参相当于是数据值
在函数调用阶段形参临时与实参进行绑定 函数雨运行结束立刻解除
动态绑定 动态解除