没有公众号建微信网站,太原本地网站搭建公司,建行企业网站,小超人成都网站建设1. 模块 概念#xff1a;其实就是一个Python文件#xff0c;正常文件有的变量#xff0c;函数#xff0c;类#xff0c;模块都有 功能:模块可以被其它程序引入#xff0c;以使用该模块中的函数等功能。 示例#xff1a;test-module.py调用mymodule.py模块中的now_time…1. 模块 概念其实就是一个Python文件正常文件有的变量函数类模块都有 功能:模块可以被其它程序引入以使用该模块中的函数等功能。 示例test-module.py调用mymodule.py模块中的now_time()方法 新建mymodule.py文件 #mymodule.py
import time #导入系统标准库模块
def now_time(): #设计显示系统当前时间的函数nttime.localtime()s(%02d:%02d:%02d%nt[3:6])print(s)time.sleep(1)新建 test-module.py文件 #test-module.py
import mymodule
print(现在的时间是:,end )
mymodule.now_time() #通过其它模块的函数显示系统当前时间在test-module.py文件下运行,查看结果
1.1 模块导入方法(掌握)
分类有标准模块、自定义模块和第三方库之分。
import 模块名 解释器会按系统搜索路径将指定模块导入当前程序中这种方式在使用被导入模块中的函数时需用“模块名.函数名”的格式 from 模块名 import 函数
解释器会将模块中的指定函数单个导入到当前程序中这种方式在使用被导入模块中的函数时前面无需加“模块名.”直接使用函数名。 (3)
from 模块名 import * 解释器会将模块中的所有函数导入到当前程序中模块中的所有函数可以在本程序直接使用
示例 #1import mymoudleprint(mymoudle.now_time())#2from mymoudle import now_timeprint(now_time())#3from mymoudle import *print(now_time())#4起别名import mymoudle as my#使用mymoudle模块中的now_time函数# 获取系统当前时间#别名.函数名my.now_time()my.test()2. 命名空间
概念在编写Python程序的过程中如果要使用变量和函数都需要先对变量和函数命名后才能使用。 Python会把命名后的变量和函数分配到不同的命名空间(Namespace)并通过名称来识别它们。作用 是不同的命名空间对应不同的作用域和作用域类似防止命名冲突 分类: 局部命名空间(Local)每个函数所拥有的命名空间记录了函数中定义的所有变量包括函数的参数、内部定义的局部变量全局命名空间(Global)每个模块加载执行时创建的记录了模块中定义的变量包括模块中定义的函数、类、其他导入的模块、模块级的变量与常量内建命名空间(Built-in)是Python自带的任何模块均可以访问放着内置的函数和异常
3.总结
重点画框的部分
作用域和命名空间重点理解作用域
模块掌握模块使用方法和4种导入方式
作业 改写用户通讯录系统 把所有面向过程的方法改写成函数形式运行并、截图 函数形式改写成模块形式运行并截图 最初版本 截图
print(
欢迎使用通讯录
1.添加联系人
2.查看通讯录
3.删除联系人
4.修改联系人信息
5.查找联系人
6.退出)
list_person [] # 存放每个人的信息列表
while (True):gongneng eval(input(请输入功能序号))# 1.添加联系人if gongneng 1:print(添加功能)ximing input(请输入联系人的姓名)shouji input(请输入联系人的手机号)youxiang input(请输入联系人的邮箱)dizhi input(请输入联系人的地址)dict_person {姓名: ximing, 手机号: shouji,邮箱: youxiang, 地址: dizhi}list_person.append(dict_person)# 2.查看通讯录elif gongneng 2:print(查看通讯录)if len(list_person) 0:print(通讯录没有联系人)else:for i in list_person: # 此时从列表取出的元素是字典存在i里面# 打印一个人的所有信息for key, value in i.items():print(f{key}:{value})print(-----------)# 3.删除联系人elif gongneng 3:if len(list_person) 0:print(通讯录没有联系人)else:print(删除联系人)# 3.1 获取删除的联系人姓名delete_xm input(请输出要删除的联系人姓名)# 3.2 根据姓名找到其所在字典然后通过字典找到所在列表的下标flag 0 # 标记为1时应该结束外层找字典的循环index -1 # i就是字典在列表的下标for i in list_person: # 找字典index 1for key, value in i.items():if key 姓名 and value delete_xm:flag 1breakif flag 1:break# 3.3 根据下标删除列表的元素list_person.pop(index)print(删除成功)# 4.修改联系人信息elif gongneng 4:print(修改联系人信息)if len(list_person) 0:print(通讯录没有联系人)else:#获取要修改的联系人姓名change_name input(请输入要修改的联系人姓名) print(change_name)#总思路从字典找到对应姓名然后替换信息#1.遍历列表获取每一个元素字典也是每个人的个人信息index -1#当前元素所在列表下标flag 0 #值为1时标记已经找到对应下标for i in list_person:index 1for key,value in i.items():if key 姓名 and value change_name: flag 1breakif flag 1:breakif flag 1:#2.找到了下标修改信息list_person[index][姓名] input(请输入新姓名)list_person[index][手机号] input(请输入新手机号)list_person[index][邮箱] input(请输入新邮箱)list_person[index][地址] input(请输入新地址)else:print(没有该联系人)# 5.查找联系人elif gongneng 5:print(查找联系人)# 6.退出elif gongneng 6:print(# 退出)break 函数形式版本待更新 模块化后版本待更新