zoukankan      html  css  js  c++  java
  • 内置函数

    # 内置函数
    # print(all(' '))

    # 一定要传可迭代对象,例如元组
    # print(all((1,2,None,'r')))
    #
    # print(all((1,2,3,'r')))
    #
    # print(all(i for i in range(1,10)))
    # print(all((i for i in range(1,10))))
    #
    # print(all(i for i in range(10)))
    #
    # print(sum((i for i in range(10))))
    #
    # print(any(i for i in range(10)))
    # print(any((0,0)))

    # 二进制
    # print(bin(9))
    # 十六进制
    # print(hex(10))
    # print(hex(17))



    # 布尔值
    # print(bool(0))
    # print(bool(''))
    # print(bool(None))

    # 把字符串表示成字节格式
    # print(bytes('hello',encoding='utf-8'))
    # print(bytes('中国',encoding='utf-8'))

    # 是不是内置函数
    # def test():
    # pass
    # print(callable(test))
    # print(callable(sum))

    # aciica码相互转化
    # print(chr(67))
    # print(ord('a'))
    # print(chr(97))

    # complie() 很少用
    # complex() 很少用
    # x=complex(1-2j)
    # print(x.real)
    # print(x.imag)

    # 数据类型
    # int
    # num=1
    # print(type(num))
    # print(num is int) # is不是用来判断数字类型的
    # print(num is 1)
    # print(num == 1)

    # str,变字符
    # s="fwee" # s=str("fwee")
    # print(str(2))
    # print(str({'a':1}))

    # list列表
    # x=[]
    # x=list(i for i in range(10))
    # print(x)

    # tuple 元组


    # # dict 字典
    # d={'a':1}
    # print(d)
    #
    # d=dict(x=1,y=2,z=3)
    # print(d)

    # set集合:无序,去重
    # s={1,1,2,3,4,"q"}
    # print(s)
    # s.add(5)
    # print(s)
    # print(type(s))

    # frozenset # 不可变类型
    # set和frozenset皆为无序唯一值序列。set和frozenset最本质的区别是前者是可变的、后者是不可变的 。
    # 当集合对象会被改变时(例如添加、删除元素等),只能使用set ,一般来说使用fronzet的地方都可以使用set 。
    # f=frozenset({1,2,3,4})
    # print(type(f))
    # print(f)

    # dir就是看看l可以调用什么方法
    # l=[]
    # print(dir(l))

    # 取除了的商对应的整数和余数
    # print(divmod(10,3))
    # 这个函数方便用来计算数据分几页显示
    # 100条数据,一页33条,于是得到4页
    # print(divmod(100,3))
    # print(divmod(100,3)[0])

    # 能输出列表的索引值(列表有序,所以输出的索引值多次结果一样)
    # for i in enumerate(['a','b','c','d']):
    # print(i)

    # 字典是无序的,所以每次结果不一定排序一样,一般不用字典
    # for i in enumerate({'a':3,'b':6,'c':8,'d':9}):
    # print(i)

    # 得到hash值,用来校验数据
    # print(hash('sfe'))
    # print(hash('sfe'))

    # 下载时得到hash值
    # s='hello'
    # print(hash(s))
    # # 程序运行时可能不小心修改了,例如木马
    # s='h'
    # print(hash(s))
    # 如果下载某软件时,前后两个hash值比较是否相等,不等就要重新下载
    # hash值与文件长度无关,固定的
    # hash值不能内推,是固定的

    # 查id号(同样的数,每次运行的ID值都不一样)
    # print(id('dagege'))
    # a=1
    # b=2
    # print(id(a))
    # print(id(b))
    # print(a is b)
    # a=2
    # print(id(a))
    # print(a is b)

    # # 如果数值变大,就明明相同的两个数,python的ID是不同的
    # x=123123456456789099999
    # y=123123456456789099999
    # print(id(x))
    # print(id(y))
    # print(x is y)

    # 变字符型
    # print(type(str(1)))
    # print(type(1))

    # 最大值最小值
    # print(max(1,2,3,4,5,10))
    # print(min(1,2,3,4,5,10))

    # salaries={
    # 'egon':3000,
    # 'alex':1000000,
    # 'yuanhao':2500
    # }
    # for i in salaries:
    # print(i)
    # print(salaries[i])

    # 这样得到关键字最大的那个
    # print(max(salaries))
    # 应该是比较工资,把记录全部列出来
    # print(max(salaries.values()))
    # def get_value(sa):
    # k=max(sa.values())
    # for i in sa:
    # if sa[i]==k:
    # print(i,k)
    #
    # get_value(salaries)
    #
    # ee=(i,max(salaries.values()) for i in salaries if salaries[i]==max(salaries.values()))

    # 也可以:
    # ee=((i,max(salaries.values())) for i in salaries if salaries[i]==max(salaries.values()))
    # print(next(ee))

    # 也可以比较参数从关键字变为别的字段
    # def rr(j):
    # return salaries[j]
    #
    # print(max(salaries,key=rr))


    # 匿名函数:
    # def rr(j):
    # return salaries[j]

    # lambda k:salaries[k]
    # f=lambda k:salaries[k]
    # print(f)
    # print(f("egon"))

    # 上面也可以
    # print(max(salaries,key=lambda k:salaries[k]))
    #
    # print(min(salaries,key=lambda k:salaries[k]))
    # salaries={
    # 'egon':3000,
    # 'alex':1000000,
    # 'yuanhao':2500
    # }

    # print(max(salaries,key=lambda k:salaries[k]))

    # 拉链
    # l=[1,2,3]
    # s='hel'
    # e=zip(l,s)
    # print(next(e))
    # for i in e:
    # print(i)
    #
    # z=zip(salaries.values(),salaries.keys())
    # for i in z:
    # print(i)
    #
    # z=zip(salaries.values(),salaries.keys())
    # print(max(z)) #以第一个字符为排序依据
    #
    # z=zip(salaries.values(),salaries.keys())
    # print(min(z)) #以第一个字符为排序依据
    #
    # l=[3,4,5,2,2]
    # print(sorted(l))
    #
    # s='hello abc'
    # print(sorted(s))
    # print(sorted(s,reverse=True)) # 返回值是列表,默认是升序
    #
    # salaries={
    # 'egon':3000,
    # 'alex':1000000,
    # 'yuanhao':2500
    # }
    #
    # print(sorted(zip(salaries.values(),salaries.keys()),reverse=True))
    #
    # print(sorted(salaries,key=lambda x:salaries[x]))
    #
    # salaries={
    # 'egon':3000,
    # 'alex':1000000,
    # 'yuanhao':2500
    # }
    #
    # print(sorted(salaries,key=lambda x:salaries[x],reverse=True))

    # 映射函数map
    # l=[1,2,3,4,5]
    #
    # x={i**2 for i in l}
    # print(x)
    #
    #
    # m=map(lambda item:item**2,l)
    # print(m)
    # for i in m:
    # print(i)
    #
    # m=map(lambda item:item**2,l)
    # print(list(m))
    #
    # name_l=['alex','zhengjiang','yuanjie']
    # m=map(lambda name:name+'sb',name_l)
    # print(list(m))

    # 序列合并reduce
    # from functools import reduce
    # l=list(range(10))
    # print(l)
    # ee=reduce(lambda x,y:x+y,l,100) # 100是初始值
    # print(ee)

    # filter过滤函数
    # name_l=[
    # {'name':'egon','age':18},
    # {'name':'dragonfire','age':1000},
    # {'name':'gao','age':9000},
    # {'name': 'fsw', 'age': 10000},
    # ]
    #
    # ee=filter(lambda d:d['age']>100 ,name_l)
    # for i in ee:
    # print(i)

    # 其他
    # 十进制转八进制
    # print(oct(10))
    # # 3的2次方再跟2取余数
    # print(pow(3,2,2))
    # print(pow(3,2))
    # # 反转
    # print(reversed([1,2,3,4,5]))
    # print(list(reversed([1,2,3,4,5])))
    # # 四舍六入,五看情况,如果前面是双数就舍,如果前面是单数就进
    # print(round(10.3))
    # print(round(10.5))
    # print(round(10.9))
    # print(round(11.5))
    #
    # # 切片
    # l=[1,2,3,4,5,6,7,8]
    # print(l[2:4])
    # # 同样可以
    # s=slice(2,4)
    # print(l[s])
    #
    # s=slice(2,4,3) # 步长为3
    # print(l[s])
    #
    # # vars打印局部名称空间的名字
    # print(vars()) # 字典形式
    # print(vars() is locals())

    # # 时间函数
    # import time
    # time.sleep(1)
    # print("helfwen")
    # print(time)

    # # 可以把字符变成内置函数
    # s='time'
    # m=__import__(s)
    # m.sleep(2)
    # print(m)
    #
    # # 匿名函数lambda,没有函数名,直接写参数
    # lambda x,y:x+y #return x+y
    #
    # def test(x,y):
    # return x+y
    #
    # max(iter,key=lambda )
    # map(lambda,iter)
    # reduce(lambda,iter)
    # reduce(lambda,iter)
    # filter(lambda,iter)

    # 内置函数
    # # 16进制
    # hex
    # # 数字变ica码的字母
    # chr
    # 复数
    # x=complex(1,-2)
    # print(x.real)
    #
    # int(9)

    # 前面有点的不叫函数,叫方法,方法只对调用它的对象有用
    # l=[]
    # l.append('efef')
    # print(l)

    def test(x,item):
    x.append(item)

    a=[]
    b=[]
    test(a,-9)
    test(a,2)
    test(a,7)
    test(a,97)

    print(a)
    test(b,1)
    print(b)

    # 看对象点后有什么方法
    print(dir(a))
    # 商和余数
    print(divmod(10,3))
    # 迭代器
    enumerate(a)

    # 过滤
    filter(lambda x:x>0,a)
    map(lambda x:x>0,a)
    from functools import reduce
    er=reduce(lambda x,y:x+y,a)
    print(er)

    isinstance(1,int)
    print(type(1) is int)
    # 幂运算
    print(pow(10,2))
    # 幂运算再取余数
    print(pow(10,2,3))
    # 3.5变4,10.5变10
    print(round(3.5))
    print(round(10.5))
  • 相关阅读:
    我的公众号:WebHub
    The Qt Resource System
    Node.js Streams:你需要知道的一切
    2019春招前端面试预测题!
    BeamNG.drive物理引擎评鉴
    EcmaScript对象克隆之谜
    死锁与囚徒困境的辩证关系
    停止学习框架
    qt5android
    opencvKmeans图像分割根据颜色
  • 原文地址:https://www.cnblogs.com/jensenxie/p/9130118.html
Copyright © 2011-2022 走看看