文件内指针的移动
指针移动总共有三种模式
''' f.seek(3,0) f.seek(offset,whence) whence: 0:默认的模式,该模式代表指针移动的字节数是以文件开头为参照的(支持tb模式) 1:该模式代表指针移动的字节数是以当前所在的位置为参照的(只用于字节模式) 2:该模式代表指针移动的字节数是以文件末尾的位置为参照的(只用于字节模式) ''' with open('a.txt','rb') as f: f.seek(3,0) # 指针位置从开头开始,移动3个字节位置开始往后读完 print(f.read()) # 读取内容为空 f.seek(-3,1) # 负数代表往相反的方向移动 print(f.tell()) # 查看光标现在移动的位置 print(f.read())
文件的修改
with open('a.txt', 'r', encoding='utf8') as f: data = f.read() res = data.replace('kevin','tank') print(res) with open('a.txt', 'w', encoding='utf8') as f: f.write(res)
函数简介
def my_len(): n = 0 for i in l: n += 1 print(n) print(my_len()) # None:返回值 ''' 1. 我们现在写的代码都不够简洁,说白了就是需要写重复的代码(解决了) 2. 我们现在写的代码兼容性不强(目前解决不了) 函数简介: 函数就类似于一个工具(功能) 函数就是提前定义好的一个功能,以后想要,就调用函数使用 '''
函数的语法结构
def my_len(a,b): '''函数注释''' print(123) return ''' 1. def 定义函数的关键字(不能省略) 2. my_len 函数名,不能省略,必须写 函数名的命名遵循变量的命名 3. def my_len(参数1,参数2) 参数是可有可无的 参数就是在执行函数的时候要提前满足的条件 4. 函数注释 可有可无,一般情况下函数注释是用来介绍函数的功能、参数代表的意思,以及返回值的情况等信息 5. 函数体 函数体也是可有可无的,但是,没有函数体的函数没有意义的,pass 6. 函数的返回值 关键字:return 返回值也是可有可无的,一个函数只能有一个return返回值 '''
函数的定义与调用
1. 函数必须先定义后调用
2.函数在定义阶段只检测语法错误,不执行函数体代码
3. 只有在函数调用阶段,才会执行函数体代码
4. 如何调用函数:
函数名加括号,如果有参数,在调用的时候也要把参数一块传过去。
函数在定义阶段和调用阶段的底层原理
1. 在内存空间中申请一块地址,来存储函数体代码
2. 把函数体代码所在的空间绑定给函数名
3. 通过调用函数来执行函数体代码
函数的分类
1. 内置函数
python揭示其自带的函数,可以直接拿来使用
eg:len、print、之前学的数据类型的内置方法
本质上方法也是函数:
函数单独使用就叫函数
面向对象,把函数写在面向对象里面就叫方法。
2. 自定义函数
# 无参函数 # 没有参数的函数,括号里面没有参数的函数 def index(): pass # 有参函数 # 有参数的函数就叫有参函数,括号里面有参数的函数 def index(a, b): print(a + b) index(1,2) # 空函数 # 就是没有函数体的代码,空函数可以帮助我们梳理代码思路 # eg: def register(): pass def login(): pass
函数的返回值
def index(a,b): print('hellow') if a > b: return'123' else: return'345' # 返回值的关键字是return ''' 1. 函数内如果没有return关键字,那么,函数的返回结果就是None 2. 函数类如果只有return关键字,那么,函数的返回结果仍然是None 3. 函数内有了return关键字,return后面写什么就返回什么东西,谁调用,返回结果就给谁。 4. 函数内遇到了return关键字就直接返回结果,或者叫函数终止运行 5. 一个函数只能有一个return结果 6. return后面也可以返回多个值,如果使用逗号隔开,那就以元组的形式返回,也可以直接返回列表、字典等类型 '''
标签:return,函数,python,基础,参数,day11,print,返回值,def From: https://www.cnblogs.com/zfq132/p/17431451.html