文件的拓展及文件函数,定义函数及函数参数---day09
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的更多相关文章
- javascript函数定义表达式和函数声明的区别
在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ ...
- [转]javascript函数定义表达式和函数声明的区别
在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ ...
- JS函数定义与匿名函数的调用
一.函数声明.函数表达式.匿名函数 函数声明:function fnName () {…};使用function关键字 声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName ...
- PYTHON 学习笔记2 流程控制工具以及函数定义、匿名函数
前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等. ...
- Python函数定义、文件操作(读写、修改)
date:2018421 day3 一.函数定义 def 函数名(首字母大写) 增加程序可读性 #直接写函数名即可调用函数 #参数 ①.形参 ②.实参 ③.缺省参数 如果有默认值,调用的时候没有传递 ...
- thinkphp中定义自己的函数
可以在前台和后台的公共文件夹中common.php中定义自己的函数,这样就可以在控制器中调用,而不需要调用对象了 /** * @name addvtorandp * @author 黄峰1664253 ...
- Kotlin 的函数定义和使用 (译文 转)
Kotlin 的函数定义和使用 函数声明Kotlin 中的函数使用 fun 关键字声明 fun double(x: Int): Int {}函数用法调用函数使用传统的方法 val result = d ...
- 深入理解javascript函数定义与函数作用域
最近在学习javascript的函数,函数是javascript的一等对象,想要学好javascript,就必须深刻理解函数.本人把思路整理成文章,一是为了加深自己函数的理解,二是给读者提供学习的途径 ...
- 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针
您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. ...
- Linux Shell函数定义与调用
一.Shell函数定义格式 shell函数定义格式,各部分说明如下: [ function ]等中括号括起来部分----表示可选(即可有可无) your_function_name部分----为函数名 ...
随机推荐
- [转帖]天行健,国产CPU当自强不息
https://baijiahao.baidu.com/s?id=1699201892754975586 本页面的文字和图像允许在CC-BY-SA 3.0协议四和GNU自由文档许可证下修改和再使用 ...
- [转帖]C2C - False Sharing Detection in Linux Perf
https://joemario.github.io/blog/2016/09/01/c2c-blog/ Do you run your application in a NUMA environme ...
- Redis数据倾斜与JD开源hotkey源码分析揭秘
1 前言 之前旁边的小伙伴问我热点数据相关问题,在给他粗略地讲解一波redis数据倾斜的案例之后,自己也顺道回顾了一些关于热点数据处理的方法论,同时也想起去年所学习JD开源项目hotkey--专门用来 ...
- 图片三像素问题如何解决css
一.提出问题 在浏览器中,图片有一个下间隙问题,有人也称之为图片3像素BUG 1.这并不是什么浏览器bug,而只是英文字母书写时有个基线的问题,基线决定了图片的对其方式.这才是造成浏览器中图片下间隙的 ...
- 如何减缓vm中慢插入的次数
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 偶然发现vm-storage的监控里有这样一个指标:vm_ ...
- TienChin 活动管理-修改活动接口
前端 activity.js 直接替换现有的,最求速度了,后面在详细一个个记录,不在过多解释了. import request from '@/utils/request' /** * 查询活动列表 ...
- 环境调试bug【二】无法加载源“<string>”: Source unavailable
1.无法加载源"<string>": Source unavailable. 网上解决方法: 总结来说就两种: debugStdLib: true 添加到 launch ...
- C/C++ 关于运算符重载笔记
加号运算符重载: 重载加号运算符,让 p3 = p1 + p2 改成 p3.mage = p1.mage + p2.mage 实现两个数据成员的相加. 告诉编译器,两个类中的数据成员应该怎么相加. 成 ...
- 【路由器】电信光猫中兴 F7010C 折腾记录
目录 问题描述 解锁超管密码 前言 配置安卓抓包环境 抓包获取超管密码 IPv6 配置 光猫拨号 改用 SLAAC 路由器配置 wan6 配置 wan 配置 lan 配置 验证 参考资料 问题描述 近 ...
- XD刷机报错bad CRC
测试需要,给一台1/4 rack的X8M HC刷机,使用oeda配置好的xml文件,执行命令列出本次刷机的所有步骤: [root@dbm11dbadm01 linux-x64]# ./install. ...