• 2019.8.15学习内容及笔记


    小结

    模块的四种形式

    import time
    
    import requests
    
    import os
    

    模块:模块就是一个py文件,只是这个文件里有一大堆函数,有一堆功能可以调用

    模块的四种形式:1. 自定义模块,就是自己建立的一个py文件,在里面写了函数功能,可以调用其功能

    1. 第三方模块:需要自己安装,python有13万个第三方库
    2. 内置模块:python解释器自带的,不需要安装
    3. 包 ---》含有__inti__.py的文件夹,是一种特殊的模块
    import time
    print(time.time())# import 模块方法调用形式
    
    from time import time
    print(time()) # from...import 模块方法调用形式
    

    import 和 from ...import

    如果把Python看成一部手机,那pip是应用管家,time就是应用管家里的一个应用,要用它就 import

    import time 
    time.timme()
    print(time.time())
    

    使用import 发生的三件事

    1. 在内存中生成一块time的名称空间
    2. 运行time.py文件,然后把把time.py的名称空间放入time的名称空间
    3. 把time的名称空间指向import 或 from ...import .py(当前导入time模块的文件)的名称空间中

    使用import time导入的时候,使用方法只能 time.方法名(), 不能直接用方法名

    # from time import gmtime
    # print(gmtime())#time.struct_time(tm_year=2019, tm_mon=8, tm_mday=15, tm_hour=6, tm_min=39, tm_sec=45, tm_wday=3, tm_yday=227, tm_isdst=0)
    #
    # from time import gmtime,time
    # print(gmtime())#time.struct_time(tm_year=2019, tm_mon=8, tm_mday=15, tm_hour=6, tm_min=41, tm_sec=14, tm_wday=3, tm_yday=227, tm_isdst=0)
    #
    # print(time())#1565851185.9377718
    
    # from time import * # 用*号可以取出里面所有功能,但是容易造成变量名冲突,不推荐使用
    # print(time())
    # print(gmtime())
    # __all__可以限制 from time import *
    # 但是限制不了 from time import (方法名) 和 import ...
    
    

    运行from...import发生的三件事

    1. 在内存中生成一个叫time的名称空间
    2. 运行time.py文件,把time.py文件内的名称空间放入time的名称空间
    3. 把time方法指向from...import.py(当前导入time模块的文件)的名称空间

    循环导入问题

    循环导入就是如:我在当前文件中导入m2模块的时候m2模块文件同时也在导入我当前的文件,然后造成了两个模块都不能正常导入运行的问题

    解决方法:把导入模块代码放入def 函数中,把需要导入的方法放在函数外,这样运行是选在全局空间中成功导入需要的方法,然后在运行def 函数运行下面的代码块进行相应的操作

    模块的搜索路径

    1. 首先先从内存中找
    2. 然后从内置中找
    3. 然后再是从自定制中找
    4. 最后是在环境变量中找

    python文件的两种用途

    1. 执行文件:当前运行的文件就叫做执行文件
    2. 模块文件:导入模块的文件就是模块文件

    执行文件和模块文件是相对的

    注:当m1为执行文件时,__ _name _ ==' _ _main _ _';当m1被模块文件导入时 _ _ name _ _== m1

    然后就可以设置:if _ _name _ _==' _ _ main _ _': print(x), 否则不打印

    random模块

    最常用的方法

    import random
    # random()随机打印0-1内的小数
    #print(random.random()) #0.6068056354638482 随机生成
    
    #randint() # 随机打印一个整数,范围自己用参数定
    #print(random.randint(0,100)) #99 随机打印
    
    #shuffle() # 打乱容器类元素---》列表
    #lt = [1,2,3,4,5]
    #random.shuffle(lt)
    #print(lt)
    
    举例随机函数
    def choice(lt):
        ind = random.randint(0,len(lt)-1)
        return lt[ind]
    print(choice([1,2,3,4,'a','b']))# 随机选出一个数
    

  • 相关阅读:
    Linux OpenSSH后门的加入与防范
    Oracle APEX 4.2安装和配置
    springboot 配置jsp支持
    java 多线程 yield方法的意义
    java多线程状态转换
    Jquery_artDialog对话框弹出
    ThinkPHP框架学习摘要
    js弹窗对象不能通过全局对象移到外部函数中执行
    关于rawurldecode PHP自动解码
    td高度不随内容变化display:block;display:block;display:block;display:block;display:block;
  • 原文地址:https://www.cnblogs.com/chmily/p/11360130.html
Copyright © 2020-2023  润新知