zoukankan      html  css  js  c++  java
  • Python全栈(十)Django框架之4.过滤器、结构优化和静态资源文件

    pycharm中设置:file——setting——project:xxx——project structure——选中.py模块所在路径然后点击“source”——ok

    模块化

    • 将一个完整的程序分解为一个一个小的模块
    • 通过将模块组合,来搭建出一个完整的程序
    • 不采用模块化,统一将所有的代码编写到一个文件中
    • 采用模块化,将程序分别编写到多个文件中
    • 模块化优点
      • 方便开发
      • 方便维护
      • 模块可以复用

    模块

    • 在python中,一个py文件就是一个模块
    • 模块名要符合标识符的规范

    在一个模块中引入外部模块

    import  模块名  #(模块名,就是python文件的名字,注意不要py)
    import 模块名 as 模块别名
    
    • 1
    • 2
    • import 可以在程序的任意位置调用,一般情况下,import语句都会统一写在程序的开头
    • 在每一个模块内部都有一个 __name__属性,通过这个属性可以获取到模块的名字
    • __name__ 属性值为 __main__ 的模块是主模块,一个程序中只会有一个主模块
    • 主模块就是直接通过python执行的模块

    示例:

    test_module.py

    # print('我是test_module')
    print(__name__)
    
    • 1
    • 2

    main.py

    import test_module as test
    
    # print(test.__name__)
    print(__name__)  # __main__
    

    访问模块中的变量

    模块名.变量名
    
    • 1

    m.py

    a = 10
    b = 20
    
    def test():
        print('test')
    
    def test2():
        print('test2')
    
    class Person:
        def __init__(self):
            self.name = '孙悟空'

    main.py

    import m
    
    print(m.a, m.b)
    
    m.test()
    m.test2()
    
    p = m.Person()
    print(p.name)

    引入模块中的部分内容

    语法:

    from 模块名 import 变量,变量,...
    
    • 1

    示例:
    m.py

    a = 10
    b = 20
    
    def test():
        print('test')
    
    def test2():
        print('test2')
    
    class Person:
        def __init__(self):
            self.name = '孙悟空'
    

    main.py

    from m import Person
    # from m import test,Person
    # from m import * #引入模块中所有内容,一般不会使用
    p1 = Person()
    print(p1)
    #test()
    #test2()
    

    引入变量使用别名

    语法:

    from 模块名 import 变量 as 别名
    
    • 1

    模块私有

    • 添加了 _ 的变量,只能在模块内部访问

    模块标准编写方式

    a = 10
    b = 20
    _c = 30
    
    def test():
        print('test')
    
    def test2():
        print('test2')
    
    class Person:
        def __init__(self):
            self.name = '孙悟空'
    
    if __name__ == '__main__':
        test()
        test2()
        p = Person()
        print(p.name)
    

    • 包也是一个模块
    • 当模块中代码过多时,或者一个模块需要被分解为多个模块时,就需要使用包
    • 包是一个目录
    • 包中必须要有一个 __init__.py 这个文件
    • __pycache__ 是模块的缓存文件
    • 为了提高程序运行的性能,python会在编译过一次以后,将代码保存到一个缓存文件中

    在这里插入图片描述

    hello/__init__.py

    def test():
        print('test')
    
    • 1
    • 2

    hello/a.py

    c = 30
    
    • 1

    hello/b.py

    d = 40
    
    • 1

    main.py

    import hello
    from hello import a, b
    
    print(a.c)
    print(b.d)
    hello.test()

    本文首发于python黑洞网,博客园同步更新

     
  • 相关阅读:
    Lucene.net中的异常处理
    解决lucene 1.* 使用排序后内存溢出问题
    常用的正则表达式
    我的博客开通了
    oracle 常用函数
    破解 office 正版增值计划补丁
    关于dbcommandbuilder的几点说明
    类型转换(一)
    可变数量的参数
    关闭页面时操作数据库
  • 原文地址:https://www.cnblogs.com/pythonzhilian/p/13630276.html
Copyright © 2011-2022 走看看