python语法高级 — chap2-01 模块

模块

  • 一个模块就是一个包含python代码的文件, 后缀名成是.py就可以,模块就是个python文件

1 为什么我们用模块

  • 程序太大,编写维护非常不方便,需要拆分
  • 模块可以增加代码重复利用的方式
  • 当做命名空间使用,避免命名冲突

2 如何定义模块

  • 模块就是一个普通文件,所以任何代码可以直接书写,
  • 不过根据模块的规范,最好在模块中编写以下内容
    • 函数(单一功能)
    • 类(相似功能的组合,或者类似业务模块)
    • 测试代码

3 如何使用模块

3.1 模块直接导入

  • 语法1

      import module_name
      module_name.function_name
      module_name.class_name
    
  • 案例1: 在02.py中导入01.py模块,并且调用其中函数

# 01.py
class Student():
    def __init__(self, name="Jay", age=25):
        self.name = name
        self.age = age

    def say(self):
        print("My name is {0}".format(self.name))

def keyboard():
    print("欢迎来到一起快乐的敲键盘!")

print("我是模块p01,主人请随意调用!")
# 02.py

# 借助于importlib包可以实现导入以数字开头的模块名称
import importlib

# 相当于导入了一个叫01的模块并把导入模块赋值给了md
md = importlib.import_module("01")

stu = md.Student()
stu.keyboard()
  • 案例2: 在p02.py中导入p01.py模块,并且调用其中函数
# p01.py
class Student():
    def __init__(self, name="xiaohei", age=18):
        self.name = name
        self.age = age

    def say(self):
        print("My name is {0}".format(self.name))

def picture():
    print("小姐姐,要拍照吗?")

# 此判断语句建议一直作为程序的入口
if __name__ == '__main__':
    print("我是模块p01,主人请随意调用!")
# p02.py
import p01

# 调用类Student中的函数say
stu = p01.Student("xiaohei", 19)
stu.say()

# 调用函数picture
p01.picture()
  • 语法2

      import 模块 as 别名   
      导入的同时给模块起一个别名
      其余用法跟第一种相同    
    
  • 案例3:导入模块p01中的函数say

# p03.py
import p01 as p

stu = p.Student("Jay", 25)
stu.say()
  • 语法3

      from module_name import func_name, class_name
      按上述方法有选择性的导入
      使用的时候可以直接使用导入的内容,不需要前缀
    
  • 案例4:导入模块p01中的类和函数

# p04.py
from p01 import Student, sayHello

# 调用类Student中的函数say
stu = Student()
stu.say()

# 调用函数picture
picture()
  • 语法4

     from module_name import *
     导入模块所有内容
    
  • 案例5: 导入模块p01中所有内容

# p05.py
from p01 import *

# 调用函数picture
picture()

# 调用类Student中的函数say
stu = Student("Jay", 25)
stu.say()

目录
上一篇:chap1-06 内置数据结构
下一篇:chap2-02 模块的搜索路径和命名

本次笔记来自于“免费Python全系列教程全栈工程师”的学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值