ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python学习第五天

2021-04-05 16:35:25  阅读:114  来源: 互联网

标签:return 函数 形参 python 学习 utf 第五天 txt 实参


一 字符编码
#如何保证不乱码
#存入编码格式统一改为utf-8
#如何保证不取乱码
# 编码与解码用同一张字符编码表
二 文件处理
with open('a.txt',mode='rt',encoding='utf-8') as f:
    print(f.read())
    # print(f.readable())
    # print(f.writable())
    # print(f.readline())(只读最后一行)
    # print(f.readlines())(把读出来的都放列表里了)
    # f.writelines(names)(把每一个都写出来,类似与for循环)
三 控制文件指针移动
# 主动控制文件指针移动
# 控制文件内指针移动的单位:只有t模式下的read(n)代表的是字符个数,除此之外全都是自己个数
# 主动控制文件指针移动
# f.seek(3,0)(0模式,参照文件开头移动n个字节)
# f.seek(6,1)(1模式:参照当前所在的位置移动n个字节)
# f.seek(3,2)(2模式: 参照文件末尾置移动n个字节)
# 只有0模式可以在t下使用,1和2模式都只能在b下使用
# tail 小程序 tail -f access.log(监视日志)
import time

# print(time.strftime('%Y-%m-%d %H:%M:%S'))

with open("access.log", mode="at", encoding="utf-8") as f:
    f.write("%s %s\n" % (time.strftime('%Y-%m-%d %H:%M:%S'), "努力学习"))
# with open("access.log",mode = "rb") as f:
#     f.seek(0,2)
#     while True:
#         line = f.readline()
#         if len(line) < 0:
#             pass
#     else:
#         print(line)
四 截断文件和打开文件
#截断文件
# with open("a.txt",mode = "at",encoding="utf-8") as f:
#     f.truncate(6)

#修改文件的两种方式 将文件内容一次性全部读入内存,在内存中将内容修改完毕,将新内容写回原文件
#方式一:1.将文件内容一次性读入内存,在内存中将内存修改完毕,3.将新内容写回原文件

with open("b.txt",mode="rt",encoding="utf-8") as f1:
    data = f1.read()
    res = data.replace("abc","ABC")

with open("b.txt",mode="wt",encoding="utf-8") as f2:
    f2.write(res)
#方式二:1.以度的方式打开源文件,以写的方式打开一个临时文件
# 从源文件中读出一行内容都内存中,修改完毕后再写入临时文件,循环往复直到读完原件
#删除源文件,将临时文件改名位源文件名

import os

with open("b.txt",mode="rt",encoding="utf-8") as src_f,\
         open("b.txt.swp", mode="wt", encoding="utf-8") as dst_f:
    for line in src_f:
        dst_f.write(line.replace('ABC','abc'))

os.remove("b.txt")
os.rename("b.txt.swp","b.txt")
五 函数
#什么是函数
#函数就是把实现某一功能的一组代码丢到一个函数中
#为何要用函数
#不用函数会使代码冗余,程序组织结构不清晰、可读性差,扩展性差
#如何用函数
#先定义、后调用
#函数定义阶段
#定义函数不执行函数代码,但是会检测函数体语法
#函数调用阶段
#先通过函数名找到函数的内存地址,然后函数体的()会执行函数
01 函数的返回值
#用return控制函数的返回值:
#函数内可以有多个return,但只要执行一次,整个函数就立即借宿
#并且将return后的值当作本次调用的结果返回
#return值:返回的就是该值本身,return 值1,值2,值3:返回的是一个元组
#函数内可以没有return,或一个return后没值,返回的是None
def max2(x,y):
    if x > y:
        return x
    else:
        return y
    
02 定义调用函数三种形式
#定义函数的三种形式(1.无参,2.有参,3.空函数)
#调用函数的三种形式(2.1语句形式(单纯的调用),2.2表达式形式(参与了运算),2.3可以把函数调用当做参数传给另外一个函数
03 函数参数
#1.形参:在函数定义阶段括号内定义的变量名,称之为形式参数,简称形参
#2.实参:在函数调用阶段括号内传入的值,称之位为实际参数,简称实参
#在调用函数时,实参的值会绑定给形参名,然后可以在函数内使用,函数调用完毕后解除绑定
#3.1位置形参:在函数定义阶段按照从左到右的顺序依次定义的形参,称之为位置形参
#必须被传值,多一个不行少一个也不行
#3.2默认形参:在函数定义阶段就已经为某个形参赋值了,称之为默认形参
#在函数定义阶段就已经赋值了,在调用阶段可以不用为其赋值
#4.1位置实参:在函数调用阶段按照从左到右的顺序依次传入的值,称之为位置实参
#按照顺序与形参一 一对应
#4.2关键字实参:在函数调用阶段按照key=value的格式传入的值,称之为关键字实参
#可以打乱顺序,但可以为指定的形参赋值
#5 *与**在形参与实参中的应用
#*会接受溢出的位置实参,然后将其存在元组,然后赋值给紧跟其后的变量名
#**会接受溢出的关键字实参,然后将其存成字典,然后赋值给紧跟其后的变量名
#实参中带*:*后跟的必须是一个可以被for循环遍历的类型,*会将实参打散成位置实参

标签:return,函数,形参,python,学习,utf,第五天,txt,实参
来源: https://www.cnblogs.com/mingyunshi/p/14618634.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有