文件光标与函数简介

文件内光标移动

  1. 文件内光标的移动是以bytes为单位移动的,t模式下的read()是以字符移动的

    image-20221009174808283.png

image-20220630155328960

image-20221009175204467.png

image-20220630160250594

  1. 文件内指针的移动不一定都是有读写操作被动的出发,可以通过移动的方法对其指定的移动.seek(offset(光标移动的字节数,whence(模式控制))

image-20221009175542826.png

image-20220630162412437

image-20221009175635276.png

计算机硬盘修改数据的原理

硬盘写数据可以看成是在硬盘上刻字 一旦需要修改中间内容 则需要重新刻字
因为刻过的字不可能从中间再分开
硬盘删除数据的原理
	表示中间删除而是改变状态 等待后续数据的覆盖才会被真正删除

文件内容修改

image-20221009175903453.png

image-20221009175932513.png

image-20221009180033908.png

image-20221009180052587.png

函数的基本概念

函数也叫功能,它是对数据与代码的封装,实现了代码的复用。
当我们在pycharm中写代码时,假如先写了一个功能的代码,我们可以右键进行运行;如果我们又写了一个功能代码,点击运行时,两个功能代码都会运行,这时就可以把各个功能的代码块进行封装起来,写成函数。下次想用哪个功能就调哪个函数。

函数的语法结构

  1. def

    ​ 是定义函数的关键字

  2. 函数名

    ​ 与变量名的命名一致,尽量做到见名知意

  3. 括号

    ​ 在定义函数的时候函数名后面必须跟括号

  4. 参数

    ​ 定义函数括号内可以写参数(个数不固定)也可以不写参数

    ​ 用于接收外界传递给函数体代码

  5. 函数注释

    ​ 类似于说明书 用于接受函数的主题功能和具体用法

  6. 函数体代码

    ​ 整个函数最核心的区域(逻辑代码)

  7. return

    ​ 控制函数的返回值

    ​ 调用函数之后返回值如何理解

    ​ 使用函数之后也没有相应的反馈

    函数的定义与调用

    1.定义函数的代码必须要在调用函数的代码之前先运行即可

    func()
    def func()
    	print('我是一个函数')
    

    img

    2.定义函数使用def关键字

    ​ 调用函数使用函数名加括号(可能需要添加额外的参数)

    3.函数在定义阶段只检测函数体代码语法 不执行函数体代码

    ​ 只有在调用阶段才会真正的执行函数体代码

    def func():
        fcvhjfjhfyku
        cghfuyfkuy
        uyfruykrf
    

img

4.函数名到底是什么东西

函数名绑定的是一块内存地址 里面存放了函数体代码

要想运行改代码 就需要调用函数>>>:函数名加括号

5.函数名加括号执行优先级最高(定义阶段除外)

def func()
	print('函数名')
func

img

函数的分类

  1. 内置函数

    解释器提前帮你定义好的函数 用户可以直接调用 len()

    内置函数可以直接调用

    但是数据类型的内置方法(函数)必须使用数据2类型点的方式才可以调用

    相当于是数据类型独有的一些内置方法

  2. 自定义函数

    1.空函数

    函数体代码使用pass顶替暂时没有任何功能

    主要用于前期的项目搭建 提示主要功能

img

2.无参函数

​ 函数定义阶段括号内没有填写参数,无参函数直接函数名加括号调用

def func()
		print('无参函数')
func()

img

3.有参函数

​ 函数定义阶段括号内填写参数,有参函数调用需要函数名加括号并且给数据值

def func(a, b):
    print('无参函数')
    
func(1, 2)

img

函数的返回值

返回值接受调用函数之后产生的结果 可有可无 获取函数返回值的方法是固定的

变量名=函数() 有则获取 没有则默认接收None

1.函数体代码没有return关键字:默认返回None
def func()
	print('from func')
res = func()
print(res)

img

2.函数体代码有return关键字:后面不写 也返回None
def func()
	print('from func')
    return
res = func()
print(res)

img

3.函数体代码有return关键字:return后面写什么就返回什么(如果数据数据值则直接返回 如果是变量则需要找到对应的数据值返回)
def func()
	print('from func')
    return 123
res = func()
print(res)

img

def func()
	print('from func')
    name = 'zhang'
    return name
res = func()
print(res)

img

4.函数体代码有return关键字:并且后面写了多个数据值(名字)逗号隔开:默认情况下会自动组织成元组返回
def func()
	return 1, 2, 3, 4
res = func()
print(res)

img

def func()
	return [1, 2, 3, 4]
res = func()
print(res)

img

def funs()
	return [1, 2, 3],{'name':'zhang'},123
res = funs()
print(res)

img

5.函数体代码遇到return关键字会立刻结束函数体代码的运行
def func():
    print('我在上面')
    return 123
	print('我在下面')
func()q

img

函数的参数

参数有两大类

1.形式参数:函数在定义阶段括号内填写的参数简称为'形参'

img

2.实际参数:函数在调用阶段括号内填写的参数简称为'实参'

img

形参与实参关系
	形参相当于是变量名
	实参相当于是数据值
在函数调用阶段形参临时与实参进行绑定 函数雨运行结束立刻解除
动态绑定 动态解除

img

posted @ 2022-10-09 21:08  吴仁耀  阅读(63)  评论(0)    收藏  举报