首页 > 其他分享 >函数的初步了解

函数的初步了解

时间:2022-10-09 16:45:02浏览次数:47  
标签:count 文件 函数 代码 初步 了解 txt def

目录

今日内容回顾

  • 文件内光标的移动案例
  • 计算机硬盘修改数据的原理
  • 文件内容修改
  • 函数前戏
  • 函数的语法结构
  • 函数的定义与调用
  • 函数的分类
  • 函数的返回值
  • 函数的参数

今日内容回顾详解

文件内光标移动案例

# 实现动态查看最新一条日志的效果
import time 
with open(r'a.txt', 'rb') as f:
    f.seek(0, 2) # 2模式直接到文件末尾移动0个字节
    while True:
        line = f.readline() #循环读取每一行
        if len(line) == 0: # 判断读取的内容长度为0
            # 没有内容
            time.sleep(0.5) #则缓0.5秒
        else:
            print(line.decode('utf8'), end='') #不然则打印解码读取的内容

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

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

文件内容修改

修改文件内容的方式1:覆盖写
with open(r'a.txt', 'r', encoding='utf8') as f: #读取文件
    data = f.read() #给读取的文件内容赋值给data
 with open(r'a.txt', 'w', encoding='utf8') as f1: #打开文件 写模式
     f1.write(data.replace('jason', 'tony')) #先data的内容替换掉,再写入f1
修改文件内容的方式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: #for循环一行一行读取
         write_f.write(line.replace('tony', 'kevinSB')) #将for循环读取的文件内容替换掉然后写入write_f
os.remove('a.txt')  # 删除a.txt
os.rename('.a.txt.swap', 'a.txt')  # 重命名文件

函数前戏

1.为什么使用函数
name_list = ['jason', 'kevin', 'oscar', 'jerry']
 print(len(name_list)) #假设len不让用
  #使用for  count计数
 count = 0
 for i in name_list:
     count += 1
 print(count)
'''但当统计列表内数据值个数的代码需要在很多地方使用时
也就是相同的代码需要在不同的位置反复执行时,我们可以使用函数'''
代码如下:
def my_len():   #设置一个函数 起个函数名
    count = 0    #函数体代码
    for i in name_list:
        count += 1
    print(count)
my_len()    # 调用函数名就可以使用该函数里的功能
2.函数与循环的区别
循环
    相同的代码在相同的位置反复执行   
函数
    相同的代码在不同的位置反复执行
 ps:相同的代码不是真正一模一样而是可以通过传入的数据不同而做出不同的改变
3.大白话讲解:
函数相当于是工具(具有一定功能)
    不用函数
        修理工需要修理器件要用锤子 原地打造 每次用完就扔掉 下次用继续原地打造
    用函数
        修理工提前准备好工具 什么时候想用就直接拿出来使用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() #先执行func函数 然后将返回值赋值给变量res
3.函数返回值的多种情况
 3.1函数体代码中没有return关键字 默认返回None
 3.2函数体代码有return 如果后面没有写任何东西还是返回None
 3.3函数体代码有return 后面写什么就返回什么
 3.4函数体代码有return并且后面有多个数据值 则自动组织成元组返回
 3.5函数体代码遇到return会立刻结束

函数的参数

1.形式参数
在函数定义阶段括号内填写的参数 简称'形参'
2.实际参数
在函数调用阶段括号内填写的参数  简称'实参'
3.形参和实参的关系
形参类似于变量名 在函数定义阶段可以随便写 做到见名知意即可
def register(name,pwd):
    pass
  
实参类似于数据值 在函数调用阶段与形参临时绑定 函数运行结束立刻断开
register('jason',123)   形参name与jason绑定 形参pwd与123绑定

标签:count,文件,函数,代码,初步,了解,txt,def
From: https://www.cnblogs.com/zjl248/p/16772693.html

相关文章

  • python函数内容
    目录今日内容概要1.函数简介2.函数语法结构3.函数的定义以及调用4.函数的分类5.函数参数(重中之重)6.函数的返回值7.练习题及答案今日内容概要函数简介函数的语法结构函......
  • vue中执行异步函数async和await的用法
    在开发中,可能会遇到两个或多个函数异步执行的情况,对于Vue中函数的异步函数执行做了一个小总结,如下:异步执行使用async和await完成created(){this.init()},metho......
  • TCP与UDP的联系与区别(以及网络字节序与主机字节序的转换函数实践)
    TCP与UDP的联系TCP:是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。UDP:是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把......
  • C++函数的返回值——返回引用类型&非引用类型的区别
    本文参考了C++函数的返回值——返回引用类型&非引用类型要搞清楚这个问题我们必须要先搞清楚return的时候发生了什么?我们有一个类如下(不需要仔细看)12345678910111......
  • 云图说丨带你了解GaussDB(for Redis)双活解决方案
    摘要:GaussDB(forRedis)推出了双活解决方案,基于GaussDBNoSQL统一架构,通过两个数据库实例之间的数据同步,达成数据的一致性。本文分享自华为云社区《【云图说】一张图了解G......
  • IDA——库函数快速识别
    IDA是一个逆向好工具,特别是F5更是为逆向分析节省了大量的时间。但是有时F5出现的伪C代码中的库函数IDA并没有自动识别出来。比如delphi写的程序,MFC程序等待此时可以根据......
  • C++ 实现一个函数,函数完成如下功能: 1.函数的输入为一个数组,数组的成员个数不定(即:可能
    #include<iostream>#include<string>#include<windows.h>usingnamespacestd;boolfind_max_min(inta[],intlen,int*max,int*min){if(len<1)ret......
  • 回调函数
    我们先来看看百度百科是如何定义回调函数的:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的......
  • 回调函数2
    1.什么是回调函数?回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义。我在百度上搜了一下,发现众说纷......
  • java---了解以下运算符
    了解即可1&2用于条件判断,&条件1和2都执行1&&2,条件1判断错误的情况下,条件2不执行&当运算符的化,例如4&7,两者上下对比都是1则为1,反之为0,结果就是二进制100也就是......