zoukankan      html  css  js  c++  java
  • 面向对象编程 什么模块 导入

    面向过程编程

    对着过程编程

    面向过程编程:一步一步(一个函数一个函数),上一个函数的输出是下一个函数的输入

    优点:代码的独立性提高了,流程清晰

    缺点:一个错误,让程序直接崩掉了

    什么是模块

    模块是一系列功能的集合体,而函数是某个功能的集合体,因此模块可以看成一堆函数的集合体。

    模块的四种形式

    内置模块

    python解释器启动自带的模块,如time/random/os/sys...

    pip安装模块(第三方模块)

    pip install jieba/pycharm安装

    自定义模块

    自定义代码

    把一系列模块知道到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)

    import和from...import

    import

    以time为例:

    1.开辟内存空间,内存空间命名为time

    2.把time.py中的所有代码读入名称空间,然后运行

    3.通过time.方法名使用time模块中的方法

    import time
    time.sleep(10)
    

    优点:永不冲突

    缺点:每次导入多输入资格字符,非常麻烦

    form...import

    以time为例:

    1.开辟内存空间,内存空间命名为time

    2.把time.py中的所有代码读入名称空间,然后运行

    3.把sleep()读入import和from...import.py中,因此可以直接使用方法名

    #import和from...import.py
    from time import sleep
    sleep()
    

    如果想要使用多个方法:

    from time import sleep,time
    

    如果想要使用非常多的方法

    from time import *
    

    优点:少输入几个字符

    缺点:容易发生冲突

    自定义模块

    # testt.py
    x=20
    def f1():
        print('dd')
           
    #import和from...import.py
    import testt
    print(x)
    f1()
    from testt import *# 不要使用
    

    自定义模块的用途

    分文件存储代码

    函数与函数之间分开

    让代码更清晰

    不同的模块干不同的事

    循环导入

    第一种解决方法

    #m1.py
    x=10
    from m2 import y
    print('m1',x,y)
    #m2.py
    y=20
    from m1 import x
    print('m2',x,y)
    

    第二种解决方法

    #m1.py
    def f1():
        from m2 import y
        print('m1:', x, y)
    x = 10[
    f1()
    #m2.py
    def f2():
        from m1 import x
        print('m2:', x, y)
    y=20
    f2()  
    

    模块的搜索路径

    内存——》内置——》自定义

    环境变量

    python文件的两种用途

    执行文件:当前运行的文件

    模块文件

    一个文件既可以是执行文件,又可以是模块文件

     __name__ == '__main__'不成立, __name__ != '__main__'
     #当testt为模块文件时,__name__等于文件名
     #__name__是每个文件独有的,当该文件作为执行文件运行时,__name__等于'__main__';当该文件作为模块文件导入时,__name__等于文件名
    
  • 相关阅读:
    分布式系统中的Session问题
    HotSpot VM运行时---命令行选项解析
    K大数查询
    [DarkBZOJ3636] 教义问答手册
    小朋友和二叉树
    [COCI2018-2019#2] Sunčanje
    小SY的梦
    [HDU6722 & 2019百度之星初赛四 T4] 唯一指定树
    [HDU6800] Play osu! on Your Tablet
    [NOI2007] 货币兑换
  • 原文地址:https://www.cnblogs.com/zqfzqf/p/12578036.html
Copyright © 2011-2022 走看看