今日内容概要
文件内光标的移动实战演习
计算机硬盘存取数据的原理
文件内容修改
函数简介
函数的语法结构
函数的定义与调用
今日内容详细
文件内光标移动案列(了解)
import time
with open (r'a.txt' , 'rb' ) as f:
f.seek(0 ,2 )
while Thzh
line = f,readline()
if len (line) == 0 :
time.sleep(0.5 )
else :
print (line.decode('utf8' ),end= '' )
计算机硬盘修改数据的愿意(了解)
硬盘写数据可以看成是在键盘上刻字 一旦需要修改中间内容 则需重新刻字
因为刻过的字不可能从中间再分开
硬盘删除数据的原理
不是直接删除而是改变状态 等待后续数据的覆盖才会被真正删除
文件内容修改(了解)
修改文件内容的方式1 :覆盖写
with open (r'a.txt' , 'r' , encodin='utf8' ) as f:
data = f.read()
with open (r'a.txt' , 'w' , encoding='utf8' ) as f1:
f1.write(data.replace('jason' ,'tony' ))
修改文件内容的方式2 :换地写
'''先在另外一个地方写入内容 然后将源文件删除 将新文件命名成源文件'''
import os
with open ('a.txt' , 'r' , encoding='utf8' ) as read_f, \
open ('.a.txt.swap' , 'w' , encoding='utf-8' ) as write_f:
for line in read_f:
write_f.write(line.replace('tony' ,'kevinSB' ))
os.remove('a.txt' )
os.rename('.a.txt.swap' , 'a.txt' )
函数前戏
name_list = ['jason' , 'kevin' , 'oscar' , 'jerry' ]
print (len (name_list))
'''突然无法使用len'''
count = 0
for i in name_list:
count += 1
print (count)
'''统计列表内数据值个数的代码需要在很多地方使用'''
"""
循环
相同的代码在相同的位置反复执行
函数
相同的代码在不同的位置反复执行
ps:相同的代码不是真正一模一样而是可以通过传入的数据不同而做不出不同的改变
"""
def my_len ():
count = 0
for i in name_list:
count += 1
print (count)
my_len()
"""
函数相当于是工具(具有一定功能)
不用函数
修理工需要修理器件要用锤子 原地打造 每次用完就扔掉 下次用继续原地打造
用函数
修理工提前准备好工具 什么时候想要就什么时候拿出来使用
"""
函数的语法结构
def 函数名 (参数 ):
'''函数注释'''
函数体代码
return 返回值
1. def
定义函数的关键字
2. 函数名
命名等同于变量名
3. 参数
可有可无 主要是在使用函数的时候规定要不要外界传数据进来
4. 函数注释
类似于工具说明书
5. 函数体代码
是整个函数的核心 主要取决于程序员的编写
6. return
使用函数之后可以返回给使用者的数据 可有可无
函数的定义与调用
1. 函数在定义阶段只检测语法 不执行代码
def func ():
pass
2. 函数在调用阶段才会执行函数体代码
func()
3. 函数必须先定义后调用
4. 函数定义使用关键字def 函数调用使用>>>:函数名加括号
如果有参数则需要在括号内按照相应的规则传递参数
函数的分类
1. 空函数
函数体代码为空 使用的pass 或者...补全的
空函数主要用于项目前期的功能框架搭建
def register ():
'''注册功能'''
pass
2. 无参函数
定义函数的时候括号内没有参数
def index ():
print ('from index function' )
3. 有参函数
定义函数的时候括号内写参数 调用函数的时候括号内传参数
def func (a ):
print (a)
函数的返回值
1. 什么是返回值
调用函数之后返回给调用者的结果
2. 如何获取返回值
变量名 赋值符号 函数的调用
res = func()
3. 函数返回值的多种情况
3.1 .函数体代码中没有return 关键字 默认返回None
3.2 .函数体代码有return 如果后面没有写任何东西还是返回None
3.3 .函数体代码有return 后面写什么就返回什么
3.4 .函数体代码有return 并且后面有多个数据值 则自动组织成元组返回
3.5 .函数体代码遇到return 会立刻结束
函数的参数
形式参数
在函数定义阶段括号内填写的参数 简称'形参'
实际参数
在函数调用阶段括号内填写的参数 简称'实参'
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"""
形参与实参的关系
形参类似于变量名 在函数定义阶段可以随便写 最好见名知意
def register(name,pwd):
pass
实参类似于数据值 在函数调用阶段与形参临时绑定 函数运行结束立刻断开
register('jason',123) 形参name与jason绑定 形参pwd与123绑定
"""
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人