1.修改文件

补充上次没洗完的:

想要修改某个文件里一块地方,可以使用seek函数找到位置write函数修改。

是不是觉得这很简单?

但是如果你这样操作很可能会出现乱码。

因为由于字节数的不同,编码的不同,你把你写的东西直接添加进去对原来的位置不是往后移,而是在原来的位置上直接覆盖,所以可能会出现乱码。

但是为什么word、wps可以直接修改文件?

wps、word会把文件从内存中全部加载到硬盘上,而不是在内存中修改,你有可能会发现当我们打开一个很大的文件时wps.word打开都很慢,因为把文件从内存中加载到硬盘里需要时间,文件越大需要的时间越多!

2.函数

函数是将一组语句通过一个名字*(函数名)封装起来,要想执行时,只需要调用其名字即可。

def fun():
操作

主要作用是为了减少代码重复、使程序变得可扩展、易于程序的维护

下面我们看看什么是形参实参?

def fun(x,y):           #这其中x,y是形参
操作 #函数调用
fun(5,6) #实参

python中的默认参数(举例生活中我们需要填一些东西,他老让我们写国籍,在我们的学校里都基本是国人,所以我们不想写国籍了怎么办?

用默认参数直接默认填写)

#默认参数
def fun(name,age,loc="中国"):
操作

当我们调用时如果不写这个参数他会默认是中国

fun("卢本伟",99)  #我们没有写  就显示中国

fun("卢本伟",99,us)#如果写了就显示什么

注意的是默认参数必须放在位置参数的后面!!!!!!

python中的关键参数(必须放在未知参数后面)

def fun(name,age,country):
操作 #函数调用
fun("卢本伟",country="日本",age=99)

python中非固定参数

def send(msg,*user):
for u in user:
print("报警",u)

调用

方式一
send("报警",'alex','daliu')
其实写了*user后,参数就不固定了看你需要多少! 方式二
send('报警',*['alex','daliu'])

注意啦:::若*user后面还有参数怎么写呢    上面的写法是会报错的。

举例子:

def send(name,*user,age):
操作 调用:send("卢本伟",'alex','daliu',age=99)
这样子是不会报错的

可能大家也注意到了 *user就是穿了一个元祖/列表

那可以传递字典吗?

当然是可以的。。

name={
"":"卢姥爷",
"":"开挂最牛逼"
} def send(msg,**name):
操作 函数调用:send("报警",**name)

2.1返回值

函数中止并返回结果,未指定的返回none,函数永远只返回一个值

若出现这种:return name,age 是返回了两个值吗?

不是的,系统会将他们当做元祖显示出来。

也可以直接返回元祖例: return [name,age]

2.2局部变量、全局变量

局部变量:函数里面定义的变量,只在函数内部有效.

执行就近原则!

name=['alex','black','peiq']

def change():
def name[2]
name[1]='黑'
print(names) #函数调用
change()
print(names)
结果是:name=['alex',黑]
为什么可以改变全局变量的值?
这其实只是把name的地址当做是一个整体,但其内部是可以修改的!
那种的是可以修改的?
就像这种一串串的可以修改 什么列表呀 字典丫的

2.3嵌套函数

就是函数里面嵌套函数嘛

要说的只有一点非常的重要

def change() :
print("a")
def change1() :
print("b")
函数调用
change()

这个结果会显示什么?

结果:a

因为change1没有被调用所以不会执行

2.4匿名函数

fun=lambda x,y :

           x*y

调用:print(fun(2,5))

就这个例子自行体会,要知道的是在匿名函数最骚的操作可能就是三元运算了。循环什么都不行,

2.5高阶函数

满足条件:

1.函数中参数是另一个函数(就是参数是函数)

def a(x,y):
return x*y
def b(x):
return x
f=b(a) #函数a被当做参数传入
print(f(2,8))

2.返回值中返回有函数

例:return abs,x,y

python大法好——修改文件、函数的更多相关文章

  1. python 装饰器修改调整函数参数

    简单记录一下利用python装饰器来调整函数的方法.现在有个需求:参数line范围为1-16,要求把9-16的范围转化为1-8,即9对应1,10对应2,...,16对应8. 下面是例子: def fo ...

  2. 采用python获得并修改文件编码(原创)

    windows和linux采用了不同的编码,这让很多人伤透了脑经,这里我采用了Python的chardet库获得代码的编码,然后修改编码. 1.首先需要安装chardet库,有很多方式,我才用的是比较 ...

  3. python大法好——编码.文件

    1.编码 python3 中使用utf-8作为默认编码. UTF-8对Unicode进行转化,为解决存储和网络传输问题. UTF是为Unicode编码设计的一种在存储和传输节省空间的编码方案. Uni ...

  4. python getmtime() 最近修改文件内容的时间

    import time import os def mm(): file_name = '1.txt' file_times_modified = time.localtime(os.path.get ...

  5. python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件

    1.文件操作(2)   代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...

  6. python笔记(三)---文件读写、修改文件内容、处理json、函数

    文件读写(一) #r 只读,打开文件不存在的话,会报错 #w 只写,会清空原来文件的内容 #a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件 print(f.read()) #获取到 ...

  7. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  8. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  9. python day5 lambda,内置函数,文件操作,冒泡排序以及装饰器

    目录 python day 5 1. 匿名函数lambda 2. python的内置函数 3. python文件操作 4. 递归函数 5. 冒泡排序 6. 装饰器 python day 5 2019/ ...

随机推荐

  1. [蓝桥杯]ALGO-92.算法训练_前缀表达式

    问题描述 编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值.输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法).“-”(减法).“*”(乘法)或“/”(除法),运算对象为 ...

  2. [LeedCode]921. 使括号有效的最少添加

    题目描述: 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字 ...

  3. Hard commits, soft commits and transaction logs

    “Hard commits are about durability, soft commits are about visibility“  Transaction Logs 首先介绍下solrcl ...

  4. Redis持久化实践及灾难恢复模拟 [转]

    参考资料:Redis Persistence http://redis.io/topics/persistenceGoogle Groups https://groups.google.com/for ...

  5. pyqt4 利用信号槽在子线程里面操作Qt界面

    转载:ABigCaiBird #-*- coding:utf-8 -*- ####### from PyQt4.QtCore import * from PyQt4.QtGui import * im ...

  6. this、apply/call、bind、闭包、函数、变量复制

    一.实际场景中抽象出的一个问题 下面this各指向什么? var a = { b: function() { console.log(this); }, f: function() { var c = ...

  7. bzoj5003: 与链 5004: 开锁魔法II 5005:乒乓游戏

    www.lydsy.com/JudgeOnline/upload/task.pdf 第一题题意可以转为选一个长度k的序列,每一项二进制的1的位置被下一项包含,且总和为1,考虑每个二进制位的出现位置,可 ...

  8. csv文件操作

    1.python2中: import csv infos = [ ['peter','male'], ['marry','female'], ['johon','male'], ['rose','fe ...

  9. PAT 乙级 1071 小赌怡情(15 分)

    1071 小赌怡情(15 分) 常言道“小赌怡情”.这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大还是小:玩家下注 t 个筹码后,计算机给出第二个数.若玩 ...

  10. solusvm安装过程

    openvz solusvm ** Testing connectivity PING solusvm.com (69.168.233.94) 56(84) bytes of data. 64 byt ...