基础小白快速入门Python------>模块的作用和意义

模块,

这个词听起来是如此的高大威猛,以至于萌新小白见了瑟瑟发抖,本草履虫见了都直摇头,好像听上去很难的样子,但是但是,年轻人,请听本少年细细讲述,他只是看起来很难,实际上也有一点难

在Python开发中,我们其实经常使用到模块这个东西,当我们学习到python的中后期,会觉得不同的模块,哎呀哎呀,头好大好大,其实,最原始最基本的模块儿也只不过是那一个最基础,最原始,最狂野的helloworld.py

没错,就是helloworld.py

在我们最先学习python的时候,我们就使用了模块儿而不自知,如今经过我说一嘴,你不仅知道了你使用了最基本的模块,也许你还会悟出一个道理

你使用了很多模块儿。

那么,模块究竟是个啥?

听闻helloworld.py也算模块,我们不禁质疑到,小小的helloworld.py也算模块?

当然让然,

首先helloworld.py是一个文件

其次helloworld.py还包含了语句

最后helloworld.py里面还有一个print输出函数

这就是一个最基本的模块

简单的来一个helloworld

这上面的.py就是模块

helloworld是最小最原始的模块

所以我们日常写的代码都算是一个小模块

模块,是一种组织代码的方式,能够让我们的代码更高效的运行,是一种能够牛逼的手法,模块通常用.py来表明文件格式,里面包含不同函数和不同语句,类,以及变量,来实现我们想要的功能

可是可是,往往学到后期,我们经常被库,函数,模块搞得头很大

这三者又有怎么样的联系呢?怎么个事?

同学同学,别急别急,在学习编程的过程中,库(Library)、函数(Function)和模块(Module)是经常会遇到的三个概念,

它们之间有着紧密的联系,但又各自有不同的职责和特点。

这三者是个啥?

1. **函数(Function)**:

**函数是编程语言中用于执行特定任务的代码块。****它可以接受输入参数,并可以返回一个结果。****函数是模块或程序的一部分,****它可以被重复调用,以执行具体的操作,**如数学计算、数据处理等。

2. **模块(Module)**:
模块是包含了一组相关函数、变量和对象的文件**,它可以被其他程序或模块导入使用。****由于我们可能在一个文件中导入多个文件,一个模块中导入很多模块,这是我们会觉得很难,但搞清楚具体的概念发现,哦哦哦~原来,不过如此。**模块的主要目的是为了代码的复用和组织,它可以被看作是自包含的代码库。在大型项目中,使用模块可以帮助开发者组织和管理代码,提高开发效率。

3. **库(Library)**:
库是一组为了特定目的而编写的模块的集合**,**它提供了一系列预先编写好的函数和对象,以便开发者可以使用这些功能而不需要从头编写代码。库通常是为了处理常见的任务或者实现某些复杂的功能而编写的。比如,Web开发中的Django库、数据分析中的NumPy库等。

复制代码
import tkinter as tk
import random

def main():
    root = tk.Tk()
    root.title("猜数字游戏")

    target = random.randint(1, 100)
    attempts = 0
    guess = None

    label = tk.Label(root, text="猜数字游戏开始!数字范围是1到100。", font=("Arial", 14))
    label.pack(pady=20)

    entry = tk.Entry(root, font=("Arial", 16), width=10)
    entry.pack(pady=10)

    def check_guess():
        global guess, attempts
        guess_str = entry.get()
        try:
            guess = int(guess_str)
        except ValueError:
            label.config(text="输入有误,请输入一个有效的数字。")
            return

        attempts += 1

        if guess < target:
            label.config(text="猜小了!请再试一次。")
        elif guess > target:
            label.config(text="猜大了!请再试一次。")
        else:
            label.config(text=f"恭喜你,猜对了!数字是{target}。你一共猜了{attempts}次。")
            reset_button.config(state="normal")

    check_button = tk.Button(root, text="检查", command=check_guess, font=("Arial", 16))
    check_button.pack(pady=10)

    def reset():
        # 这里是重置函数的代码
        pass

    reset_button = tk.Button(root, text="重置", command=reset, font=("Arial", 16), state="disabled")
    reset_button.pack(pady=10)

    def reset():
        global attempts, guess
        attempts = 0
        guess = None
        label.config(text="猜数字游戏开始!数字范围是1到100。")
        entry.delete(0, tk.END)
        reset_button.config(state="disabled")

    root.mainloop()

if __name__ == "__main__":
    main()

代码有点儿小问题哈,但不影响本草履虫分享模块儿,不过有大神愿意斧正我也是非常开心的

这个猜数字游戏里面

这就是咱们定义的函数

这就是咱们导入的模块和库

这三者的联系:

**- **函数**是模块的一部分,模块中可以包含多个函数。

  • **模块**可以被看作是较小型的库,一个库是由多个模块组成的。
  • **库**则是由多个模块和函数组成的,它提供了更高级别的抽象,使得开发者可以更容易地使用特定的功能。**

在实际应用中,我们要根据需要选择合适的库,并使用其中的函数和模块来完成特定的任务。例如,在Python中进行数据分析时,可能会使用到NumPy库中的函数来执行矩阵运算,使用Pandas模块来处理数据表格。

理解这三者的关系,有助于我们更好地组织代码,选择合适的方法来解决问题,提高编程效率和代码质量。在学习的过程中,应当逐步理解和掌握它们的特点和应用方式。

那么又有人说了,凭啥我只能用别人的,我也想用我自己的,不行吗

当然可以,非常可以,你只需要写完以后简单的来一个import 加上你的模块名就成了

比如

import helloworld

没人说你啥的

我们就先浅浅的创建一个my_module吧

复制代码
# my_module.py

def greet(name):
    return "Hello, " + name + "!"

class Dog:
    def __init__(self, name):
        self.name = name

    def bark(self):
        return "Woof!"

在来创建另一个main

复制代码
# main.py

import my_module

# 使用my_module中定义的函数
print(my_module.greet("World"))

# 创建my_module中定义的Dog类的实例
my_dog = my_module.Dog("Fido")
print(my_dog.bark())

这是两者的文件名

这是运行后的效果

你学会了吗

相关推荐
夜晚回家几秒前
「Java基本语法」代码格式与注释规范
java·开发语言
YYDS3145 分钟前
C++动态规划-01背包
开发语言·c++·动态规划
前端页面仔14 分钟前
易语言是什么?易语言能做什么?
开发语言·安全
CryptoPP33 分钟前
使用WebSocket实时获取印度股票数据源(无调用次数限制)实战
后端·python·websocket·网络协议·区块链
树叶@34 分钟前
Python数据分析7
开发语言·python
wydaicls37 分钟前
十一.C++ 类 -- 面向对象思想
开发语言·c++
Biomamba生信基地1 小时前
R语言基础| 下载、安装
开发语言·r语言·生信·医药
姜君竹1 小时前
QT的工程文件.pro文件
开发语言·c++·qt·系统架构
奇树谦1 小时前
使用VTK还是OpenGL集成到qt程序里哪个好?
开发语言·qt
VBA63371 小时前
VBA之Word应用第三章第十节:文档Document对象的方法(三)
开发语言