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))
  • 相关阅读:
    程序员:不要自称为码农
    SpringBoot对静态资源配置
    LeetCode 572. Subtree of Another Tree(子树)
    LeetCode 437. Path Sum III(统计路径和等于sum的路径数量)
    LeetCode 112. Path Sum(判断路径和是否等于一个数)
    LeetCode 617. Merge Two Binary Trees(归并两棵二叉树)
    LeetCode 226. Invert Binary Tree(翻转二叉树)
    Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 的解决办法
    linux-查询某软件的安装的目录
    WebService概念解释
  • 原文地址:https://www.cnblogs.com/jensenxie/p/9130118.html
Copyright © 2011-2022 走看看