- 本节内容:
 - 一.内置函数-range()
 - 二.内置函数-zip()
 - 三.其他内置函数
 - 变量相关函数
id() #获取当前数据的id标识
type() #获取当前数据的类型
print() #数据的打印
input() #获取输入的数据
isinstance() #检测是否为指定的数据类型 - 数字相关函数
#获取一个数的绝对值
print(abs(-99.99))
#求和
print(sum([1,2,3]))
#获取最大值
print(max(1,2,5))
print(max([1,22,5]))
#获取最小值
print(min(1,2,5))
print(min([1,22,5]))
#幂运算
print(pow(2,5))
#无需记住,留有印象即可,用时可面向百度_ - 四.内置函数-高阶-sorted()函数
 - 示例如下:
arr = [45,26,84,21,-11,99]
res = sorted(arr,reverse = True) _#默认为升序()False,加上第二个参数reverse(True)可以转为降序
_print(res) - 加上一个参数key
#abs()求绝对值
_arr = [45,26,84,21,-11,99]
res = sorted(arr,key = abs,reverse = True) #按照key函数处理的结果进行排序
_print(res) - 在sorted中使用自定义函数
def func(num):
return num%2
arr = [2,5,4,9,1]
res = sorted(arr,key=func) _#对2取余后比较大小,再返回排序原数据输出
_print(res) - 五.内置函数-高阶-map()函数
 - 六.内置函数-高阶-reduce()函数
 - 七.内置函数-高阶-filter过滤器
 - 要求:保留所有的偶数
 
我想当第一
本节内容:
python自带的各种内置函数
内置函数就是系统在安装玩python解释器时就存在的,由系统提供的函数.可以直接使用
一.内置函数-range()
#range()函数能够生成一个指定的数字序列
参数:
    start  :开始的值
    stop  :结束的值
    step  :可选,步进值,默认为1
返回值: 可迭代对象,数字序列
#只写一个参数,开始的值默认为0
res = range(10)
_#两个参数时,第一个参数是开始的值,第二个参数就是结束的值(在结束值之前,左闭右开)
_res = range(5,10)
print(list(res))
_#三个参数时,参数一为开始值,参数二为结束值,参数三为步长
_res = range(1,10,2)
print(list(res))
_#获取倒序
_res = range(10,0,-1)
print(list(res))
二.内置函数-zip()
zip()函数可接收多个可迭代对象,然后把每个可迭代对象中的第i个元素组合在一起,形成一个新的迭代器
参数:  *iterables ,任意个可迭代对象
返回值: 返回一个元组的迭代器
示例如下:
var1 = ‘1234’
var2 = [‘a’,‘b’,‘c’,‘d’]
var3 = (‘A’,‘B’,‘C’,‘D’)
_#调用zip函数,组成新的元组迭代器
_res = zip(var1,var2,var3)
print(next(res))
print(next(res))
print(next(res))
三.其他内置函数
#数据类型相关函数
_int()           #将其他类型数据转为整形
float()         #将其他类型转为浮点类型
bool()          #转为布尔类型
str()           #转为字符串类型
tuple()         #转为元组类型
dict()          #转为字典类型
list()          #转为列表类型
set()           #转为集合类型
变量相关函数
id()            #获取当前数据的id标识
type()          #获取当前数据的类型
print()         #数据的打印
input()         #获取输入的数据
isinstance()    #检测是否为指定的数据类型
数字相关函数
#获取一个数的绝对值
print(abs(-99.99))
#求和
print(sum([1,2,3]))
#获取最大值
print(max(1,2,5))
print(max([1,22,5]))
#获取最小值
print(min(1,2,5))
print(min([1,22,5]))
#幂运算
print(pow(2,5))
#无需记住,留有印象即可,用时可面向百度_
四.内置函数-高阶-sorted()函数
# sorted(iterable,reverse,key)
_# 功能:用于排序
# 参数:
#     iterable:可迭代的数据
#     reverse 可选,是否反转,默认为False
#     key 可选 函数,可以是自定义函数也可以是内置函数
# 返回值:排序后的结果
# 运行原理:把可迭代数据里面的元素取出放在key函数中处理,并按照返回的结果进行排序
示例如下:
arr = [45,26,84,21,-11,99]
res = sorted(arr,reverse = True) _#默认为升序()False,加上第二个参数reverse(True)可以转为降序
_print(res)
加上一个参数key
#abs()求绝对值
_arr = [45,26,84,21,-11,99]
res = sorted(arr,key = abs,reverse = True)     #按照key函数处理的结果进行排序
_print(res)
在sorted中使用自定义函数
def func(num):
    return num%2
arr = [2,5,4,9,1]
res = sorted(arr,key=func)   _#对2取余后比较大小,再返回排序原数据输出
_print(res)
_#优化版,使用lambda简化自定义的简单函数
_arr = [2,5,4,9,1]
res = sorted(arr, key=lambda x:x%2)
print(res)
五.内置函数-高阶-map()函数
对传入的可迭代数据中的每个元素进行处理,返回一个新的迭代器
 map(func,*iterables)
功能:对传入的可迭代数据中的每个元素放入到函数中进行处理,返回一个新的迭代器
参数:
   func 函数      自定义函数|内置函数
   iterables: 可迭代 数据
返回值: 迭代器
案例一:把字符串列表转换为整形的列表
#普通方法
varlist = [‘1’,‘2’,‘3’,‘4’]   _#—->[1,2,3,4]
_newlist = []
for i in varlist:
    newlist.append(int(i))
print(newlist)
#使用map()函数
_varlist = [‘1’,‘2’,‘3’,‘4’]
res = map(int,varlist)  #返回的是一个迭代器
_print(list(res))
案例二:[1,2,3,4]—->[1,4,9,16]
#普通方法
varlist = [1,2,3,4]
newlist = []
for i in varlist:
    newlist.append(i*i)
print(newlist)
varlist = [1,2,3,4]
def func(num):           #自定义求平方的函数
    return  num**2
#使用map()函数
res = map(func,varlist)   _#或者使用匿名函数简化代码res = map(lambda x:x**2,varlist)
_print(list(res))
六.内置函数-高阶-reduce()函数
reduce(func,*iterable)
功能:
    每一次从iterable拿出两个元素,放入func函数中进行处理,得出一个计算结果,然后
    把这个计算结果和iterable中的第三个元素,放入到func函数中继续运算,得出的结果
    和之后的第四个元素,加入到func函数中进行出,以此类推,直到全部元素参与运算
    
参数:
    func    内置函数或自定义函数
    iterable  可迭代数据
返回值:最终运算结果
注意:使用reduce()函数需导入from functools import reduce
案例:将[5,2,1,1]—->5211
#普通方法
_varlist = [5,2,1,1]
res = ‘’
for i in varlist:
     res += str(i)      #利用字符串相加就是拼接的特性完成本题
_print(int(res))
#使用reduce()函数
from functools import reduce
varlist = [5,2,1,1]
def func(x,y):
    return x*10 + y
res = reduce(func,varlist)
print(res)
七.内置函数-高阶-filter过滤器
filter(func,iterable)
功能: 过滤数据,把 iterable 中的每个元素拿到func函数中进行处理,
        如果函数返回True则保留这个数据,返回False则丢弃这个数据
参数:
    func : 函数
    iterable:可迭代的数据
返回值:保留下来的数据组成新的迭代器
要求:保留所有的偶数
_# 普通方法
_varlist = [1,2,3,4,5,6,7,8,9]
newlist = []
for i in varlist:
    if i % 2 == 0:
        newlist.append(i)
print(newlist)
_#使用filter过滤器
_varlist = [1,2,3,4,5,6,7,8,9]
def func(i):
    if i % 2 == 0:
        return True
    else:
        return False
res = filter(func,varlist)      _#只需要放入函数名字即可
_res = filter(lambda i:True if i%2 == 0 else False**,varlist)      #此处可以使用lambda表达式简化代码
_print(list(res))
#此处的lambda表达式虽然可以简化代码,但是可读性可能相对于函数来说差一点
