1.文件的拓展模式

utf-8 编码格式下,默认一个中文三个字节,一个英文或符号占用一个字节
read() 功能:读取字符的个数(里面的参数代表字符个数)
seek() 功能:调整指针的位置(里面的参数代表字节个数)
tell() 功能:当前光标左侧所有的字节数(返回的字节数) seek(0) 把光标移动到文件的开头
seek(0,2) 把光标移动到文件的末尾

  

1.1几种文件模式

r+   可读可写,不分顺序,先读后写的时候,读的时候鼠标光标在文件开头,读完后鼠标光标在末尾,然后写入
r+ 可读可写,不分顺序,先写后读的时候,要先把光标移动到文件的末尾再写,读的时候再把光标移动到文件的开头
w+ 可读可写(每次打开,都要清空重写)
a+ 可读可写(只要追加写入内容时,就会强制把光标移动到最后,读的话需要再把光标移动到文件开头读),如文件不存在默认自动创建文件

  

1.2with语法(用于省略close操作)

with open('文件名','模式','字符集编码') as 变量:
code...
cdoe...
也可同时打开多个文件:
with open('文件名','模式','字符集编码') as 变量1,open('文件名','模式','字符集编码'):
code...
code...

  

2.文件的相关函数

readline()    功能:读取一行内容,如果字符个数>当前行总个数,按照当前行进行读取,如果字符个数<当前行总个数,按照实际个数读取
readlines() 功能:将文件中的内容按照换行读取到列表当中
writelines() 功能:将内容时字符串的可迭代性数据写入到文件中,参数:内容为字符串类型的可迭代数据
truncate() 功能:把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中(字节)
readable() 功能:判断文件对象是否可读
writable() 功能:判断文件对象是否可写

总结:
read(字符)
readline(字符)
seek(字节)
truncate(字节)

  

3.函数

3.1函数及如何定义一个函数

功能(包裹一部分代码,实现某一个功能,达成某一目的)

特点:可以反复调用,提高代码的复用性,提升开发效率,便于后期维护

基本格式:

1.定义一个函数
def 函数名():
  code...
code...
2.调用函数
函数名()

  

3.2函数命名:

'''
函数的命名
字母数字下划线,首字符不能为数字
严格区分大小写,且不能使用关键字
函数命名有意义,且不能使用中文哦 驼峰命名法:
(1) 大驼峰命名法: 每个单词的首字符都大写 mycar => MyCar (面向对象当中,定义类class)
(2) 小驼峰命名法: 除了第一个单词小写之外,剩下每个单词首字符大写 mycar => myCar (函数,变量)
命名一个函数 通常用_拼接的形式,组装不同的单词
mycar => my_car
symmetric_difference
'''

  

3.2函数的参数:

参数的种类:
(1)形参:形式上的参数,在函数的定义处
(2)实参:实际上的参数,在函数的调用处
形参的种类:
普通(位置)形参,默认参数,普通收集参数,命名关键字参数,关键字收集参数
实参的种类:
普通实参,关键字实参
循环的原则:
调用参数时,形参和实参必须一一对应,否则报错

  

#(1) 普通形参
#函数的定义处
'''hang ,lie 是普通形参(位置形参)'''
def star(hang,lie):
i = 0
while i<hang:
j=0
while j<lie:
print('*',end='')
j+=1
print()
i+=1 # 函数的调用处
''' hang和lie身上带有默认值'''
def star(hang=10,lie=10):
i = 0
while i <hang:
j=0
while i <hang:
j=0
while j <lie:
print('*',end='')
j+=1
print()
i+=1
调用时,如果不给实际参数,默认使用自带的值进行调用
调用时,如果给实际参数,那么使用实参来进行调用
star()

  

#(3) 普通形参+默认形参
'''默认参数必须跟在普通参数的后面'''
def star(hang,lie=10):
l = 0
while i<hang:
j=0
while j<lie:
print('*',end='')
j+=1
print()
i+=1 star(20)

  

#(4) 关键字实参
def star(hang,lie=10):
i = 0
while i<hang:
j =0
while j<lie:
print('*',end='')
j+=1
print()
i+=1
#关键字实参
调用函数时,关键字实参顺序可以任意调整

  

#(5) 普通实参+关键字实参
'''关键字实参必须跟在普通实参的身后'''
def star(hang,a,b,c,lie=10):
i = 0
while i<hang:
j= 0
while j<lie:
print('*',end='')
j+=1
print()
i+=1

#调用函数
#star(haang =2,a=3,b=4,c=5,lie=6)
#star(lie=6,a=3,b=4,c=5,hang=2)
star(3,3,4,5,lie=4)

  

总结:今天主要讲了文件的拓展模式及文件相关函数和如何定义一个函数和函数中的参数的传参方式

文件拓展模式主要讲了r+,w+,a+,

r+ 可读可写,不分顺序,先读后写的时候,读的时候光标在文件开头,读完后光标在末尾,然后在末尾写入

r+ 可读可写,不分顺序,先写后读的时候,先写的时候要先把光标移动到文件末尾,然后再写,写完读的时候还需要把光标移动到文件的开头才能读

w+  可读可写(每次打开,都要清空重写)  不分顺序,不推荐使用

a+  可读可写(只要追加写入内容时,就会强制把光标移动到文件末尾,读的话还需要把光标在移动到文件的开头读。

with 语法用于省略close操作,with 可同时写打开多个文件。

文件的相关函数:

readline(字符)   功能是读取一行

readlines()   是将文件中的内容按照换行全部读取到列表当中

writelines(字符串类型的可迭代数据)   将内容是字符串的可迭代数据写入到文件中,参数:内容为字符串类型的可迭代数据

truncate(字节)   将截取的的字符串提取出来,然后清空内容将提取出来的字符串重新写入文件中,参数为字节

readable()   判断文件对象是否可读

writable()   判断文件对象是否可写

read(字符)  readline(字符)  seek(字节)  truncate(字节)

讲了如何定义一个函数

def 函数名:

  函数体

函数名()调用

函数的参数,形参(形式上的参数,用在函数定义处)和实参(实际上的参数,用在函数调用处)。

形参的种类:依次按顺序:普通形参也叫位置参数,默认参数,普通收集参数*args,命名关键字参数,关键字收集参数**kwargs

实参的种类:普通参数,关键字参数

当函数的定义处参数有默认值时:

1.调用时如果不给实际参数,就默认使用自带的值进行调用

2.调用时,如果给实际参数,那么就使用实参来进行调用

函数定义处:默认形参必须跟在普通形参的后面

函数调用时:关键字实参顺序可以任意调整

函数调用时:关键字实参必须跟在普通实参的后面

文件的拓展及文件函数,定义函数及函数参数---day09的更多相关文章

  1. javascript函数定义表达式和函数声明的区别

    在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ ...

  2. [转]javascript函数定义表达式和函数声明的区别

    在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ ...

  3. JS函数定义与匿名函数的调用

    一.函数声明.函数表达式.匿名函数 函数声明:function fnName () {…};使用function关键字 声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName ...

  4. PYTHON 学习笔记2 流程控制工具以及函数定义、匿名函数

    前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等. ...

  5. Python函数定义、文件操作(读写、修改)

    date:2018421 day3 一.函数定义 def  函数名(首字母大写) 增加程序可读性 #直接写函数名即可调用函数 #参数 ①.形参 ②.实参 ③.缺省参数 如果有默认值,调用的时候没有传递 ...

  6. thinkphp中定义自己的函数

    可以在前台和后台的公共文件夹中common.php中定义自己的函数,这样就可以在控制器中调用,而不需要调用对象了 /** * @name addvtorandp * @author 黄峰1664253 ...

  7. Kotlin 的函数定义和使用 (译文 转)

    Kotlin 的函数定义和使用 函数声明Kotlin 中的函数使用 fun 关键字声明 fun double(x: Int): Int {}函数用法调用函数使用传统的方法 val result = d ...

  8. 深入理解javascript函数定义与函数作用域

    最近在学习javascript的函数,函数是javascript的一等对象,想要学好javascript,就必须深刻理解函数.本人把思路整理成文章,一是为了加深自己函数的理解,二是给读者提供学习的途径 ...

  9. 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针

      您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. ...

  10. Linux Shell函数定义与调用

    一.Shell函数定义格式 shell函数定义格式,各部分说明如下: [ function ]等中括号括起来部分----表示可选(即可有可无) your_function_name部分----为函数名 ...

随机推荐

  1. Jmeter学习之五_跟踪被测试服务器的performance

    Jmeter学习之五_跟踪被测试服务器的performance 背景 这几天简单学习了一些基本的测试过程. 可以实现一些简单基本的功能了. 今天晚上继续进行了jmeter的一些学习. 想着可以在测试人 ...

  2. [转帖]linux删除文本文件空白行

    linux删除文本文件空白行https://www.zhihu.com/people/chen-kai-84-54-75 sed命令 在Linux中,可以使用sed命令批量删除文本中的空白行.以下是一 ...

  3. [转帖]kubernetes Flannel网络剖析

    https://plantegg.github.io/2022/01/19/kubernetes_Flannel%E7%BD%91%E7%BB%9C%E5%89%96%E6%9E%90/ cni(Co ...

  4. [知乎]聊一聊threadlocal

    作者:李二狗链接:https://www.zhihu.com/question/341005993/answer/1996544027来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  5. js数组修改后会互相影响

    // 假设httpServe 是服务器返回来的数据 // 我们这里有一个需求, // 某一个区域需要对这一份数据进行展示 // 另一个区域需要只需要展示前1条数据 let httpServe = [ ...

  6. 【JS 逆向百例】吾爱破解2022春节解题领红包之番外篇 Web 中级题解

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 逆向目标 本次逆向的目标来源于吾爱破解 2022 春节解题领红包之番外篇 Web 中级题,吾爱破解每年都会有派送红包活动(送吾爱 ...

  7. Fabric-sdk-go操作Chaincode

    因为工作的需要,最近了解了下如何通过sdk来操作Chaincode,本文是sdk使用时的一些操作总结. 在fabric网络启动过程中,一般分为"启动网络 -> 创建通道 -> 加 ...

  8. HTML超链接自定义颜色

    先添加一个css样式 我这里直接内嵌了因为代码量比较少不会影响太大的性能 <style type="text/css"> body {background-color: ...

  9. 强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-critic,A2C),异步A2C、与生成对抗网络的联系等详解

    强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-critic,A2C),异步A2C.与生成对抗网络的联系等详解 1.核心词汇 优势演员-评论员(a ...

  10. Postfix + Extmail 企业邮件服务器搭建

    ExtMail套件用于提供从浏览器中登录.使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面.它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的I ...