首页 > 编程语言 >python_8 拆包、内置函数和高阶函数

python_8 拆包、内置函数和高阶函数

时间:2023-04-22 12:22:27浏览次数:40  
标签:文件 函数 python list 拆包 file test

一、查缺补漏
  1. \t 子表符,用于对其
二、拆包
  1. 拆包:顾名思义就是将可迭代的对象如元组,列表,字符串,集合,字典,拆分出相对应的元素
  2. 形式:拆包一般分两种方式,一种是以变量的方式来接收,另一种是用"*/**"号多用于函数拆包,单星号字典拆分只能得到字典的键(key),不能得到字典的值(value)
    a. 当以变量的方式拆包时需要左右两边的元素的个数和变量的个数一致,否则报错,不同类型都可通过这个拆包
    如:list1=[1,2,5] a,b,c=list1 print(a,b,c) 结果为:1 2 5
    b. 当以*和**对函数拆包时,*支持列表、元组、集合等类型的拆包,**支持字典类型的拆包
      i. *:当需要传不定长参数、多个参数时把需要的参数放在一个list或任意的可迭代对象中,在通过拆包的方式传递,拆包的过程中可以将list类型转化为tuple类型
        其中test02(*test_list)等同于test02(1,2,3,4,5,6)
        当只取list中的第一个元素也可以使用不定长参数*args来进行拆包
        如:list1=[1,2,3,5] a,*args,c=list1 print(a) 结果为:1
      ii. **:当函数需要传递多个关键字参数时可以把需要的参数放到dict类型中,再通过**拆包进行传递,拆包前后统一都是dict类型
        其中test02(**test_dict) 等同于 test02(key1="key1",key2="key2")
三、内置函数
  1. 如何查看python的内置函数 import builtins print(dir(builtins))
  2. 常用的内置函数
    a. print()
    b. input()
    c. type()
    d. len()
    e. list()、tuple()、dict()、str()、set()、bool()、int()、float()
    f. sum()
    g. id() 取内存地址
    h. range() 生成列表
  3. ()是对函数的调用,没有()的函数是没有去调用
四、高阶函数
  1. zip():压缩和解压,也可以用于list拆包,将对应位置的数据逐一拆分配对,以最短的list为准
    a. 压缩:list(zip(要压缩的表1,表2))
       当用于压缩时需要强制list类型转换才能显示出来,因为zip展示的是对象,也可以转换成字典类型
    b. 解压:list(zip(*压缩之后的结果))
       当用于解压时会恢复未压缩之前的的内容,超过长度的list元素会被丢弃
    c. 拆包:[*zip(*拆包)] 用于拆分重新配对多层list,zip前加[*]可以直接显示出结果(tuple类型)
  2. enumerate():获取可迭代对象的索引位置,不指定索引起始值,默认为0,指定以指定的值开始显示
  3. Lambda 匿名函数 接收值=lambda 形参 :返回值 可以不为函数起名,直接定义函数
五、open函数
  1. 读文件语法:
    a. 需要执行代码关闭文件
      i. file = open(file='打开的文件位置',mode='读文件一般写r,表示模式为read')
      ii. test=file.read() ---- 读取所有的数据
      iii. print(test文件名) -----打印出test.txt的内容
      iv. file.close() -----关掉文件,一定要关掉,不关掉文件光标有问题
    b. 自动关闭文件:with语句,管理上下文
      i. with open(file='test.txt',mode='r') as file: ----with语句
      ii. test = res.read() ---- 读取所有的数据
      iii. print(test) -----打印出test.txt的内容
      iv. 当执行with的时候会调用一个_ _close()的魔术方法,所以不用代码执行close
        标注:如果打开的文件和py文件在同一个文件目录下那么在file中可以直接写文件名如test.txt
        file表示任意的接收名
  2. 使用:更改位置在1>a>ii
     a. file.read() 读取整个文件内容(全部读取出来)
     b. file.readline() 读取文件的第一行数据,遇到\n换行符结束
     c. file.readlines() 读取文件逐行读取,会读取换行符,返回所有行组成的list,对比a更省内存
  3. 写文件
     a. with open(file='文件地址',mode='写文件用w-表示write') as 接收名:
      接收名.write("想写的内容")
     b. 覆盖写入,每次写入会覆盖之前的内容,全部覆盖
      追加写入,只需将mode='a'即可
      不会自动换行,需要换行必须加\n
      列:with open(file='test.txt',mode='w') as res: res.write("z") 结果:在test.txt文档中写入了z
     c. 文件保存:
      自动保存:先写进缓存区等程序运行结束之后,再一次性写进文件,当异常结束,不能成功保存
      手动保存:文件名file.flush()
      列:手动保存可以更好的保存成功
      标注:只有导入time库,才可以使用休息等待
  4. 操作模式(写在open函数的mode中)
    a. r :读
    b. w:覆盖写入
    c. a :追加写入
    d. +(表示同时可读写)
      i. r+:可读可写,覆盖写入
      ii. w+:可读可写,覆盖写入
      iii. a+:可读可写,追加写入
    e. 二进制(打开图片、上传图片)
      i. rb:二进制的方式读
      ii. wb:二进制的方式写
      iii. ab:二进制的方式追加写
  5. 光标操作 文件接收名.seek(offset,whence)
    a. offset:开始的偏移量,表示从哪里开始读取,如果写0就表示不偏移
    b. whence:
      0:从文件开头开始读
      1:表示从当前光标位置开始读
      2:表示从文件末尾开始



标签:文件,函数,python,list,拆包,file,test
From: https://www.cnblogs.com/Alisa-sweet/p/17342751.html

相关文章

  • python_7 退出、结束循环和嵌套循环
    一、查缺补漏 1.end='任意值'表示换行,任意值会显示在换行前,不写默认换行 2.input()用户键盘输入默认输入str类型,如要和int类型比较需要强制类型转换二、退出、结束循环和嵌套循环 1.continue和break结合循环使用 a.continue:结束本次循环,进入下一个循环,注意con......
  • 一元函数微分几何应用
    一元函数微分几何应用对于一个一元函数,在微分学上的几何讨论分为以下几个方面:极值与单调性最值或取值范围凹凸性与拐点渐近线极值与单调性单调性的概念就不说了,这里说一下单调性的判别,包括了定义法,微分学方法定义法单调增函数:\((x_1-x_2)[f(x_1)-f(x_2)]>0\)单调......
  • c++ CRTP 中判断 Derived 中有没有某个成员函数
    //省略HasMembertemplate<Dervied>classB{static_assert(HasMember<Derived>());}classA:publicB<A>{public:voidMember();}这样的代码是编译不过的,因为A还没有完全定义时,static_assert就会fail,但是将static_assert放到某个函数里是可以编译过的。......
  • python 装饰器
    由于前几天了解到了python的装饰器,感觉有点点类似于AOP思想,因此记录一下学习笔记。封面《金色ラブリッチェ》闭包(closure)在讲python装饰器前,需要先介绍一下闭包Inprogramminglanguages,aclosure,alsolexicalclosureorfunctionclosure,isatechniquefo......
  • 用 python 上传文件到微信小程序云存储
    前言小程序上了云托管后不打算继续使用其他图床,而是使用云托管自带的图床。而由于时间紧迫只能在本地使用云托管提供的服务器调用对象存储api云托管上传文件的文档在这里上传文件文档如果你上传带有中文名的文件,或者上传的路径有中文名时,需要修改一下requests库的源码,否......
  • vba调用MD5函数进行加密
    vba调用MD5进行加密...以下代码来着网络...这里搬运为了便捷使用查找,无其他用途MD5函数源码,需将下面源码复制到Excel的模块中,调用MD5函数即可进行加密,第一个参数为加密的文本,第二参数为加密类型,如:32,16.PrivateConstBITS_TO_A_BYTE=8PrivateConstBYTES_TO_A_WORD=4Pr......
  • [oeasy]python0136_接收输入_input函数_字符串_str
    输入变量回忆上次内容上次研究了一行赋值多个变量a=b=5a,b=7,8还研究了标识符的惯用法python使用的是snake_case蛇形命名法用下划线分隔开小写字母的方法这样就可以更合理地命名变量了变量变量能变的量我可以手工输入变量的值吗?......
  • PYTHON startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件。 错误
    Traceback(mostrecentcalllast):File"D:/statashu/dustata1.py",line4,in<module>subprocess.call(cmd)File"D:\Python37\lib\subprocess.py",line339,incallwithPopen(*popenargs,**kwargs)asp:File&quo......
  • 11、友元函数计算2+z
    如题,要求实现:1、输入一个复数2、按后缀那样计算3、Show出结果。例如输入:78输出(14+8i)(5+4i)(7+4i)#include<iostream>usingnamespacestd;classCmycomplex{private:doublereal,imag;public:Cmycomplex(doubler=0,doublei=0);//构造函数设默认值,或......
  • python多线程接口请求
    importthreadingimportrequestsrequests.packages.urllib3.disable_warnings()urls_list=["http://127.0.0.1:5000"for_inrange(1,101)]response_ok=0response_error=0defget_response_code(url):globalresponse_errorglobalr......