首页 > 其他分享 >day15 函数复习和模块基础

day15 函数复习和模块基础

时间:2023-12-05 21:14:05浏览次数:37  
标签:函数 命名 模块 day15 func time 空间 复习

蒙特卡洛仿真

2023-12-05 19:28:40
函数复习
def func(*args,**kwargs):
pass

#func可以接受所有的参数
*形参:接受多余的位置实参 以元组的形式存储
**形参:接受多余的关键字参数 以字典的形式存储

函数对象的作用:
①引用 f1=func
②作为函数的返回值 return func
③作为函数的参数 f2(func)
④作为容器的元素lis=[func,123,f1,f2]

名称空间(命名空间)与作用域:
在Python中,万物皆对象。
命名空间是一个真实存在的对象,并不是一个虚拟的抽象的概念,在目前的Python实现中,命名空间是通过Python的字典(dict)来实现的。
每位开发者在写代码时,都要用到变量,通常在定义变量的同时给它赋一个值(这个值本质上是在一块内存区域中存储的),再使用变量。
在Python中,变量只是一个引用,指向的是这个被赋值的对象。由于变量是一个引用关系,也就存在一对一的映射,因此需要有一个地方保存这个对应关系。命名空间就是用来保存这种对应关系的。

总结一下,命名空间是一个特殊对象,它保存的是变量名(标识符)到对象(本质上是内存区域)的映射。

1)内置命名空间(Built-in),Python语言内置的命名空间,在写代码时,任何地方都可以访问。
例如,Python内置的数据类型(如bool,float,int,list,dict,set,str等类型)、内置函数(如sum,min,max,print等函数)和标准异常(如Exception、IOError、IndexError、NameError等异常)等等。

2)全局命名空间(Global),模块被加载时创建的命名空间,记录模块中导入的其它模块,定义的全局变量、函数和类

3)局部命名空间(Local),函数被调用时创建的命名空间,记录函数的参数、函数体中定义的所有变量。


查找顺序:从当前开始查找,如果当前是局部则是:局部》》全局》》内置

执行顺序:内置(python解释权启动的时候就生成了)》》全局(文件执行的时候生成)》》局部(函数被调用的时候)

作用域:全局名称空间和局部名称空间可能会存在同样的变量名,但这两个互不干扰。

闭包函数 装饰器:装饰器其实就是闭包函数的一个应用
def deco(func):
def wrapper(*args,**kwargs):
res=func()
return res
return wrapper

三层装饰器:给装饰器传参

可迭代对象:具有iter方法
迭代器对象:具有iter和next对象

生成器是自定义的迭代器,函数内部使用yield关键字 函数调用后会变成生成器

递归:一定要有结束语句!

匿名函数:lamda 参数:逻辑语句 匿名函数执行一次就失效了(没有函数名可用于重复调用)一般与max min 连用

*************************************************************************************************************************
模块

模块的形式:
①自定义模块
②内置模块,如time
③第三方库
④文件夹模块,python中叫包

time.py
要使用time模块里面的sleep()功能,有以下方式:
import time :
①打开time文件 ②将time文件放入python解释器 然后将time里的名字放入特定的time模块的名称空间③使用time.sleep()的时候会去time名称空间里面寻找对应的方法 time点出来
优点:time里面有的方法全拿到了
缺点:内存占用大

from time import sleep:
①打开time文件 ②将time文件放入python解释器 然后将time里名字放入特定的time模块的名称空间③把sleep单独拿出来放入“from time import time.py”的名称空间④直接使用sleep()就可以了

from time import *:导入全部


day1503开始

 

标签:函数,命名,模块,day15,func,time,空间,复习
From: https://www.cnblogs.com/yyyjw/p/17878161.html

相关文章

  • 封装与模块化
    数据封装是面向对象编程的基本准则:使用封装隐藏对象内部的状态。所有的通信都通过对象的方法来实现。访问修饰符:1.private(私有):仅限对象本身内部访问常用于修饰属性2.public(公开):可以任意访问常用于修饰方法classPerson{privateStringname;......
  • time模块
    time模块在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime,calendar(很少用,不讲),下面分别来介绍。我们写程序时对时间的处理可以归为以下3种:时间的显示,在屏幕显示、记录日志等"2022-03-04"时间的转换,比如把字符串格式的日期转成Python......
  • Python——第五章:OS模块
    os模块提供了很多允许你的程序与操作系统直接交互的功能importos得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是......
  • 刷题复习(二)数组-双指针
    刷题复习(二)数组-双指针https://labuladong.gitee.io/algo/di-ling-zh-bfe1b/shuang-zhi-fa4bd/1、删除有序数组中的重复项慢指针用于统计不重复项,快指针用于不停前进对比是否有新的不重复项,有的话进行替换classSolution{publicintremoveDuplicates(int[]nums){......
  • DC电源模块的常见故障有哪些?
    DC电源模块的常见故障有哪些?BOSHIDADC电源模块是电子设备中常见的电源供应模块,它可以将交流电转化为直流电供给设备使用。然而,由于长期的使用和外界环境等因素的影响,DC电源模块也会出现各种故障。下面我们来介绍一下常见的DC电源模块故障。 1.输出电压异常输出电压异常是DC......
  • DC电源模块的常见问题有哪些?
    DC电源模块的常见问题有哪些?BOSHIDADC电源模块是一种常见的电源供应设备,主要用于将交流电(AC)转换为直流电(DC)。然而,无论是新购买的还是已经使用一段时间的DC电源模块,都可能会遇到一些常见问题,如下所述。 1.输出电压不稳定:输出电压的稳定性是DC电源模块的重要指标之一。在使用......
  • quickjs模块封装、类封装
    一、模块封装、类封装通过quickjs,封装JS模块,然后可以通过import导入对应模块,还可以导入具体的类。全部代码如下。1#include"quickjs-libc.h"2#include<stdio.h>3#include<inttypes.h>4#include<string.h>5#include"cutils.h"67staticJSC......
  • SIM800C模块(2G)连接千寻
    1.测试//ATK-SIM900A各项测试(拨号测试、短信测试、GPRS测试)共用代码//sim900a发送命令后,检测接收到的应答//str:期待的应答结果//返回值:0,没有得到期待的应答结果//其他,期待应答结果的位置(str的位置)uint8_t*sim900a_check_cmd(uint8_t*str){char*str......
  • 硬件开发笔记(十四):RK3568底板电路LVDS模块、MIPI模块电路分析、LVDS硬件接口、MIPI硬件
    前言  本篇继续分析底板原理图mipi/lvds屏幕电路原理图、硬件接口详解。 LVDS与MIPI的区别  液晶屏有RGBTTL、LVDS、MIPI、HDMI接口,这些接口区别于信号的类型(种类),也区别于信号内容。RGBTTL接口信号类型是TTL电平,信号的内容是RGB666或者RGB888还有行场同步和......
  • Ansible自动化运维模块详解
    ansible ad-hoc点对点模块l ping模块主机连通性测试[root@node2~]#ansibleall-mping192.168.200.10|SUCCESS=>{    "ansible_facts":{        "discovered_interpreter_python":"/usr/bin/python"    },    "changed":fals......