三元表达式    无论条件成立与否都要返回一个值,    用于简化仅有一个判断的函数(或代码块)递归    递归有循环调用的次数限制,调用函数时,函数相关数据要入栈,而栈区是有限的    二分查找法匿名函数    仅能在定义时使用一次,定义完了就没了    参数没有括号,不能有return,会自动把函数体的执行结果当做返回值    函数体只能有一个表达式 且不能换行内置函数    max min sorted map filter reduce

    1.列表生成式    2.生成器表达式    3.模块的使用*****        3.1 模块的分类        3.2 自定义模块        3.3 模块的两种方式        3.4 模块的搜索顺序   

列表生成式     一个快速生产列表的表达式    语法[表达式 for in 遍历]    语法[表达式 for in 遍历 if 条件]生成器表达式    生成数据的函数 函数体中yield关键字  yield 暂停函数的执行 还能返回一个值    可以使用一种快速创建生成器的表达式    语法(表达式 for in 循环 if 条件)    与列表生成式完全相同

目前使用函数来编写代码 虽然大幅度降低了代码冗余,并且组织结构清晰多了但是随着项目功能的增加如果还将代码全放一个文件中,将会出现以下问题    1.维护性差2.函数太多结构也不清晰,可读性差3.对于相同功能的函数,如果在不同文件中都要使用,就只能复制粘贴 又出现了重复代码

1.如何拆分文件2.拆开后如何再使用文件中的内容上述问题的解决方案就是拆分模块

什么是模块    模块就是一堆功能的集合体,以py文件的形式存在    简单的就是具备一堆函数的py文件模块的分类    1.自定义模块(重点学习),包含第三方模块(学习用法即可)    2.内置模块 例如time os(主要学怎么使用)    3.经过编译后的C或C++库,以DLL形式存在(忽略)    4.包(本质就是一个文件夹,其中包含了一堆模块)

import 用于导入一个模块会立即执行模块中的代码导入模块时发生了什么    1.创建了一个名称空间    2.执行模块中的代码,将内部名称与值的对应关系存储到名称空间中        3.在当前执行文件创建一个名字,该名字指向被导入模块的名称空间

    注意:模块之间的名称空间是相互独立的        模块中的代码仅在第一次被导入时执行

    pycharm会自动帮你检测 项目根目录下的模块    给以给你一些提示,但是对于不再根目录下的,他可能会报错        这是pycharm 的问题 不影响执行

    给被导入的模块取别名    import xxx as xx    print()

    from导入模块    使用from 导入时 会把import后的名字直接放入当前名称空间    使用时可以不写前缀    注意:可能会与当前名称空间中的名字冲突    如果真的冲突了 会就近查找 谁最后定义我就用谁

    *通配符 会将模块中所有名字全部导入    极容易出现名称冲突,要慎用

    该特殊变量 用于指定哪些名字可以被*导入    __all__ = ['func']

    执行文件的两种方式:    __name__属性可以获取当前这个模块的名字    当这个文件作为执行文件被执行时,__name__的值时__main__    当这个文件被导入执行时,__name__的值时模块的名字

    使用模块时必须先找到对应的模块文件,这就涉及到查找(搜索)路径    1.查找内存中已存在的    2.内置的    3.sys.path    sys.modules 可以看到内存中已经加载的模块    当你要使用的模块不在执行文件同一级下时,就找不到    pycharm会自动把项目根目录加入syspath    如果碰巧你要找的文件就在项目根目录下,就能找到    但是如果你换了一个运行环境不在pycharm,就有可能找不到    所以为了保证你的项目在哪都能运行,我们需要自己将要使用的文件路径添加到sys.path中    可以将sys.path理解为解释器的环境变量    如果你的执行文件在根目录下,就能够访问到当前项目中的所有文件,无须关心sys.path

    内置函数       abs 绝对值      all 如果所有元素都为True 结果为True      any 任意一个元素为True 结果为True      ascii 将参数转为asc 如果asc不支持这个字符就转unicode      bin  转为二进制      oct 转为八进制      hex 转为十六进制      bytearray 字节数组      bytes 转为字节      callable 是否可调用      chr 数字转asc对应的字符      ord 按照asc字符转数字      compile 把对象转为指定的字节码      complex 转为复数形式      dir  查看该对象中所有可用的名字(函数和变量)      divmod 得到商和余数      enumerate  枚举 把一个值和数字对应      eval 可以帮你把一个字符串的内容转换成python数据类型 但是这并不是他的本职工作      frozenset 冻结一个集合      globals 查看全局名称空间中的所有名字      locals 查看局部名称空间中的所有迷你工资 在全局位置调该函数 看到也是全局      hash 可以校验一个数据是不是可变      可hash的都是不可变的 不可hash都是可变的

转载于:https://www.cnblogs.com/gengbinjia/p/10288522.html

列表生成式,生成器表达式,模块的使用相关推荐

  1. python列表生成器语法_Python 列表生成式\生成器

    Python 列表生成式+生成器 一.列表生成式 1.什么是列表生成器 一种可以便捷地生成列表的表达式,有时候可以替换list.append(变量) 2.需求. 如何将列表中的每个数据都加1 列表:d ...

  2. 4 三元表达式 列表解析 生成器表达式

    三元表达式 #!/usr/bin/env python3 # _*_ coding:utf-8 _*_ # @File : 三元表达式 # @Version : 1.0'''三元表达式能实现简单的 i ...

  3. 三元表达式列表解析生成器表达式

    三元表达式 列表解析 生成器表达式 三元表达式 在作简单的判断时,三元表达式能简化代码: def max(x, y):if x > y:return xelse:return y # 这个函数可 ...

  4. python从random生成列表_Python 学习DAY 17 列表生成式,生成器,迭代器,time模块,random模块...

    ********************************************列表生成式****************** a=[x for x in range(10)]     [0, ...

  5. Python - 列表解析式/生成器表达式

    列表解析式: [expr for iter_var in iterable if cond_expr] 生成器表达式: (expr for iter_var in iterable if cond_e ...

  6. python迭代器和生成器(3元运算,列表生成式,生成器表达式,生成器函数)

    1.1迭代器 什么是迭代器: 迭代器是一个可以记住遍历的位置对象 迭代器对象从集合的第一个元素元素开始访问,直到所有元素被访问完结束,迭代器只能往前不会后退. 迭代器有两个基本方法:iter ,nex ...

  7. python 列表生成式_深度好文:Python之列表生成式、生成器、可迭代对象与迭代器(一)...

    作者:云游道士 原文:https://www.cnblogs.com/yyds/p/6281453.html 本节内容 语法糖的概念 列表生成式 生成器(Generator) 可迭代对象(Iterab ...

  8. python之生成器(~函数,列表推导式,生成器表达式)

    一.生成器 概念:生成器的是实质就是迭代器 1.生成器的贴点和迭代器一样,取值方式也和迭代器一样. 2.生成器一般由生成器函数或者声称其表达式来创建,生成器其实就是手写的迭代器. 3.在python中 ...

  9. 生成器、生成器函数、推导式、生成器表达式

    一.生成器 生成器的本质就是迭代器 生成器的特点和迭代器一样.取值方式和迭代器一样(__next__(),send():给上一个yield传值) 生成器一般由生成器函数或者生成器表达式来创建 其实就是 ...

最新文章

  1. 使用Redisson优雅关闭订单
  2. 810D - 如何写学术论文
  3. Android使用SAX解析XML(6)
  4. java中map怎么遍历,Java中怎么遍历Map的所有的元素
  5. android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事
  6. jeesite3环境部署时初始化数据库注意问题
  7. netstat 命令的 学习笔记
  8. P2371-[国家集训队]墨墨的等式【同余最短路】
  9. linux vma,内存管理 – Linux内核API find_vma
  10. python-字符串的切片操作
  11. 小米再回应造车传闻:一直关注,还没正式立项
  12. 定做属于自己的Lodop安装程序
  13. elk服务重启_ELK开机启动 service文件内容
  14. 达观智能制造知识图谱平台助力实现先进制造业“十四五”规划
  15. .net WPF是什么
  16. 关于计算机软件系统的知识,会计电算化知识点:计算机软件系统
  17. ansys--workbench(导入solidworks)受力分析
  18. vue集成wangeditor3.0版本 解决光标乱跳等问题
  19. Python下载qq音乐歌曲实例教程
  20. 基于Web实现在线绘画拓扑图[GraphEditor]

热门文章

  1. 金算盘高手论坛资料中心_3D006期 菜鸟论坛精英PK专栏 速来围观!!
  2. php 获取每年的节假日,shell获取每年农历节日的日期
  3. html5中音乐播放器怎么写,打造属于自己的音乐播放器 HTML5之audio标签
  4. android ipc 多个客户端,Android IPC之AIDL进阶篇
  5. linux 修改jmeter内存溢出,jmeter本机内存溢出如何修改?
  6. python概率密度函数参数估计_EM算法求高斯混合模型参数估计——Python实现
  7. JavaScript省市二级联动
  8. android 透明变成白色,android – 状态栏不透明但是白色
  9. Linux第一条指令地址,arm-linux 启动代码分析——stage1 (1)
  10. gerber文件怎么导贴片坐标_利用Gerber文件生成贴片坐标及元件位置图的方法技巧...