【python基础】函数-模块
函数的优点之一是,使用它们可将代码块与主程序分离。通过给函数指定函数名称,可让主程序容易理解的多。我们还可以更加细化,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。import关键字作用就是将模块中的代码导入到当前主程序中。
通过将函数存储在独立的文件中,可隐藏程序代码细节,将重点放在程序的高层逻辑编写上。这还能在不同的程序中多次调用函数。将函数存储在独立文件中后,可与其他程序员共享这些文件而不是整个程序,所以知道如何导入函数还能使用其他程序员编写的函数库。
导入模块的方法有多种,我们接下来一一介绍
1.导入整个模块
1.1创建模块
要让函数是可导入的,得先创建模块。模块是扩展名为.py的文件,包含要导入到程序中的代码。下面我们来创建一个录入人员信息的模块,我们新建一个.py文件,并且将其命名为people.py。
- 新建文件。左键选中项目名称course,右击course出现一级菜单选择New,出现二级菜单选择Python File
2.编写文件名people,点击回车
3.我们发现在main.py文件下面出现了一个people.py。
4.我们在文件中编写代码如下所示:
1.2导入模块并调用模块函数
模块创建好之后,我们导入模块,并且调用模块函数,此时我们准备在主程序main.py文件中导入people模块,并调用insert_people函数,
导入模块的语法格式:
import 模块名
调用函数的语法格式:
模块名.函数
编写程序如下所示:
通过输出结果发现,是符合我们的设想的,这里import关键字把people模块中的代码导入到主程序main中,我们再通过模块.函数的方式,也就是people.insert_people的方式将人员信息录入,录入结束返回录入结果,将录入结果添加到list_people这个人员列表中,然后我们再将list_people输出。
1.3导入特定的函数
有时模块中函数较多,但是我们只想使用其中的某几个函数,为了程序的高效运行,我们可以不用把整个模块导入,而是只导入模块中我们需要的函数即可,这里就会用到from关键字,作用就是让Python要导入哪个模块的函数
导入特定函数其语法格式:
from 模块名 import 函数
调用特定函数其语法格式:
函数
我们再编写一个,修改人员名称的函数,在people模块中编写如下程序:
我们在main函数中调用update_people函数,在main主程序中编写程序如下所示
1.4as关键字
as关键字是给模块或者函数起别名的,这样做一方面是为了让模块名或者函数名避免过长,另一方面是为了避免与主程序中现有的名称冲突,使用as可以指定一个简短而独一无二的别名。
1.4.1给模块指定别名
我们将名字为'王五'的人员信息删除,people模块编写程序如下所示:
在主函数main中调用,编写程序如下所示:
1.4.2给特定的函数指定别名
查询所有人的信息,people模块编写程序如下所示:
主程序main编写程序如下所示:
people模块的list_people函数,正好和主程序中的list_people变量重名,通过起别名的方式,可以实现正常运行,如果不起别名会引起错误。
1.5导入模块中的所有函数
使用*号运算符可让Python导入模块中的所有函数
其语法格式:
from 模块名 import *
由于导入了所有函数,可直接通过名称来调用每个函数,而无须使用模块.函数的方法。然而,使用并非自己编写的大型模块时,最好不要采用这种导入方法,因为如果模块中有函数名称和编写的项目中使用的名称相同,可能导致意想不到的效果,Python可能遇到多个名称相同的函数或变量,进而覆盖函数,而不是分别导入所有的函数。
最好的做法是,要么只导入需要使用的函数,要么导入整个模块并使用模块.函数的语法格式调用函数。
【python基础】函数-模块的更多相关文章
- python基础,函数,面向对象,模块练习
---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? # [] {} () None 0 2,位和字节的关系? # ...
- python基础——使用模块
python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...
- 二十五. Python基础(25)--模块和包
二十五. Python基础(25)--模块和包 ● 知识框架 ● 模块的属性__name__ # my_module.py def fun1(): print("Hello& ...
- python 基础之 模块
Python 基础之模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文 ...
- python基础——第三方模块
python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的. 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了. 如果你正在使用Window ...
- python基础——函数的参数
python基础——函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复 ...
- python基础—函数嵌套与闭包
python基础-函数嵌套与闭包 1.名称空间与作用域 1 名称空间分为: 1 内置名称空间 内置在解释器中的名称 2 全局名称空间 顶头写的名称 3 局部名称空间 2 找一个名称的查找顺序: ...
- python基础—函数装饰器
python基础-函数装饰器 1.什么是装饰器 装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能. 装饰器的返回值是也是一个函数对象. 装饰器经常用于有切 ...
- Python基础-函数参数
Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...
- 【Python之路】第六篇--Python基础之模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
随机推荐
- react中自定义函数、生命周期钩子函数、修改状态、组件、组件传值
1.回顾 2.自定义函数 事件的首字母大小 onclick ==> onClick onchange ==> onChange 普通的点击事件 ---- 调用事件不加(),加了立即执行 i ...
- 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3
基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/ ...
- [CTF]picoCTF-day1
Lets Warm Up If I told you a word started with 0x70 in hexadecimal, what would it start with in ASCI ...
- k8s加入新的master节点出现etcd检查失败
背景: 昨天在建立好新的集群后,出现了新的问题,其中的一台master节点无法正常工作.虽然可以正常使用,但是就出现了单点故障,今天在修复时出现了etcd健康检查自检没通过. ...
- 华为 A800-9000 服务器 离线安装MindX DL
MindX DL(昇腾深度学习组件)是支持 Atlas 800 训练服务器.Atlas 800 推理服务器的深度学习组件参考设计,提供昇腾 AI 处理器资源管理和监控.昇腾 AI 处理器优化调度.分布 ...
- w11默认调用ie浏览器方法
作为公司的一个it人员,最近发现w11不能不能调用ie,导致公司的系统不能正常使用,因为后台插件室默认调用ie,如果重新写插件太麻烦,所以百度了下,亲测可用,目前,公司电脑已经可以正常使用,具体方法如 ...
- [J2EE:中间件]LOG4J+Slf4J快速入门及日志最佳实践
1 概述 1.1 常见的Java日志框架及选择 commons-logging和slf4j(slf4j-api.jar)都是日志类库的接口,供客户端使用,而没有提供实现! log4j,logback等 ...
- RxJava--create源码分析
使用示例: Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe( ...
- macOS下安装 n 管理包(node版本管理工具)
1. 安装 n 管理包 终端命令全局安装 npm install -g n 安装成功后在终端输入 n --version 或 n 查看,可看到 n 的默认安装目录 下面就是使用 n 的方式了, 首先查 ...
- Python网页应用开发神器fac 0.2.6版本重要新功能一览
fac项目地址:https://github.com/CNFeffery/feffery-antd-components ,欢迎star支持 大家好我是费老师,距离我的开源Python网页应用通用组件 ...