00.以.py位后缀名进行保存,任何此类文件都会被自动认为Python模块。在模块顶层指定的所有变量名都会变成器属性(宇模块对象结合的变量名),并且可以导出工客户端来使用。

01.一个文件名就是一个模块对象,引用的使用使用文件名字就是代表模块

02.因为import使一个变量名引用整个模块对象,我们必须通过模块名称来得到该模块的属性。

03.from语句会把变量名复制到另一个作用域,所有它就可以让我们直接在脚本中使用复制后的变量名,而不需要通过模块

04.import与import区别
a.因为import使一个变量名引用整个模块对象,我们必须通过模块名称来得到该模块的属性

b.变量名复制到另一个作用域,所有它就可以让我们直接在脚本中使用复制后的变量名,而不需要通过模块

c.使用*时,会取得模块顶层所有赋了值得变量名得拷贝。

05.模块会在第一次import或from载入并执行,并且旨在第一次如此。这是有意而为之得,因为该操作开销较大。在默认得情况下,Python只对每个文件得每个进程做一次操作。之后得导入操作都只会去除已加载得模块对象。

06.细致点

07.import和from是赋值给一个变量名:
*import将整个模块对象赋值给一个变量名
*from将一个或多个变量名赋值给另一个模块中同名得对象。以from复制得变量名会变成对共享对象得引用。

08.只要在心中把“调用者”和“函数”换成"被导入模块"和”导入者“即可。

09.from只是把变量名从一个模块复制到另一个模块,并不会对模块名本身进行赋值。

10.简单模块一般倾向于使用import,而不是from。多数得from语句是用于明确列举出想要得变量,而且限制在每个文件中只用一次from * 形式。这样一来,任何吴定义得变量名都可认为是存在与from *所引用得模块内。

11.模块最好理解位变量名得疯转,也就是定义想让系统其余部分看到变量名的场所。

12.模块加载和作用域的概念以了解其原因。
*模块语句会在首次导入时执行
*顶层的赋值语句会创建模块属性
*模块的命名空间能通过__dict__或dir(M)获取
*模块时一个独立的作用域(本地变量就是全局变量)

13.属性名的点号运算
*简单变量:X是指再当前作用域内搜索变量名X
*点号运算:X.Y是指再当前范围内搜索X,然后搜索对象X之中的属性Y.
*多层点号运算:X.Y.Z指的时寻找对象X之中的变量名,然后再找对象X.Y中的Z.
*通用性:点号运算可用于任何具有属性的对象:模块、类、C扩展类型

14.变量的含义一定是由原代码中的赋值语句的位置决定的,而属性总是伴随着队行的请求。

15.moda.f修改moda中的X,而不是modb中的X。moda.f的全局作用域一定是其所在的文件,无论这个函数是由哪个文件调用的。

16.模块程序代码默认指对每个过程执行一次。要强制使模块代码重新载入并重新运行,你的可以要求Python这么做,也就是调用reload内置函数。
*导入只会模块再流程中第一次导入时,加载和执行该模块的代码
*之后的导入只会使用已加载的模块对象,而不会重载或重新执行文件的代码
*reload含税强调以加载的模块的代码重新载入并重新执行。此文件中新的代码赋值语句会再适当的地方修改现有的模块对象。

17.reload基础
*reload是python中内置函数,而不是语句
*传给reload是已经存在模块对象,而不是变量名
*reload在Python3.0位于模块之中,情切必须导入自己。

18.reload需要小括号,但import不需要。reload(module)
*reload会在模块当前命名空间内执行模块文件的新代码。重新执行模块文件得额代码会覆盖其现有命名空间,并非进行删除而进行重建
*文件中顶层赋值语句会使得变量名换程新值。例如,重新执行的def语句会因重新赋值函数变量名而取代模块命名空间内核函数之前的版本。
*重载会影响所有使用import读取了模块的刻画u按。因为import的客户端需要通过点号运算去除属性。
*重载只会对以后使用from的客户端造成影响

转载于:https://www.cnblogs.com/aixiaoxiaoyu/p/11215677.html

python学习手册笔记——22.模块代码编写基础相关推荐

  1. 语句与语法笔记:学会python中_doc_和pydoc——python学习手册笔记之3

    标题## 语句与语法:学会python中的_doc_和pydoc--python学习手册笔记之3 光看书不练习很难学好python,光看书不做点学习笔记,恐怕连书本的东西也是半知半解,不知所云.这手册 ...

  2. python数值类型不包含复数_[python学习手册-笔记]003.数值类型

    003.数值类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明作者和出 ...

  3. python一般的基础代码-Python:模块代码编写基础

    1 创建模块:定义模块用文本编辑器,以py为后缀保存.文件命名需遵循python命名规则. 2 模块使用:import / from import:将整个模块对象赋值给一个变量名 from:将一个或者 ...

  4. python学习手册笔记——20.迭代和解析

    00.由于python编程中的一种常见任务,Python最终产生了一种新的表达式--列表解析,它甚至比我们前面学习的工具更灵活.简而言之,列表解析把任一一个表达式而不是一个函数应用于一个迭代对象中的元 ...

  5. python学习手册第一章部分代码练习

    def spliting(): print('-'*60) import math print(math.pi) # 3.141592653589793 print(math.sqrt(4)) # 2 ...

  6. 《Python学习手册》读书笔记

    原文地址为: <Python学习手册>读书笔记 之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<P ...

  7. python学习手册条件-Python学习手册(第4版)pdf

    Python学习手册(第4版) 内容简介 <Python学习手册(第4版)>学习Python的主要内建对象类型:数字.列表和字典.使用Python语句创建和处理对象,并且学习Python的 ...

  8. python学习手册中文版免费下载-Python学习手册

    Python学习手册第4 版将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者.本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成 ...

  9. python学习手册中文版免费下载-Python学习手册 第三版

    <Python学习手册(第3版)>讲述了:Python可移植.功能强大.易于使用,是编写独立应用程序和脚本应用程序的理想选择.无论你是刚接触编程或者刚接触Python,通过学习<Py ...

最新文章

  1. django模型sqlserver_让Django模型在MSSQL上工作的麻烦?
  2. UA OPTI501 电磁波8 麦克斯韦方程边界条件的推导
  3. 成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byt
  4. php作业90,php中文网移动端-第九期(191107作业)
  5. 常用函数式接口之Predicate
  6. Cisco交换机设置管理IP
  7. hdu 4196(数论)
  8. 一个故事讲完 CPU 的工作原理
  9. 公证通Factom白皮书
  10. Codeforces Gym 100015A Another Rock-Paper-Scissors Problem 找规律
  11. java-net-php-python-jspm智守护学生健康管理系统软件设计与开发计算机毕业设计程序
  12. ExifTool 抽取、修改Image tag 信息
  13. 正确选择合适的移动应用测试工具很重要
  14. win10 无法删除 注册表 蓝牙_Win10蓝牙无法删除设备蓝牙鼠标无法连接解决方法...
  15. [kuangbin]专题三 Dancing Links Squiggly Sudoku HDU - 4069【DFS】【精确覆盖】
  16. (四)改掉这些坏习惯,还怕写不出健壮的代码?
  17. 计算机丢失codex.dll,进击的要塞出现codex.dll文件丢失
  18. 重磅!《中国迈向新一代人工智能》全文来了。道翰天琼认知智能平台为您揭秘新一代人工智能。
  19. Android 统计流量数据
  20. 购买智能手机必须要知道的一些

热门文章

  1. 【听说是线段树】bzoj1012 [JSOI2008]最大数maxnumber
  2. SDWebImage内部实现过程
  3. 享元模式 -- 大话设计模式
  4. .NET中的IO操作之文件流
  5. 软件包有未满足的依赖关系
  6. [转]Visual Assist X设置
  7. PostgreSQL操作问题(转载)
  8. Win10打不开jar程序的解决方法 [转载]
  9. c语言随机延迟5-10秒,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
  10. feed流和瀑布流_Feed流和瀑布流 - kathy829的个人空间 - OSCHINA - 中文开源技术交流社区...