目录
内置函数简介
内置函数就是python安装后自带的函数。
数学运算
1.abs()取绝对值函数
print(abs(-32))
2.round()取近似值
print(round(3.66))
print(round(3.66,1))
3.pow()求次方
print(pow(3,3))
4.divmod求商和余数
print(divmod(7,3))
5.max()求最大值
print(max([23,2,43]))
print(max(23,33))
6.sum()求和
print(sum(range(50)))
print(sum(range(50),3))
7.eval()执行表达式(字符串类型)
a,b,c=1,2,3
print(eval('a+b+c'))
类型转换
1.bin()将十进制转化为二进制
print(bin(10))
2.hex()将十进制转换为16进制
print(hex(10))
3.list()将元祖转换为列表
tup=(1,2,3,4)
li=list(tup)
print(type(li))
li.append('强制转换成功')
print(li)
4.tuple()将列表转换为元祖
tuplist=tuple(li)
print(type(tuplist))
5.字典操作dict()
dic=dict(name='小明',age=18)#创建字典
print(type(dic))
print(dic)
5.bytes()转换为字节数组
print(bytes('我喜欢python',encoding='utf-8'))
序列操作
序列操作:str 元组 列表
1.all() reuslt:bool
函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False元素除了是 0、空、FALSE 外都算 TRUE
注意:空元组、空列表返回值为True
print(all([])) #true
print(all([1,2,3,False]))
2.any()内容全部为False才返回False,只要有一个元素为True,结果就为True
print(any((2,34,4)))
print(any((0,0,0)))
3.sort和sorted
sort只能给list排序
sorted对任意对象排序,排序完后返回到一个新的列表上
li=[2,45,1,67,23,10]
li.sort()#list排序方法,直接修改的是原始对象--默认升序排列
print(li)
varslist=sorted(li)#升序排列
varslist=sorted(li,reverse=True)#降序排列
print(varslist)
4.reverse()反向排列
a=[1,2,3,4,5]
a.reverse()
print(a)
5.range(start:stop:步长)--左闭右开
for item in range(10):
print(item)
pass
6.zip():用来打包,会把序列中对应的索引位置的元素存储一个元组。
当俩个元组不一致时,按照最少的存储。
s1=['a','b','c']
s2=['你','我','他']
s3=['你','我','他','哈哈','呵呵']
print(zip(s1))
#可以转换成列表查看zip里面的内容
print(list(zip(s1)))
ziplist=zip(s1,s3) #倆个参数
print(list(ziplist))
zip()函数的例子:
def printBookInfo():
'''
zip函数使用
:return:
'''
books=[]#存储所以的图书信息
id=input('请输入编号:每个项空格分隔')#str
bookName=input('请输入书名:每个项空格分隔')
bookPos=input('请输入位置:每个项空格分隔')
idList=id.split(' ') #分隔
nameList = id.split(' ')
posList = id.split(' ')
booInfo=zip(idList,nameList,posList)#进行打包处理
for bookItem in booInfo:
'''
遍历图书信息进行存储
'''
dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
books.append(dictInfo)#将字典对象加入到list容器中
pass
for item in books:
print(item)
printBookInfo()
7.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
listObj=['a','b','c']
# for index,item in enumerate(listObj):
# print(index,item)
#
# for index,item in enumerate(listObj,5): #表示下表从5开始
# print(index,item)
dictObj={'name':'李易峰','hobby':'唱歌','pro':'艺术设计'}
#print(dictObj)
for item in enumerate(dictObj): #对字典进行操作
print(item)
Set集合
set 不支持索引和切片,是一个无序的且不重复的容器 ,类似于字典 但是只有key 没有value
1.创建集合
set1={1,2,3}
set2={2,3,4}
print(type(set1))
2.添加add
set1.add('python')
print(set1)
3.清空clear
set1.clear()
print(set1)
4.差集difference
rs=set1.difference(set2)
print(rs) #1
print(set1-set2)
5.交集--intersection
print(set1.intersection(set2))
print(set1&set2)
6.并集--union
print(set1.union(set2))
print(set1|set2)
7.移除pop就是从集合中拿数据并且删除
print(set1)
set1.pop()
print(set1)
8.移除制定数据--discard
print(set1.discard(3))
print(set1)
9.更新-update 俩个集合
set1.update(set2) #在原来的基础上更新
print(set1)
作业练习
1.求三组连续自然数的和:求出1到10、20到30和35到45的三个和
def sumRange(m,n):
'''
求m到n的连续自然数的总和
:param m:开始值
:return:结束值
'''
return sum(range(m,n+1))
print(sumRange(1,10))
print(sumRange(20,30))
print(sumRange(35,45))
2.100个和尚吃100个馒头,大和尚一人吃3个馒头,小和尚三人吃1个馒头。请问大小和尚各多少人?
def PersonCount():
'''
计算各有多少人
假设大和尚a
小和尚100-a
:return:
'''
for a in range(1,100):
if a*3+(100-a)*(1/3)==100:
return (a,100-a)
pass
pass
rs=PersonCount()
print('大和尚{}人,小和尚{}人'.format(rs[0],rs[1]))
3.指定一个列表,列表里含有唯一一个只出现过一次的数字。写程序找出这个“独一无二”的数字
set1=set(li)
#print(set1)
for i in set1:
li.remove(i)
pass
set2=set(li)#set2中为原来li中有重复的数字集合
for i in set1: #set1中数据全部去重形成的集合
if i not in set2:
print(i)
pass
pass