强调:只有t模式下的read(n),n代表字符个数,除此以外都是以字节为单位 ,例如f.read(4)读出4个字符

控制文件内指针的移动:f.seek()以字节为单位
f.tell()文件开头为准,当前指针所在位置

f.seek(移动的字节数,三种模式):
0(默认的模式);参照文件开头,
1:参照指针当前所在的位置
2:参照文件末尾
ps:只有0模式可以在b,t模式下使用;1,2模式只可以在b模式下使用

f.truncate(self,size)从文件开头数截断,后面的删除
a模式打开
f.truncate(3) 3个字节

函数分类:1.内置函数 2.自定义函数

函数的基本使用
什么是函数:
在程序具备某一功能的工具 = 函数
事先准备好工具 = 函数的定义
遇到应用场景,拿来就用 = 函数的调用
先定义后调用

为什么要用函数:
1.代码冗余
2.程序组织结构不清晰,可读性差
3.扩展性差

如何用函数:
​ 函数的使用必须遵循一个原则:
​ 1.先定义:只检测语法,不执行代码
​ 定义语法
​ def 函数名(参数1,参数2,参数3):
​ """ 文档注释"""
​ 代码块
​ return 值
​ 申请内存空间,函数体代码扔进内存空间,绑定给函数名
​ 定义函数的三种形式:
​ ①无参函数,定义时无参,调用不用传参
​ ②有参函数,定义时有参,调用时传参必须对应
​ ③空函数


​ 2.后调用:执行函数体代码
​ 函数名() :①函数名找到内存地址②加()运行内存地址内代码
调用函数的三种形式:①语句形式:函数名()②表达式形式:res = max2(1000,200)*12 ③可以当做另外一个函数的参数

函数的返回值:
​ 1.函数的返回值:函数体代码的运行成果
​ 2.函数为什么要有返回值:执行一段功能需要拿到函数的处理结果做进一步的处理
​ 3.如何用返回值:
​ return 返回值的特点: 1.返回的值没有类型和个数限制
​ 2.return多个值用逗号分隔开,以元组保存
​ 3.return或者没有return,默认返回none
​ 4.return一个值,返回的就是该值本身
​ 5.return是函数结束运行的标志,函数里可以有个return但是只执行一次return

函数的参数分为两大类:
①形参:在定义函数括号内指定的参数(变量名),称之为形参
②实参:在调用函数时括号内传入的值(变量值),称之为实参

在调用函数时,实参值(变量值)会传给形参(变量名),这种绑定关系在调用函数时生效,调用结束,绑定关系解除

函数参数详解:
1.形参:
1.1位置形参:在定义阶段,按照从左到右的顺序依次定义的形参
​ 特点:必须被传值

1.2默认参数:在定义阶段,就已经为某个形参赋值,该形参称之为默认形参
​ 特点:在定义阶段就已经有值,意味着调用阶段,可以不用为其传值
​ 注意点:位置形参必须放在默认参数前面

1.3可变长参数:*,**的用法
*args把溢出的位置实参以元组的方式存起来,赋值给*后的变量名args
**kwargs把溢出的关键字实参以字典的方式存起来,赋值给**后的变量名kwargs

2.1 位置实参:在调用阶段,按照从左到右依次存入的值
​ 特点:这种传值方式,会与形参一一对应

2.2 关键字实参:在调用阶段,按照key=value的格式传值
​ 特点:可以完全打乱位置,但仍然能为指定的形参传值
注意 : 1.同一个形参只能被赋值一次
​ 2.位置实参必须被关键字实参的前面

2.3 实参中*与**的使用
1.实参中带*:先将实参打散成位置实参,然后再与形参做对应(后的参数要可迭代)
2.实参中带**:先将实参打散成关键字实参,然后再与形参做对应(**后只能跟字典)
外部以什么形式给函数wrapper传参,index接收的实参以相同的形式传入
def index(x,y,z):
​ print(x,y,z)
def wrapper(*args,**kwargs):
​ index(
args,**kwargs)

Day10文件内指针移动和函数的更多相关文章

  1. day10 文件处理指针使用 函数基本使用

    一:文件指针 强调:只有t模式下read(n),n代表字符个数,除此之外都是以字节为单位 with open('a.txt',mode='rt',encoding='utf-8') as f: #文本 ...

  2. Python文件指针与Python函数

    文件内指针移动:f.seek() 强调:只有t模式下read(n),n代表字符的个数,除此以外都是以字节为单位. """ 文件内容:哈哈哈哈 呵呵呵呵 "&qu ...

  3. 转:python之如何在某文件中调用其他文件内的函数

    假设名为A.py的文件需要调用B.py文件内的C(x,y)函数 情形1:在同一目录下, (1) import B if __name__ == "__main__": B.C(x, ...

  4. static在C中有了第二种含义:用来表示不能被其它文件访问的全局变量和函数

    C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域. 从作用域看: 全局变量具有全局作用域.全局变量只需在一个源文件 ...

  5. ubuntu Linux下C语言open函数打开或创建文件与read,write函数详细讲解

    open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #include<sys/types.h> ...

  6. 类1(this指针/const成员函数/类作用域/外部成员函数/返回this对象的函数)

    假设我们要设计一个包含以下操作的 Sales_data 类: 1.一个 isbn 成员函数,用于返回对象的 book_no 成员变量 2.一个 combine 成员函数,用于将一个 Sales_dat ...

  7. 文件I/O之fcntl函数

    fcntl函数可以改变已打开的文件的性质. #include <fcntl.h> int fcntl( int filedes, int cmd, ... /* int arg */ ); ...

  8. C++中new和delete的背后( call edx 调用虚表内的第二个函数(析构函数))

    关于 C++中new背后的行为, 以前已经写过一篇了 理解C++中new背后的行为, 但是里面也只是泛泛而谈,没有真凭实据, 下面我们从汇编的角度看C++编译器究竟在背后干了什么?   我们的代码很简 ...

  9. 标准IO: 文件的打开与关闭函数 fopen & fclose

    (1) 流(stream)和文件(file)    流和文件 在Turbo C2.0中是有区别的, Turbo C2.0 为编程者和被访问的设备之间提供了一层抽象的东西, 称之为"流&quo ...

随机推荐

  1. [題解]luogu_P1333瑞瑞的木棍(并查集/圖論)

    是一道歐拉路的題竟然沒看出來...... 把每種顏色看成一個點,每根木棍看成一個邊,即相同顏色在圖中接好合併成了一個點, 問題轉化為了求是否存在歐拉路 如果用map會超時,所以可以用字典樹實現離散化/ ...

  2. djangoAdmin组件

    定制后台页面功能 from django.contrib import admin from app import models # Register your models here. class ...

  3. [51Nod1952] 栈

    Description 不支持后端删除的dequeue,每次操作后查询最大值. \(n\leq10^7\).时限1.5s,不用考虑读入/输出复杂度. Solution 首先考虑如果没有后端删除怎么做, ...

  4. CATIA 使用技巧--转换出轻巧的tif格式文件

    问题描述: 我们在与客户和供应商打交道的过程中经常需要TIF格式2D图纸文件,而默认的CATIA设置保存出来TIF文件非常大,不利于保存和传送.对于该问题,我们可以通过修改CATIA的默认设置选项,将 ...

  5. getpass不起作用

    #! /usr/bin/env python# -*- coding:utf-8 -*- # login 模块中登录时输入密码,想用getPass模块实现密码的不回显操作.#如下: import ge ...

  6. 剖析 Rails 3 MVC 中的数据传递

    引用链接:https://www.ibm.com/developerworks/cn/web/1108_linhx_rails3mvc/ 如果读者已经开发过基于 Rails 的应用,但对其 MVC 间 ...

  7. find搜索文件系统,实时搜索

    find搜索文件系统.实时搜索 find[目录][条件][动作] [目录] 不输入目录代表当前目录 find find /etc ----------------------------------- ...

  8. Actionbar Demo

    源码下载:http://download.csdn.net/detail/bx276626237/8874119

  9. 这么大一座Azure“图书馆”,你竟没有发现…

    为避免被叫做「伸手党」,很多技术人员早已养成遇到问题上网搜的好习惯. 然而…… 同一个概念,搜到两个相互矛盾的解释,以谁的为准? 想查找某个 API 的用法,搜索结果数十万条,怎样筛选出最有价值的? ...

  10. MongoDB数据清理命令

    #启动mongo命令/data/liudi/mongodb/bin/mongo --port 27010 #显示数据库show dbs; #使用tps_live数据库use tps_live; #显示 ...