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

    知识要点:
     
    1、作用域相关函数 
    globals() #返回一个字典:包含全部的全局变量。
    locals() #返回一个字典:包含的是当前作用域 所有的变量。
     
    例如:
    b = 2
    print(locals()) # 这个区域打印的
    print(globals())
    def func1():
      a = 1
      print(locals())  #和这个区域打印的是不同的
      print(globals())
    func1()
    2、输入输出相关 
    input() #函数接受一个标准输入数据,返回为 string 类型。
    print() #打印输出。
     
    一般的打印:
    print('666')
    print(1,2,3,4)
    print(*[1,2,3])  #这里是函数的调用,前面有*就打散,正常输出
    def func1(*args,**kwargs):  # 函数的定义:*指的是聚合。
      print(*args)      # (*(1,2,3,4))  函数的执行时: * 打散变成 print(1,2,3,4) 所以可以正常输出
      print(args)    #也可以正常输出
      print(**kwargs)    # 这里将会报错,因为相当于print(name='alex',age=1000)而print函数源码定义只有*args,并没有定义**kwargs,因而会报错
      print(kwargs)    #正常输出
    func1(1,2,3,4,name='alex',age=1000)
    print() 函数的一些常用设置:
    print(1,2,3,4)    #正常输出多个内容默认以空格为分隔符
    print(1,2,3,sep='|')      # 以sep修改多个内容分隔符为其他符号
     
    如果这么打印两个数,那么默认是分成两行的
    print(111)
    print(222)
     
    print(111,end=' ')   # 这么打印会连成一行,以设置的空格隔开。end的作用是修改默认换行规则以设置的符号隔开
    print(222,end=' ')
    print()#函数的定义源码中有个默认参数file=none,把none改成文件句柄即可直接写入文件
    f = open('t1',encoding='utf-8',mode='w')
    print(666,'777','888',file=f)
    3、数学运算相关函数
    abs() #函数返回数字的绝对值。
    print(abs(-100))
     
    divmod() #计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。 
    print(divmod(12,7))  # 得到结果(1, 5) (商,余数)
    工作中作用是:页面的分页,103 条数据,你每页显示12 条数据,你最终显示多少页。
    print(divmod(103,12))
     
    round():保留浮点数的小数位数,默认保留整数,四舍五入。
    print(round(3.141592653,4))
     
    pow:求x**y次幂。(三个参数为x**y的结果对z取余) 
    print(pow(2,5))
    print(pow(2,5,12))
     
    sum() 函数:
    sum():对可迭代对象进行求和计算(可设置初始值)。
    sum(iterable,start_num)
    print(sum([1,2,3,4,100,101]))
    print(sum([1,2,3,4,100,101],100))
    print(sum([int(i) for i in [1,'2',3,'4','100',101]]))
    min() 函数
    min():返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。
    print(min([1,-2,3,4,100,101]))
    print(min([1,-2,3,4,100,101]))
    print(min([1,-2,3,4,100,101],key=abs))
    例:[('alex',1000),('太白',18),('wusir',500)] 求出年龄最小的那个元组
    之前我们的做法是:
    ls = [('alex',1000),('太白',18),('wusir',500)]
    min1 = min([i[1] for i in ls])
        for i in ls:
            if i[1]==min1:
                print(i)
     
    现在我们可以使用key参数来做:
    def func(x):
        return x[1]     # 1000 18 500
    print(min([('alex',1000),('太白',18),('wusir',500)],key=func))
    1,它会将iterable的每一个元素当做函数的参数传进去。
    2,它会按照返回值去比较大小。
    3,返回的是遍历的元素 x.
     
    dic = {'a':3,'b':2,'c':1} 求出值最小的字典的键
    def func1(x):
        return dic[x]
    print(min(dic,key=func1))
     
    def func2(x):
        return x[1]
    print(min(dic.items(),key=func2)) #输出字典的键值对的元组
     
    max():返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。 *****
    print(max([1,2,3,100]))        
    4、其他相关的内置函数
    字符串类型代码的执行 eval,exec,complie,不建议使用这些函数
    eval(): 执行字符串类型的代码,并返回最终结果
    s1 = '1+2+3'
    s2 = "{'name':'alex'}"
    print(eval(s1))
    print(eval(s2))
     
    # exec() 执行字符串类型的代码,不返回结果 用于代码流
    s3 = '''for i in range(3):
    print(i)
    '''
    print(exec(s1))
    exec(s3)
     
    有计算结果的时候使用eval()
    没有计算结果使用exec()
    complie() 了解一下即可
     
    5、内存相关 hash id ***
    hash():获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。
    id():获取该对象的内存地址。
     
    字典:会将你的所有的key 在内存中转化成id
    dic = {'name':'alex','kfdshjfhdskjfhsd': '123'}
    print(hash('name'))
    print(hash('name1'))
    print(hash('fdsmkfghsdlksld'))
    print(hash(1))
    print(hash(100))
    print(hash(100000000000))
    print(hash([1,2,3])) #列表时可变数据类型,不可哈希
    6、文件操作相关
    open:函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
     
    7、模块相关__import__
    __import__:函数用于动态加载类和函数 。
     
    8、帮助
    help():函数用于查看函数或模块用途的详细说明。
    name = 'alex'
    print(help(str))
     
    9、调用相关
     
    callable():函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;
    但如果返回False,调用对象ojbect绝对不会成功。
    name = 'alex'
    def func1():
    pass
    print(callable(name)) # False
    print(callable(func1)) # True # 说明func1可以被调用
     
    10、查看内置属性
     
    dir():函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。
    如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
    name = 'alex'
    print(dir(name))
     
    range():函数可创建一个整数对象,一般用在 for 循环中。
    python2x: range(3) ---> [0,1,2] 列表
    xrange(3) ---> 迭代器。
    python3x: range(3) ---> range(0,3) 可迭代对象
     
    next():内部实际使用了__next__方法,返回迭代器的下一个项目。
    iter():函数用来生成迭代器(将一个可迭代对象,生成迭代器)。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)
    区间合并
    二分查找算法模板
    神经网络详解(RNN/LSTM)
    反向传播算法推导过程(非常详细)
    机器学习-回归问题(Regression)
    从RNN到LSTM
    神经网络浅讲:从神经元到深度学习
    部署高并发python后端(Systemd+Nginx+Gunicorn+Gevent+Supervisor+Flask )
    产品笔记 | 软件版本号—规范与命名规则
  • 原文地址:https://www.cnblogs.com/banjh/p/9512876.html
Copyright © 2011-2022 走看看