Python基础知识(15):模块

1、可以把模块想象成导入Python以增强其功能的扩展

2、任何程序都可以作为模块导入

3、导入模块并不意味着在导入的时候执行某些操作,它们主要用于定义变量、函数和类等

#hello1.py
def hello():
print("Hello,world!") hello()

>>> import hello1
  Hello,world!

>>> hello1.hello()
  Hello,world!

4、为了方便代码重用,把程序模块化

5、有些模块被导入时会运行,为了避免这种情况,使用'__name__'变量,“告知”模块本身作为程序运行还是导入

注:name前面和后面为两个下划线

>>> __name__
'__main__' >>> hello1.__name__
'hello1'

在“主程序”中,变量'_name_'的值是'_main_',而在导入的模块中,这个值就被设定为模块的名字

为了让模块测试代码更好用,可以将其置在if语句中

#hello2.py
def hello():
print("Hello,world!") def test():
hello() if __name__=="__main__":
test()

>>> import hello2
>>> hello2.hello()
Hello,world!

6、模块的作用域

一般情况下,函数和变量是公开的(public)。如果我们想要某个函数或变量只在这个模块中使用,需要在函数名或变量名前面加前缀'__',表示这个函数或变量是私有的(private)

#hello3.py
def __hello_1(name):
return "Hello,%s!"%name def __hello_2(name):
return "Hey,%s,your angle."%name def greeting(name):
if len(name)>4:
return __hello_1(name)
else:
return __hello_2(name) import hello3
>>> hello3.greeting("Alice")
'Hello,Alice!'
>>> hello3.greeting("Jack")
'Hey,Jack,your angle.'

7、安装第三方模块

在windows系统下安装Python的第三方库,以便导入某些模块

根据自己安装的Python版本选择相应的包管理工具pip或Anaconda进行安装

python学习之旅(十六)的更多相关文章

  1. Python学习(二十六)—— Django基础一

    转载自:http://www.cnblogs.com/liwenzhou/p/8258992.html 一.Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的 ...

  2. Python学习日记(三十六) Mysql数据库篇 四

    MySQL作业分析 五张表的增删改查: 完成所有表的关系创建 创建教师表(tid为这张表教师ID,tname为这张表教师的姓名) create table teacherTable( tid int ...

  3. python学习笔记-(十六)python操作mysql

    一. mysql安装 1. windows下安装mysql 1.1. 下载源: http://dev.mysql.com/downloads/installer/,请认准对应版本 Windows (x ...

  4. python学习之旅(六)

    Python基础知识(5):基本数据类型之字符串(Ⅱ) 字符串方法 17.join:对字符串进行拼接 x="can" y="li" y.join(x) 结果: ...

  5. Python学习笔记第二十六周(Django补充)

    一.基于jQuery的ajax实现(最底层方法:$.jax()) $.ajax( url: type:''POST“ ) $.get(url,[data],[callback],[type])  #c ...

  6. Python学习笔记第十六周

    目录: 一.CSS补充 1.页面布局 二.JavaScript补充 1.条件判断 2.函数分类 3.序列化 4.转义 5.eval 6.时间 7.作用域 三.DOM 1.间接查找 文本操作 样式操作 ...

  7. Python学习札记(三十六) 面向对象编程 Object Oriented Program 7 __slots__

    参考:slots NOTE 1.动态语言灵活绑定属性及方法. #!/usr/bin/env python3 class MyClass(object): def __init__(self): pas ...

  8. Python学习札记(二十六) 函数式编程7 修饰器

    修饰器 NOTE 1.函数对象有一个__name__属性,可以拿到函数的名字: #!/usr/bin/env python3 def now(): print('2017/2/19') def mai ...

  9. Python学习日记(二十六) 封装和几个装饰器函数

    封装 广义上的封装,它其实是一种面向对象的思想,它能够保护代码;狭义上的封装是面向对象三大特性之一,能把属性和方法都藏起来不让人看见 私有属性 私有属性表示方式即在一个属性名前加上两个双下划线 cla ...

  10. Python学习(三十六)—— Cookie、Session和自定义分页

    一.Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR ...

随机推荐

  1. MyBatis(四):mybatis中使用in查询时的注意事项

    准备工作 1)创建测试表jobitem CREATE TABLE "jobitem" ( "id" ) NOT NULL AUTO_INCREMENT COMM ...

  2. [Canvas]空战游戏进阶 增加爆炸管理类

    点此下载源码,欲观看效果请用Chrome打开index.html 图例: 源码: <!DOCTYPE html> <html lang="utf-8"> & ...

  3. Win10系统的SurfacePro4如何重装系统-2 重装WIN10系统

    把SurfacePro充好电,然后关机,开机按住音量+,然后再按电源键,可以开机并进入BIOS(此前应确保优盘已经装了PE并插入Surface)   然后选择U盘启动为第一个(按住之后把他拖放到第一位 ...

  4. 使用idea创建web项目

    一直使用的是eclipse,有一个项目开发用的是idea,我也尝试着熟悉一下idea,先来创建一个web项目吧 1.idea下载安装使用 官方下载地址:https://www.jetbrains.co ...

  5. 树莓派raspberry pi配置无线路由器AP

    raspi-config进入系统配置面板 进行 Expand Filesystem  扩展文件系统否则备份系统的时候备份文件会急速膨胀. (1)配置网络环境nano /etc/network/inte ...

  6. VTK使用矢量数据弯曲几何体

    vtkWarpVector is a filter that modifies point coordinates by moving points along vector times the sc ...

  7. wps直接打开CVS文件会把长串数字订单号最后4位变为0

    WPS打开CVS文件,发现里面的长串数字订单号后4位全变成0了,而且是以科学计数法来显示了 上网查了下,不能直接打开,得先在WPS(OFFICE中也一样)中新建一个空白表格,然后用菜单里的数据导入功能 ...

  8. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  9. C++ 如何决定字面常量类型

    C++ 是如何决定字面常量的类型的? #include <iostream> #include <cmath> int main() { using namespace std ...

  10. halcon电路断裂检测

    read_image (Image, 'pcb')dev_close_window ()get_image_size (Image, Width, Height)dev_open_window (0, ...