Python全栈(十)Django框架之4.过滤器、结构优化和静态资源文件

python

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黑洞网,博客园同步更新

 

以上是 Python全栈(十)Django框架之4.过滤器、结构优化和静态资源文件 的全部内容, 来源链接: utcz.com/z/531066.html

回到顶部