内置函数

len() 获取数据类型的长度,有return

s = 'string'
list = [1,2,3,4,5,6]
len_s=len(s)
print(len_s)    6
len_list=len(list)
print(len_list)    6

sum() 求和,有return

def add(*args,**kwargs):
    print(sum(args)+sum(kwargs.values()))    # **kwargs是字典键值对传参,所以需要获取values
add(1,2,3,a=4,b=5)    15
list = [1,2,3,4,5]
tuple = (6,7,8,9,10)
dict = {'a':1,'b':2,'c':3}
res = sum(list)+sum(tuple)+sum(dict.values())    # 字典是键值对形式,所以需要获取values
print(res)    61

max() 最大值,有return
min() 最小值,有return

list = [1,2,3,4,5]
tuple = (6,7,8,9,10)
dict = {'a':1,'b':2,'c':3}
min_list=min(list)
print(min_list)    1
max_tuple=max(tuple)
print(max_tuple)    10
max_dict=max(dict.values())
print(max_dict)    3

bool布尔值  python中所有数据都有布尔值
非零为True;数值为0或者数据为空None或者数据长度为0的是False 

a = '0'
print(bool(a))    True

id()  获取数据(对象)在内存当中的位置

a = 'gibert'
b = 'gibert'
print(id(a))    1865038512560
print(id(b))    1865038512560
c = [3,4,5]
d = [3,4,5]
print(id(c))    1865038526272
print(id(d))    1865038508800
a = (11)    # 只有一个元素后面没有逗号,这是int类型
b = 11
print(id(a))    2498113661552
print(id(b))    2498113661552

总结:不可变数据类型的两个变量如果相等则id()相同
           可变数据类型的两个变量即使相同id()也不同
           无论是不可变数据类型还是可变数据类型每次运行后id()都会发生变化

int()  float()   str()   list()   tuple()   dict()   set()   range() 

a = list(range(1,5))    # 不使用list转成列表的话a=range(1,5)打印的是range(1,5)
print(a)    [1, 2, 3, 4]
a = range(1,5)
print(type(a))    <class 'range'>

高级内置函数
enumerate()  可同时获得序列类型数据的索引和对应的值(类似元组拆包)

li = ['aa','bb','cc']
res = enumerate(li)
print(res)    <enumerate object at 0x000001D224814140>
print(list(res))    [(0, 'aa'), (1, 'bb'), (2, 'cc')]
for i,v in enumerate(li):
    print(i,v)
0 aa
1 bb
2 cc
li = ['aa','bb','cc']
for i in enumerate(li):
    print(i)    # 以元组的形式保存
(0, 'aa')
(1, 'bb')
(2, 'cc')

 

eval()  识别字符串中有效的python表达式(如果去掉定义的字符串变量两边的引号不报错就可以用eval()函数,差不多就是把字符串两边的引号去掉之后,是什么数据类型就转换成什么数据类型)

a = '[11,22,33,44]'
b= list(a)
print(b)    ['[', '1', '1', ',', '2', '2', ',', '3', '3', ',', '4', '4', ']']
c=eval(a)
print(c,type(c))    [11, 22, 33, 44] <class 'list'>
s = "{1:'yes',2:'ok'}"
e = eval(s)
print(e,type(e))    {1: 'yes', 2: 'ok'} <class 'dict'>
c = '77>99'
print(eval(c))    False
d = "print('hello python')"
eval(d)
print(eval(d))
hello python
hello python
None    # print没有返回值,所以会打印一个None
f = 'name'
print(eval(f))    报错NameError: name 'name' is not defined,因为name没有被定义
name = 'jier'
f = 'name'
print(eval(f))    jier    # name有定义,转换成变量输出定义的赋值
e = '[1,2,3](4,5,6){1:"yes"}'
print(eval(e))    报错SyntaxError: invalid syntax    # 变量e中去掉两边的引号会报错,所以用eval()函数会报错
e = '[1,2,3],(4,5,6),{1:"yes"}'
print(eval(e))    ([1, 2, 3], (4, 5, 6), {1: 'yes'})    # 多种数据类型混合,默认转换成元组形式保存
def a():
    s = "{1:'1'}"
    return s


def b():
    b = '{1:"1"}'
    return b

print(a() == b())    False
print(eval(a()))    {1: '1'}
print(eval(b()))    {1: '1'}
print(eval(a()) == eval(b()))    True    # 最外面的引号''和""在python是相等的

filter()  过滤器函数,可以根据函数自定义的过滤规则过滤数据,形式如下
filter(参数1,参数2)
参数1:自定义过滤器规则的函数
参数2:要过滤的原数据
如果自定义的函数只有一行代码可以配合匿名函数lambda函数(lambda函数不带括号)使用,形式如下:
lambda 参数:返回值    (lambda和参数直接有个空格)

dic = {'aa':11,'bb':22,'cc':33,'dd':44}
def fun(x):
    return x[1]>30    # 只有一行代码的函数,可以使用lambda函数
res = filter(fun,dic.items())
print(dict(res))    {'cc': 33, 'dd': 44}
li = [11,22,33,44,55,66,77,88,99]
def fun(x):
    return 30<x<90    # 只有一行代码的函数,可以使用lambda函数,方法如下个代码块
res = filter(fun,li)
print(res)    <filter object at 0x0000013EEE9CCFA0>
print(list(res))    [33, 44, 55, 66, 77, 88]
li = [11,22,33,44,55,66,77,88,99]
res = filter(lambda x:30<x<90,li)
print(res)    <filter object at 0x000001F098B2CFA0>
print(list(res))    [33, 44, 55, 66, 77, 88]

 zip()  聚合打包,支持列表和列表,元组和列表等打包成以元组或字典为元素的格式存放在列表中(一般存放在列表中,因为列表支持增删改查,元组不支持增删改)

a = ['name','age','sex','add']
b = ['daxigua',18,'boy']    # a,b两个变量内元素数量不一致,以最短的为准聚合打包成元组的形式
res = zip(a,b)
print(res)    <zip object at 0x000001B7F80BF100>
print(list(res))    [('name', 'daxigua'), ('age', 18), ('sex', 'boy')]
a = ['name','age','sex','add']
c = [['daxigua',18,'boy'],['erhan',18,'boy'],['erlin',18,'boy'],['erfang',18,'boy']]
lis = []
for i in c:
    res = dict(zip(a,i))
    print(res)     # 输出下面四个字典格式的数据
    lis.append(res)    # 把字典作为一个元素加入到列表中
print(lis)
{'name': 'daxigua', 'age': 18, 'sex': 'boy'}
{'name': 'erhan', 'age': 18, 'sex': 'boy'}
{'name': 'erlin', 'age': 18, 'sex': 'boy'}
{'name': 'erfang', 'age': 18, 'sex': 'boy'}
[{'name': 'daxigua', 'age': 18, 'sex': 'boy'}, {'name': 'erhan', 'age': 18, 'sex': 'boy'}, {'name': 'erlin', 'age': 18, 'sex': 'boy'}, {'name': 'erfang', 'age': 18, 'sex': 'boy'}]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值