zoukankan      html  css  js  c++  java
  • Python:time模块&序列化&生成随机数&反射

    time模块:
    >>> import time >>> time.time <built-in function time> >>> time.time() 1473837803.320634 >>> time.localtime() time.struct_time(tm_year=2016, tm_mon=9, tm_mday=14, tm_hour=15, tm_min=23, tm_sec=58, tm_wday=2, tm_yday=258, tm_isdst=0) >>> time.ctime() 'Wed Sep 14 15:25:17 2016' >>> time.strftime('%Y-%m-%d %H:%M:%S') '2016-09-14 15:35:30'

    序列化和json:

    序列化:把变量从内存中变成可存储或者传输的过程叫序列化。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。

    • pickle.dump:把对象存储到磁盘中,或传输到其他主机。直接把对象序列化成file-like object
    • pickle.dumps:把任意对象序列化成一个bytes,然后可以把这个bytes写入文件中

    反序列化:把变量内容从序列化的对象重新读到内存里称之为反序列化。

    • pickle.load:直接从file-like object中反序列化出对象
    • pickle.loads:把磁盘中的对象读取到内存中,先把内容读取到一个bytes,然后用pickle.loads反序列化出对象

    json:把内存的数据json化,原理与序列化一样

    区别:pickle只能在python中运用;json所有语言支持,只能序列化常规的数据类型;pickle序列化的数据不能直观的看出数据内容

    #序列化:
    import pickle
    
    d = dict(name='pingy',age=25,addr='BJ')
    
    f = open('pickle_file.txt','wb')
    pickle.dump(d,f)
    f.close()

    输出结果:在目录下能看到新建的pickle_file.txt文件,里面内容为十六进制乱码

    #反序列化:
    import pickle
    
    f = open('pickle_file.txt','rb')
    d = pickle.load(f)
    f.close()
    print (d)

    输出结果为:

    {'name': 'pingy', 'age': 25, 'addr': 'BJ'}

    读取到存在目录下的pickl_file.txt中的内容。

    生成随机数:

    random:随机数
    random.random():随机生成0-1的小数
    random.randint(1,5):随机生成1-5范围内的整数(包括1和5)
    random.uniform(10,20):随机生成10-20范围内的浮点数 random.randrange(
    1,3):随机生成1-3范围内的整数(不包括3) random.choice(''): 从序列中随机获取一个元素 random.sample(list, k):从list序列中随机获取5个元素,原有序不会改变
    random.shuffle():将一个列表中的元素打乱

    例:

    #随机整数:
    >>> import random
    >>> random.randint(0,99)
    21
    #随机选取0到100间的偶数:
    >>> import random
    >>> random.randrange(0, 101, 2)
    42
    #随机字符:
    >>> import random
    >>> random.choice('abcdefg&#%^*f')
    'd'
    #多个字符中选取特定数量的字符:
    >>> import random
    random.sample('abcdefghij',3)
    ['a', 'd', 'b']
    #随机选取字符串:
    >>> import random
    >>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
    'lemon'
    #洗牌:
    >>> import random
    >>> items = [1, 2, 3, 4, 5, 6]
    >>> random.shuffle(items)
    >>> items
    [3, 2, 5, 6, 4, 1]

     

    #随机生成6位验证码
    
    import random
    
    def verification(length=6):
        code_list = []
        for i in range(10):
            code_list.append(str(i))
        for i in range(65,91):
            code_list.append(chr(i))
        for i in range(97,123):
            code_list.append(chr(i))
    
        my_list = random.sample(code_list,length)
        code = ''.join(my_list)
        return code
    
    print(verification())

    反射:以字符串的形式导入模块,并以字符串的形式执行函数

     

     输出结果:

    这是module_1中的func函数!
  • 相关阅读:
    WF4.0 Beta1 自定义跟踪
    WF4.0 Beta1 流程设计器与Activity Designer
    新版本工作流平台的 (二) 权限算法(组织结构部分)
    WF4.0 Beta1 WorkflowInvoker
    WF4.0 基础篇 (十) Collection 集合操作
    WF4.0 基础篇 (十五) TransactionScope 事物容器
    WF4.0 基础篇 (六) 数据的传递 Arguments 参数
    WF4B1 的Procedural Activity 之InvokeMethod , InvokeMethod<T> 使用
    WF4.0 Beta1 异常处理
    WF4.0 Beta1 变量 Variables
  • 原文地址:https://www.cnblogs.com/ping-y/p/5882174.html
Copyright © 2011-2022 走看看