万事开头难

内置方法与模块

一. 内置函数

1.abs    绝对值函数

res = abs(-1)
print(res)
View Code

2. round 四舍五入(奇数进偶数舍弃)

res = round(3.69)
res = round(3.5)
res = round(4.5)
res = round(4.51)
print(res)
View Code

3. sum 计算一个序列的和

res = round(3.69)
res = round(3.5)
res = round(4.5)
res = round(4.51)
print(res)

# sum    计算一个序列得和
lst =[1,2,3,4]
res = sum(lst)
print(res)

lst = [100,200,20,-3]
# max    获取一个序列里边的最大值
res = max(lst)
# min    获取一个序列里边的最小值
res = min(lst)
print(res)

# 其他方法
lst = sorted(lst)
maxval = lst[-1]
minval = lst[0]
print(maxval,minval)
View Code

4. max与min

"""return 最终返回的数据和传入到自定义函数中的数据是一致的"""
# 练习1
container = [ ("何子豪",23),("李雅琪",19),("王雨涵",18)]

def func(n):
    # print(n)
    # 返回的是年龄,按照年龄找到最大值
    return n[-1]

res = max(container,key=func)
res = min(container,key=func)
print("<====================>")
print(res)


# 练习2
print("<====================>")

container = {"何子豪":100,"李雅琪":200,"王雨涵":300}
def func(n):
    print(container[n])
    # 返回的是年龄,按照年龄找到最大值最小值
    return container[n]

res = max(container,key=func)
res = min(container,key=func)
print(res)
View Code

5. pow    计算某个数值的x次方

res = pow(2,3)
# 前2个参数的结果和第三个参数取余
res = pow(2,3,5)
print(res)

7.bin 将10进制数据转化为二进制

res = bin(255)
print(res)

8. oct    将10进制数据转化为八进制

res = oct(8)
print(res)

9. hex    将10进制数据转化为16进制

res = hex(255)
print(res)

10 .chr 将ascll编码转换为字符

res = chr(97)
print(res)

11 ord 将字符转换为ascll编码

res = ord("a")
print(res)

12 eval   将字符串当作python代码执行 (慎用)

strvar = "print(123434343434)"
strvar = "a=100"
# print(strvar)
# eval(strvar) error

# exec   将字符串当作python代码执行(功能更强大) (慎用)
strvar = "a=100"
strvar = """
for i in range(50):
    print(i)
"""
exec(strvar)

13 repr 不转义字符输出字符串[等价于元字符串]

pathvar = "D:\notepadd++\t"
print(repr(pathvar))
View Code

14 hash   生成哈希值

res1 = hash("a")
res2 = hash("a")
print(res1,res2)

# setvar = {"a","b","c"}
# setvar = {1,2,3}
# print(setvar)

with open("笔记1.py",mode="r+",encoding="utf-8") as fp1, open("笔记2.py",mode="r+",encoding="utf-8") as fp2:
    res1 = hash(fp1.read())
    res2 = hash(fp2.read())
    if res1 == res2:
        print("文件内容一致")
    else:
        print("文件内容不一致")
View Code

二 .数学模块

要先引入 import math

1ceil()  向上取整操作 (对比内置round)

res = math.ceil(3.1)
res = math.ceil(-3.5)
print(res)
View Code

2 .floor() 向下取整操作 (对比内置round)

res = math.floor(4.199)
res = math.floor(-4.199)
print(res)
View Code

3. pow()  计算一个数值的N次方(结果为浮点数) (对比内置pow)

res = math.pow(2,3)
# math中的pow方法没有三个参数,只有2个;
# res = math.pow(2,3,2) error
print(res)
View Code

4. sqrt() 开平方运算(结果浮点数)

res = math.sqrt(9)
print(res) # 3.0

5. fabs() 计算一个数值的绝对值 (结果浮点数) (对比内置abs)

res = math.fabs(-999)
print(res)
View Code

6. modf() 将一个数值拆分为整数和小数两部分组成元组

res = math.modf(3.567)
print(res)
View Code

7 .copysign()  将参数第二个数值的正负号拷贝给第一个 (返回一个小数)

res = math.copysign(-18,-19)
print(res)
View Code

8 .fsum() 将一个容器数据中的数据进行求和运算 (结果浮点数)(对比内置sum)

lst = [1,2,3,4]
print(math.fsum(lst))
View Code

9. 圆周率常数 pi

res = math.pi
print(res)
View Code

三. 随机模块 random

先引入import random

1 random() 获取随机0-1之间的小数(左闭右开) 0 <= x < 1

res = random.random()
print(res)
View Code

2. randrange() 随机获取指定范围内的整数(包含开始值,不包含结束值,间隔值)

res = random.randrange(5)
print(res)

# 二个参数
res = random.randrange(1,7)
print(res)

# 三个参数
res = random.randrange(1,10,3) # 1 4 7 
print(res)
View Code

3. uniform() 获取指定范围内的随机小数(左闭右开) 2 <= x < 4

"""   
a = 4 , b = 2
return a + (b-a) * self.random()  
return 4 + (-2) * [0,1)
如果是0的情况: 4
如果是1的情况: 2
2 < x <= 4
"""
res = random.uniform(2,4) # 2 <= x < 4
res = random.uniform(4,2) # 2 < x <= 4
print(res)
View Code

4. choice()  随机获取序列中的值(多选一)

lst = ["耿择时","孙翔宇","家营和","张银"]
res = random.choice(lst)
print(res)

def mychoice(lst):
    num = random.randrange(0,len(lst)) # 0,4
    return lst[num]

print(mychoice(lst))


# 优化代码
mychoice = lambda lst : lst[  random.randrange(0,len(lst))  ]
print(   mychoice(lst)  )
View Code

5 .sample()  随机获取序列中的值(多选多) [返回列表]

lst = ["耿择时","孙翔宇","家营和","张银"]
res = random.sample(lst,2)
print(res) # 返回列表
View Code

6. shuffle() 随机打乱序列中的值(直接打乱原序列)

lst = [1,2,3,4,45,5,6]
random.shuffle(lst)
print(lst)
View Code

7 . 验证码功能

def yanzhengma():
    strvar = ''
    for i in range(4):
        num = str(random.randrange(10))
        s_c= chr(random.randrange(97,123))
        b_c= chr(random.randrange(65,91))
        lst = [num,s_c,b_c]
        strvar += random.choice(lst)

    return strvar
res = yanzhengma()
print(res)

 

posted @ 2020-12-08 20:22  Bo7-w  阅读(84)  评论(0编辑  收藏  举报