Python 基础之常用内置函数

时间:2024-12-28 13:07:32

1.常用内置函数

(1)abs 绝对值函数

intvar = -9
res = abs(intvar)
print(res)

(2)round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数 ,则进一)

奇进偶不进,只有n.5的情况下发生

a = 5.34  #5
print(round(a))
a = 6.5   #6
print(round(a))
a = 5.5   #6
print(round(a))
a = 6.56  #7
print(round(a))
a = 17.51 #18
print(round(a))

(3)sum 计算一个序列的和

#例:
lst = [1,2,3,4,5,6,7,8]
res = sum(lst)
print(res)  #36
#相当于如下程序:
total = 0
for i in lst:
   total += 1
print(total)

(4)max 获取一个序列里面的最大值

#例:

lst = [1,2,3,4,5,6,7,8]
res = max(lst)
print(res) #8
#相当于如下程序:
lst.sort()
print(lst)
maxvar = lst[-1]
minvar = lst[0]
print(maxvar)  #8
print(minvar)  #1

(5)min 获取一个序列的最小值

#例:

lst = [1,2,3,4,5,6,67,7]
res = min(lst)
print(res)   #1

#例2:
# 按照年龄.知道最小的元组

tup = [("one",21),("two",30),("three",22),("four",80)]
#自定义函数

def func(n):
   return n[-1]
res = min(tup,key=func)  
print(res)   #("one",21)

把tup当中的每一个元素拿到func中进行处理,处理的结果是
("one",21) => 21
("three",22) => 22
("two",30) => 30
("four",80) => 80
return ("one",21)

(6)pow 计算某个数值的x次方

#如果是三个参数,前两个先运算(谁的几次幂),运算的结果根第三个参数取余
#例:
res = pow(2,3)
print(res)  #8
res = pow(2,3,3)
print(res) #2
res = pow(2,3,7)
print(res) #1
res = pow(2,3,5)
print(res) #1

(7)range 产生指定范围数据的可迭代对象

#例1:

res = range(3)
for i in res:
   print(i)
#例2: 
for i in range(5,14):
   print(i)
#例3:
for i in range(10,0,-1):
   print(i)

(8)bin 10进制数据转化为二进制

res = bin(4)
print(res)

(9)oct 10进制数据转化为八进制

res = oct(8)
print(res)

(10)hex 10进制数据转化为16进制

res = hex(16)
print(res)
#分析:
res = int(0o10)
0o  => 0~7 7+1 = 10 => 8
0x  => 0~f f+1 = 10 => 16
0b  => 0~1 1+1 = 10 =>2

(11)chr ASCII编码转换为字符

res = chr(97)
print(res)

(12)ord 将字符转换为ASCII编码

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

(13)eval 将字符串当做python代码执行

只能执行一个单行的语句,不能完成复杂的代码

res = "print('好浪')"
eval(res)

(14)exec 将字符串当作python代码执行(功能强大)

res = '''
for i in range(10):
   print(i)
'''

res = "abb = 19"
#exec(res)  #可以执行 eval(res)  有局限性
#print(abb)

也就是exec不能防注入
sql 注入 = > 是一种网站攻击的方法

delete from 数据库 where id = 90
drop 数据库
...
...
要小心使用exec或eval 防止sql注入

print("<=======>")

(15)repr 不转义字符输出字符串

strvar = 'abc\ndeff'
print(strvar)
res = repr(strvar)
print(res)

(16)input 接收输入字符串

# res = input("先生,你好")
#print(res)

(17)hash 生成哈希值

#会产生一个具有固定长度的唯一值,这个值不能反向破解
#(1) 比对两次密码是否一致
#(2) 比对两个文件的内容是否一致
#例1:
strvar = 'abc'
res = hash(strvar)
print(res)
#例2:
with open("1.txt",mode="r",encoding="utf-8") as fp:
   res1 = fp.read()
   
with open("1.txt",mode="r",encoding="utf-8") as fp:
   res2 = fp.read()
#比对两个的文件内容是否一致,使用哈希值
#如果两个哈希值一样,代表两个文件的内容是一模一样的
res = hash(res1)
print(res)
res = hash(res2)
print(res)

#最后两个哈希值相同