python内置函数
内置函数就是python自带的函数,不需要我们再去定义的,如print等直接使用即可,内置函数官方文档:官链。
1.数学运算
#数学运算:
print('------abs()是绝对值函数------')
a=-1.1
print('{}的绝对值是{}'.format(a,abs(a)))
print('------round()是四舍五入函数.但并不完全标准,和python的版本和浮点数的精度有关------')
b=4.48
print('{}四舍五入后是{}'.format(b,round(b)))
print('{}保留一位小数点后是{}'.format(b,round(b,1)))
print('------pow()是幂运算函数,pow(x,y)返回x的y次方------')
c,d=2,10
print('{}的{}次方是{}'.format(c,d,pow(c,d)))
print('------divmod()是求商和余数的函数,会返回一个包括商和余数的元组(a//b,a%b)------')
print('{}和{}的商和余数是:{}'.format(c,d,divmod(c,d)))
print('------max()是最大值函数------')
li=[102,-22,6,3,-999,23]
print('{}中的最大值是{}'.format(li,max(li)))
print('------min()是最小值函数------')
print('{}中的最小值是{}'.format(li,min(li)))
print('------sum()是求和函数------')
print('{}中的和是{}'.format(li,sum(li)))
print('------eval()是执行字符串表达式函数,相当于动态执行函数------')
eval('a+b+c')
2.类型转换函数
强制类型转换函数:
int()、float()、str()、ord()、chr()、bool()、bin()、hex()、oct()、list()、tuple()、dict()、bytes()
#类型转换:
print('------------bin()函数是将十进制转换为二进制的函数----------')
print(bin(20))
print('------------hex()函数是将十进制转换为十六进制的函数----------')
print(hex(20))
print('------------chr()函数是将数字转化为字符的函数,相当于ascii码----------')
print(chr(20))
print('------------list()函数是将元组转化为列表的函数----------')
print(list((1,2,3)))
print('------------bytes()函数是转换为字节类型数组函数----------')
print(bytes('字节数组转换',encoding='utf-8'))
3.序列操作
序列操作函数:
all()、any()、sorted()、reverse()、range()、zip()、enumerate()。
#序列函数
print('-----------all函数----------')
print(all([])) #空元素就返回true,类似and
print(all([1,2,3,False]))
print(all((0,)))
print('-----------any函数-----------')
print(any([])) #空元素就返回false,类似or
print(any([1,2,3,False]))
print(any((0,)))
print('-----------sort函数-----------')
li=[2,15,1,56,23,10]
print('排序之前{}'.format(li))
li.sort()
print('排序之后{}'.format(li))
print('-----------sorted函数-----------')
li1=[23,4561,2,4,5,1]
print('排序之前的{}'.format(li1))
sorted(li1)
print('排序之后的{}'.format(li1)) #由此可见sorted是新建一个列表排序而不是在原列表基础上排
print(sorted(li1))
print(sorted(li1,reverse=True)) #降序排
print('-----------zip函数-----------')
print(zip([3,4,1],('a',3,'as',3.3)))
print(dict(zip([3,4,1],('a',3,'as',3.3))))
print(list(zip([3,4,1],('a',3,'as',3.3))))
print(tuple(zip([3,4,1],('a',3,'as',3.3))))
print('------------zip打包函数示范----------')
def pri():
books=[]
id=input('请输入图书编号:')
bookName=input('请输入图书名:')
bookPos=input('请输入位置:')
idList=id.split(' ') #以空格分割
nameList=bookName.split(' ')
posList=bookPos.split(' ')
bookInfo=zip(idList,nameList,posList) #打包
for item in bookInfo:
'''
遍历图书信息
'''
dictInfo={'编号':item[0],'书名':item[1],'位置':item[2]}
books.append(dictInfo)
pass
for item in books:
print(item)
pass
pass
pri()
print('-----------enumerate函数-------------')
li2=['a','b','c']
for index,item in enumerate(li2): #字典字符串也同理
print(index,item)
pass
for item in enumerate(li2):
print(item)
pass
#下标也可以不从0开始
for index,item in enumerate(li2,5):
print(index,item)
pass
4.set集合
集合是python中一种数据类型,无序不重复,不支持索引和切片。
add():添加集合元素
clear():清除集合元素
difference():取差集
intersection():取并集
union():取交集
pop():随机(集合无序)取集合元素并删除
discard():删除指定集合元素
update():更新集合元素
#集合操作函数:
print('-------创建集合--------')
set1={1,'haha'}
print(set1,end=' ')
print(type(set1))
li=[1,'xszx']
set2=set(li)
print(set2,end=' ')
print(type(set2))
print('-------添加操作--------')
set1.add('新增的')
print(set1)
print('-------清空操作--------')
set1.clear()
print(set1)
print('-------取差集:--------')
A={1,2,3,4}
B={4,5,6,7}
print(A,B)
print(A.difference(B))
print(B.difference(A))
#也可以直接-
print(A-B)
print('-------取交集:--------')
print(A.intersection(B),end=' ')
print(B.intersection(A),end=' ')
#也可以直接&
print(A&B)
print('-------取合集:--------')
print(A.union(B))
print(B.union(A))
#也可以直接|
print(A|B)
print('-------删除操作--------')
print(A.pop()) #pop操作属于是随机取一个数据然后将其在集合中删除,故而返回的是取的那个数据
print(A)
A.discard(3)
print(A)
print('-------更新操作--------')
A.update(B)
print('更新后A为:',end=' ')
print(A,end=' ')
print('B为:',end=' ')
print(B)
可以通过集合实现去重的操作
5.实践
5.1
def fun1(r,l):
i = r
sum = 0
while i <= l:
sum += i
i += 1
pass
return sum
print(fun1(1,10))
print(fun1(20,30))
print(fun1(35,45))
5.2
def fun2(i):
big=0
while big*3+(100-big)/3!=i:
big+=1
pass
return big
print('大和尚有%d个,小和尚有%d个'%(fun2(100),100-fun2(100)))
5.3
li=[1,2,3,5,7,786342,1,2,3,5,7,3]
se=set(li)
for i in se:
li.remove(i)
pass
se1=set(li)
print(se-se1)