目录
一、内置函数
二、数学运算函数
三、类型转换函数
四、序列操作
五、集合
六、练习
一、内置函数
二、数学运算函数
(1)abs
(2)round
(3)pow
z是除以后得处余数
(4)divmod
(5)eval
# 取绝对值
# print(abs(-34))
# round 取近似值
# print(round(3.66,1))
# pow 求次方
# print(3**3)
# print(pow(3,3))
# max 求最大值
# print(max([23,123,4,5,2,1,786,234]))
# print(max(23,235))
# sum 使用
# print(sum(range(50),3))
# eval 执行表达式
a,b,c=1,2,3
print('动态执行的函数={}'.format(eval('a*b+c-30')))
def TestFun():
print('我执行了吗?')
pass
# eval('TestFun()') #可以调用函数执行
# 类型转换函数
# print(bin(10)) #转换二进制
# print(hex(23)) #十六进制
# 元组转换为列表
tup=(1,2,3,4)
# print(type(tup))
li=list(tup) #强制转换
# print(type(li))
li.append('强制转换成功')
# print(li)
tupList=tuple(li)
# print(type(tupList))
# 字典操作 dict()
# dic=dict(name='小明',age=18) #创建一个字典
# # print(type(dic))
# # # dict['name']='小明'
# # # dict['age']=18
# # print(dic)
# bytes转换
# print(bytes('我喜欢python',encoding='utf-8'))
三、类型转换函数
(1)ord
(2)chr
(3)bin
(4)hex
(5)oct
(6)bytes
# 类型转换函数
# print(bin(10)) #转换二进制
# print(hex(23)) #十六进制
# 元组转换为列表
tup=(1,2,3,4)
# print(type(tup))
li=list(tup) #强制转换
# print(type(li))
li.append('强制转换成功')
# print(li)
tupList=tuple(li)
# print(type(tupList))
# 字典操作 dict()
# dic=dict(name='小明',age=18) #创建一个字典
# # print(type(dic))
# # # dict['name']='小明'
# # # dict['age']=18
# # print(dic)
# bytes转换
# print(bytes('我喜欢python',encoding='utf-8'))
四、序列操作
(1)all
(2)any
(3)sorted
(4)zip
(5)enumerate
# 序列操作 str 元组、 list
# all() # 序列操作 str 元组、 list
# # all() result:bool 对象中的元素除了是 0、空、FALSE 外都算 TRUE, 所有的元素都为True
# # 结果就为True
#
# # print(all([])) #True
# # print(all(())) #True
# # print(all([1,2,4,False]))
# # print(all([1,2,4]))
# # print(all((3,4,0)))
# # any result:bool 类似于逻辑运算符 or的判断,只要有一个元素为True 结果就为True
# # print('--------any-------------')
# # print(any(('',False,0)))
# # print(any((1,2,3)))
# # sort 和sorted
# li=[2,45,1,67,23,10] #原始对象
# # li.sort() #list的排序方法 直接修改的原始对象
# tupArray=(2,45,1,67,23,10)
# # print('--------排序之前---------{}'.format(li))
# # # # varList=sorted(li) #升序排列
# # # varList=sorted(li,reverse=True) #降序排序
# # # print('--------排序之后---------{}'.format(varList))
# # varRs=sorted(tupArray,reverse=False)
# # print(varRs)
# # zip() :就是用来打包的,会把序列中对应的索引位置的元素存储为一个元组
# # s1=['a','b','c']
# # s2=['你','我','c他','peter']
# # s3=['你','我','c他','哈哈','呵呵']
# # # print(list(zip(s1))) 压缩一个数据
# # zipList=zip(s2,s3) #两个参数
# # print(list(zipList))
# def printBookInfo():
# '''
# zip 函数的使用
# :return:
# '''
# books=[] #存储所有的图书信息
# id=input('请输入编号: 每个项以空格分隔') #str
# bookName = input('请输入书名: 每个项以空格分隔') #str
# bookPos = input('请输入位置: 每个项以空格分隔')
# idList=id.split(' ')
# nameList = bookName.split(' ')
# posList = bookPos.split(' ')
#
# bookInfo=zip(idList,nameList,posList) #打包处理
# for bookItem in bookInfo:
# '''
# 遍历图书信息进行存储
# '''
# dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
# books.append(dictInfo) #将字典对象添加到list容器中
# pass
# for item in books:
# print(item)
#
# printBookInfo()
# # enumerate 函数用于将一个可遍历的数据对象
# # (如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,
# # 一般用在 for 循环当中
#
# listObj=['a','b','c']
# # for index,item in enumerate(listObj,5):
# # print(index,item)
# # pass
# dicObj={}
# dicObj['name']='李易峰'
# dicObj['hobby']='唱歌'
# dicObj['pro']='艺术设计'
# # print(dicObj)
#
# for item in enumerate(dicObj):
# print(item) result:bool 对象中的元素除了是 0、空、FALSE 外都算 TRUE, 所有的元素都为True
# 结果就为True
# print(all([])) #True
# print(all(())) #True
# print(all([1,2,4,False]))
# print(all([1,2,4]))
# print(all((3,4,0)))
# any result:bool 类似于逻辑运算符 or的判断,只要有一个元素为True 结果就为True
# print('--------any-------------')
# print(any(('',False,0)))
# print(any((1,2,3)))
# sort 和sorted
li=[2,45,1,67,23,10] #原始对象
# li.sort() #list的排序方法 直接修改的原始对象
tupArray=(2,45,1,67,23,10)
# print('--------排序之前---------{}'.format(li))
# # # varList=sorted(li) #升序排列
# # varList=sorted(li,reverse=True) #降序排序
# # print('--------排序之后---------{}'.format(varList))
# varRs=sorted(tupArray,reverse=False)
# print(varRs)
# zip() :就是用来打包的,会把序列中对应的索引位置的元素存储为一个元组
# s1=['a','b','c']
# s2=['你','我','c他','peter']
# s3=['你','我','c他','哈哈','呵呵']
# # print(list(zip(s1))) 压缩一个数据
# zipList=zip(s2,s3) #两个参数
# print(list(zipList))
def printBookInfo():
'''
zip 函数的使用
:return:
'''
books=[] #存储所有的图书信息
id=input('请输入编号: 每个项以空格分隔') #str
bookName = input('请输入书名: 每个项以空格分隔') #str
bookPos = input('请输入位置: 每个项以空格分隔')
idList=id.split(' ')
nameList = bookName.split(' ')
posList = bookPos.split(' ')
bookInfo=zip(idList,nameList,posList) #打包处理
for bookItem in bookInfo:
'''
遍历图书信息进行存储
'''
dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
books.append(dictInfo) #将字典对象添加到list容器中
pass
for item in books:
print(item)
# printBookInfo()
# enumerate 函数用于将一个可遍历的数据对象
# (如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,
# 一般用在 for 循环当中
listObj=['a','b','c']
# for index,item in enumerate(listObj,5):
# print(index,item)
# pass
dicObj={}
dicObj['name']='李易峰'
dicObj['hobby']='唱歌'
dicObj['pro']='艺术设计'
# print(dicObj)
for item in enumerate(dicObj):
print(item)
五、集合
# set 不支持索引和切片,是一个无序的且不重复的容器
# 类似于字典 但是只有key 没有value
# 创建集合
dic1={1:3}
set1={1,2,3}
set2={2,3,4}
# print(type(set1))
# print(type(dic1))
# 添加操作
# set1.add('python')
# print(set1)
# 清空操作
# set1.clear()
# print(set1)
# 差集操作
# rs=set1.difference(set2)
# print(rs)
# print(set1-set2)
# print(set1)
# 交集操作
# print(set1.intersection(set2))
# print(set2&set1)
# 并集操作
# print(set1.union(set2))
# print(set1 | set2)
# pop 就是从集合中拿数据并且同时删除
# print(set1)
# quData=set1.pop()
# print(quData)
# print(set1)
# print(set1.discard(3)) #指定移除的元素
# print(set1)
# update 两个集合
set1.update(set2)
print(set1)
六、练习
# --------------------------- 作业1 ----------------------------
# 求出1到10,20到30,35到45的和
print('1到10的和:', sum(range(1,11)))
print('20到30的和:', sum(range(20,31)))
print('35到45的和:', sum(range(35,46)))
def sum1(m,n):
print('%d到%d的和:' %(m,n), sum(range(m,n+1)))
print(sum1(1,10))
# --------------------------- 作业2 ----------------------------
# 100个和尚吃100个馒头,大和尚1个吃3个馒头,小和尚3个吃1个馒头,求问有几个大和尚和小和尚
def count(m,n):
"""
共有m个和尚,n个馒头,大和尚a人,小和尚100-a人
:param m:
:param n:
:return:
"""
for a in range(1,m):
if a*3+(100-a)*(1/3)==n:
return (a,100-a)
pass
pass
person = count(100,100)
print('大和尚{}人,小和尚{}人'.format(person[0],person[1]))
# --------------------------- 作业3 ----------------------------
# 指定一个列表,列表里含有唯一一个只出现依次的数字,找出这个数字
li = [1,3,4,3,4,5,2,4,5,2,2,3]
set1 = set(li)
# print(set1)
for i in set1:
li.remove(i)
pass
set2 = set(li) # set2是有重复的集合
print(set1.difference(set2)) # 求差集
rs = set1.difference(set2)
print(type(rs))
for i in rs:
print(i)
# 法二
for i in set1: # set1中数据去重后的集合
if i not in set2:
print(i)
pass
pass