• 14.内置函数-数学模块math-随机模块random


    1.内置函数

    # 1.abs绝对值函数
    print(abs(-33))
    
    # 2.round   四舍五入(n.5 n为偶数则舍弃,n为奇数则进1)
    print(round(2.3))
    print(round(2.5))
    print(round(3.5))
    
    # 3.sum 计算一个系列的和
    lst=[11,22,33,44]
    print(sum(lst))
    
    # 4.max 获取一个数列最大值
    # 5.min 获取一个数列最小值
    lst=[21,3,5,65,-43]
    print(max(lst))
    print(min(lst))
    """
    max与min的高阶用法与sorted相同
    return 最终返回的数据与传入到自定义函数的数据是一致的
    """
    # 练习1
    lst=[("aa",11),("bb",4),("cc",22)]
    def func(n):
        return n[1]
    print(max(lst,key=func))    #("cc",22)
    print(min(lst,key=func))	#("bb",4)
    # 练习2
    dic={"a":11,"bb":22,"cc":33}
    def func(n):
        # print(n)    #字典传入的是键
        return dic[n]
    print(max(dic,key=func))	#cc
    
    # 6.pow 计算某个数值的x次方
    print(pow(3,3)) #两个参数
    print(pow(3,4,4))   #前两个数的结果第三个参数取余
    
    # 7.bin 将十进制转化为二进制
    # 8.oct 将十进制转化为八进制
    # 9.hex 将十进制转化为十六进制
    print(bin(33))
    print(oct(33))
    print(hex(33))
    
    # 10.chr 将ASCII编码转换为字符
    # 11.ord 将字符转换为ASCII编码
    print(chr(65))
    print(ord("1"))
    
    # 12.eval 将字符串当做Python代码执行 慎用
    # 13.exec 将字符串当做Python代码执行(功能更强大) 慎用
    strvar='print("和借款方")'
    print(strvar)
    eval(strvar)
    strvar="""
    for i in range(10):
        print(i)
    """
    exec(strvar)
    
    # 14.repr  不转义字符输出字符串(等价于原字符串)
    strvar="
    jdfk	jdfsl
    "
    print(repr(strvar))
    
    # 15.hash 生成哈希值   
    res1=hash("aa")
    res2=hash("aa")
    print(res1) 
    print(res1,res2)    #同一时间哈希相同的值一样
    # 可以用来检查两个文件是否一样
    with open("笔记1.py",mode="r+",encoding="utf-8") as fp1:
    with open("笔记2.py",mode="r+",encoding="utf-8") as fp2:
    	res1 = hash(fp1.read())
    	res2 = hash(fp2.read())
    	if res1 == res2:
    		print("文件内容一致")
    	else:
    		print("文件内容不一致")
    

    2.数学模块:math

    import math  #引入模块
    
    # 1.ceil 向上取整
    # 2.floor 向下取整
    print(math.ceil(3.3))    #4
    print(math.floor(3.3))  #3
    
    # 3.fabs 绝对值(结果为浮点数)(对比内置abs)
    print(math.fabs(-4))    #4.0
    
    # 4.fsum 将一个数列进行求和(结果为浮点数)(对比内置sum)
    lst=[1,2,3,4]
    print(math.fsum(lst))   #10.0
    
    # 5.圆周率常数 pi
    print(math.pi)
    
    # 6.pow(a,n) 计算a的n次方(结果为浮点数)(对比内置pow)只有两个参数
    print(math.pow(2,3))    #8.0
    
    # 7.sqrt 开平方运算(结果为浮点数)
    print(math.sqrt(9))     #3.0
    
    # 8.modf 将一个数值拆分成小数和整数部分(浮点数)组成元组
    print(math.modf(3.45))
    
    # 9.copysign 将参数第二个数值的正负号拷贝给第一个数值(结果为浮点数)
    print(math.copysign(11,-1)) #-11.0
    

    3.随机模块 :random

    import random
    # 1.random 随机获取[0,1)之间的小数
    # 2.uniform(a,b) 随机获取[a,b)之间的小数(a,b大小无限制)
    print(random.random())
    print(random.uniform(-1,1))
    
    # 3.randrange(开始,结束,间隔值) 随机获取指定范围的一个整数(留头舍尾)
    # 4.randint(开始,结束)  固定格式  随机获取指定范围的一个整数(区间都能取到)
    print(random.randrange(4))  #0,1,2,3中一个
    print(random.randrange(1,5))#1,2,3,4中一个
    print(random.randrange(1,10,3))#1,4,7中一个
    print(random.randint(1,5))      #1,2,3,4中一个
    
    # 5.choice 随机获取序列中的一个值(多选一)
    # 6.sample(a,n) 随机获取a序列中的n个值(多选多,返回一个列表)
    lst=[1,2,3,4,"a","b","c"]
    print(random.choice(lst))
    print(random.sample(lst,1))
    
    # 7.shuffle 随机打乱序列中的值(打乱的是原序列)
    lst=[1,2,3,4,5]
    random.shuffle(lst)
    print(lst)
    
    # 验证码功能
    def func():
        strvar=""
        lst=[]
        for i in range(4):  #4位验证码
            num=str(random.randrange(10))   #验证码中有数字
            lst.append(num)
            xiaoxie=chr(random.randrange(97,123))   #验证码中有小写字母
            lst.append(xiaoxie)
            daxie=chr(random.randrange(65,91))      #验证码中有大写字母
            lst.append(daxie)
            strvar+=random.choice(lst)  #随机在列表中选择一个到strvar
        return strvar
    print(func())
    
  • 相关阅读:
    linux学习 建立静态库,动态库,写简单的makefile
    C++中顶层const和底层const
    BDB (Berkeley DB)数据库简单介绍(转载)
    Java中Map的使用
    Spring MVC 3 深入总结
    nvl,空时的推断和取值
    java堆栈 (转)
    mybatis--面向接口编程
    HDU 4888
    socket编程——一个简单的样例
  • 原文地址:https://www.cnblogs.com/jia-shu/p/14106135.html
Copyright © 2020-2023  润新知