zoukankan      html  css  js  c++  java
  • --------------------聪明人看得懂,精明人看得准,高明人看得远。智者的声音是愚者的方向,无法放弃过去的无知,就无法走进智慧的殿堂。偏见比无知更可怕!

    # # ------------------------------------------------------------------------------------------------------------#
    day 21

    今日主要内容
    1. 包
    包就是一个文件夹. py2中包内必须要有一个__init__.py文件, 在python3中可以省略,但是最好都保留.
    __init__.py 当我们导入一个包的时候,默认执行这个包内的__init__.py
    if 条件:
    语句块
    一条语句 > 语句块 > 代码块(函数,类) > py文件(模块) > 包
    2. 相对导入和绝对导入
    相对导入: 相对于当前模块所在的包. 使用的时候必须在包外面启动
    绝对导入: 根据包的根目录去导入内容

    全部都依赖于 sys.path

    3. 使用包要注意的东西

    尽量在包的外面启动程序.

    # import sys
    # print(sys.path)

    # import glance.api.policy
    # glance.api.policy.get()

    # 在import前面可以出现. 在import后面补允许出现.
    # from glance.api import policy
    # policy.get()
    #
    #
    # from urllib.request import urlopen
    # from urllib import request
    # request.urlopen()

    # 导入一个包的时候, 实际上是导入该包下的__init__.py
    # import glance
    # print(glance.name)
    # glance.chi()
    # c = glance.Car()
    # c.run()
    # glance.api.policy.get()

    # import sys
    # print(sys.path)
    #
    # import glance #__init__.py

    # from glance.api import policy
    # # policy.get()

    # sys.path 随动. 随着启动文件. 启动文件所在的文件夹就是你的path里的第一个

    # import glance.api.policy
    # glance.api.plicy.get()

    # from glance import api.policy
    # policy.get()

    import glance # 导入的包实际上是__init__.py
    import master



    # # --------------*******--------------
    '''
    导入包的执行过程:
    1. 判断该文件夹是否已经被导入。
    2. 如果没有被导入。开辟内存
    3. 在该内存中运行包的__init__.py文件。
    4. 给这个内存设置一个名字(包名)
    '''
    # import sylar


    import os
    os.makedirs('glance/api')
    os.makedirs('glance/cmd')
    os.makedirs('glance/db')
    l = []
    l.append(open('glance/__init__.py','w'))
    l.append(open('glance/api/__init__.py','w'))
    l.append(open('glance/api/policy.py','w'))
    l.append(open('glance/api/versions.py','w'))
    l.append(open('glance/cmd/__init__.py','w'))
    l.append(open('glance/cmd/manage.py','w'))
    l.append(open('glance/db/__init__.py','w'))
    l.append(open('glance/db/models.py','w'))
    map(lambda f:f.close() ,l)
  • 相关阅读:
    MIPS笔记
    花生壳动态域名解析工具原理
    SEE MIPS RUN 第六章 内存管理与TLB
    C/C++动态内存创建与内存管理
    ngclass 用法
    看了一个烟花的html作品 引用:http://www.w3cfuns.com/blog54440495404365.html
    ngclip angualr 的copy功能
    学习技术的方法
    restful restAPI 的定义方式
    我与计算机
  • 原文地址:https://www.cnblogs.com/dealdwong2018/p/10004389.html
Copyright © 2011-2022 走看看