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

    file:///C:/Users/Administrator/Desktop/Evernote.enex.html

    作用域相关
    locals()   # 全局名称空间中石油的变量放在一个字典中
    globals()  # 局部名称空间所有变量放在一个字典中
     
    a = 2
    b = 3
    def func1():
        c = 5
        d = 6
        print(globals())  #返回; {'a': 2, 'b': 3,}
        print(locals())   #返回:  {'d': 6, 'c': 5}
    func1()
     
    其他相关
    字符串类型代码的执行
     
    1.***eval: 执行字符串类型的代码, 并返回结果.(抛开字符串的俩边, 进行操作计算, 并返回)
     
    print(eval('3+4'))   #返回: 7
    简单求值表达式用eval
     
     
    2.***exec: 执行字符串类型的代码, 流程语句 < 写一段代码放入字符串里, 发给别人, 别人用exec一下就可以得到里面的代码 >
     
    ret1 = '''
    li = [1, 2, 3]
    for i in li:
        print(i)
    '''
    print(exec(ret1))  #返回:1, 2,3,None
    流程语句使用exec
     
    总结:有返回值的字符串形式的代码用eval,没有返回值的字符串形式的代码用exec,一般不用compile。
     
    1. compire: 将字符串的代码, 代码对象能够通过exec语句来执行或者eval()进行求值
     
     
    输入输出相关 
     
     1.input:函数接受一个标准输入数据,返回为 string 类型。
       2.***print:打印输出。
        
    源码分析:def print(self, *args, sep=' ', end=' ', file=None)
     
    print(333,end = '**')  #理解:上下的内容以*拼接起来.默认是以空格
    print(666)
    返;333**666:
    每一次打印的结尾,默认为换行符
     
    print('dddsd','hgg','hfgh',sep ='|') #每一个元素通过这个连接符(|)链接起来
     
     
    with open ('log',encoding = 'utf-8',mode = 'w') as f1
     print('656546',file = f1)  #将这个文件直接写入,能写能追加
     
    内存相关
     
    id:用于获取对象的内存地址
    * hash:获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。
    print(hash(123456)) #数字不变
    print(hash('dsfff'))
    print(hash('fdsfdsf')) 
    #字符串是任意的,执行一次hash值变一次,位数是一样的.
     
    文件操作相关
     
                open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
    :
     
     
    模块相关__import__ 
     
              __import__:函数用于动态加载类和函数 。
     
    帮助
     
      *help:函数用于查看函数或模块用途的详细说明
     
     
    调用相关
     
      ***callable:函数用于检查一个对象是否是可调用的。
    如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
    def func1():
        print(555)
    a = 3
    f = func1
    print( callable(f)) #返回: True
    print( callable(a)) #返回: False
    #理解:用callable这个内置函数去检测变量是不是函数名,是就返回: True,不是就返回: False
     
    查看内置属性,
    *** dir 查找你这个对象的所有方法
    print(dir(list))
     
    迭代器生成器相关
         1 .range:函数可创建一个整数对象,一般用在 for 循环中。
     
    1.   *next:内部实际使用了__next__方法,返回迭代器的下一个项目。
    li =iter( [1, 2, 3, 4, 5, 6, 7 ])
    while True:
        try:
            # 获得下一个值
            x = next(li) #页可以这样写 x = li.__next__(),用法不一样,但都是在求他的下一个值
            print(x)
        except StopIteration:
            遇到except StopIteration就退出循环,这里的next 就是一根内置函数,封装了__next__的功能,所以可以这样用
            break
     
    1.  *iter:函数用来生成迭代器(讲一个可迭代对象,生成迭代器)
    iter这里为内置函数,封装了一下,跟__iter__的功能一样,同next与__next__一样.
     
     
    基础数据类型相关
     
    数字相关
    数据类型
    bool :用于将给定参数转换为布尔类型,如果没有参数,返回 False。
     
    *int:函数用于将一个字符串或数字
    print(int())  # 0
     
    print(int('12'))  # 12
     
    print(int(3.6))  # 3  #保留整数
     
    print(int('0100',base=2))  # 将2进制的 0100 转化成十进制。结果为 4
     
    float:函数用于将整数和字符串转换成浮点数
    print(type(3.14))   #返回: <class 'float'> #保留整数
    print(float(3))     #返回;3.0
     
    complex:函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。
     
     
    进制转换:
     
        *bin:将十进制转换成二进制并返回。 用0b表示
    print(bin(5)) # 0b101
       * oct:将十进制转化成八进制字符串并返回。用0o表示
    print(oct(7)) #0o7
        *hex:将十进制转化成十六进制字符串并返回。用0x表示
     
    print(hex(19))  #0x13
     
     
     
    数学运算(7):
     
        *abs:函数返回数字的绝对值。
    print(abs(-20))  #20
     
     
        *divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。
    print(divmod(10, 3))  # (3, 1)  #应用到网页分页
     
     round:保留浮点数的小数位数,默认保留整数。
     
    print(round(3.1415926)) # 3
    print(round(3.1415926,3)) # 3.142 保留3位数
     
     pow:求x**y次幂。(三个参数为x**y的结果对z取余)
     
    print(pow(2, 3))  # 8
    print(pow(2, 3, 5))  # 3 先将2*3的次幂算出来为8,然后用8除5,商1余3,得到的余数为3,就是结果
     
     ***sum:对可迭代对象进行求和计算(可设置初始值)。
    print(sum([1, 2, 3, 5 ,6]))  #17
    print(sum([1, 2, 3, 5 ,6],100)) #117  这后面不能再加上一个参数了
    必须是可迭代对象,且参数最多为俩个,
     
     
        ***max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。
    ret = (max([1, 2, -5],key = abs)) #按照绝对值的大小,返回序列最大值
    print(ret)
     
    dic = {'a':3,'b':2,'c':1}
    print(max(dic,key=lambda x:dic[x]))
    # x为dic的key,lambda的返回值(即dic的值进行比较)返回最小的值对应的键
     
    ***min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。
    print(min([1,2,3]))  # 返回此序列最小值
     
    ret = min([1,2,-5,],key=abs)  # 按照绝对值的大小,返回此序列最小值
    print(ret)
     
    ic = {'a':3,'b':2,'c':1}
    print(min(dic,key=lambda x:dic[x]))
    x为dic的key,lambda的返回值(即dic的值进行比较)返回最大的值对应的键
     
     
     
    和数据结构相关(24)
     
      列表和元祖(2)
     
        list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。
     
        tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)。
     
     
     
     
    相关内置函数
     
        ***reversed:将一个序列翻转,并返回此翻转序列的迭代器。
    ite = reversed(['a',2,3,'c',4,2]) 
    print(ite) # 直接打印出来的是一个可迭代器.
    for i in ite:
        print(i)#迭代器的取值方法next,for循环着俩种
     #内部过程是,先将列表里面的元素,进行翻转,然后再返回一个迭代器,最后用迭代器的方式去取值
     
        slice:构造一个切片对象,用于列表的切片。
     
    li = ['a','b','c','d','e','f','g']
    sli_obj = slice(3)
    print(li[sli_obj])
     
     字符串相关(9)
     
        str:将数据转化成字符串。
     
    format:与具体数据相关,用于计算各种小数,精算等。
    #字符串可以提供的参数,指定对齐方式,<是左对齐, >是右对齐,^是居中对齐
    print(format('test', '<20'))
    print(format('test', '>20'))
    print(format('test', '^20'))
     
     
    * bytes:只能编码,不能解码. 将unicode---> 非unicode
     
     
    bs = '老男孩'
    bs1 = bytes(bs,encoding='utf-8' )
    print(bs1)
     
     
     
     
     
     bytearry:返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。
     
    memoryview
     
    *ord:输入字符找该字符编码的位置,按unicode找
    print(ord('中'))  #通过字符找出ascii的位置
    *chr:输入位置数字找出其对应的字符,,按unicode找
    print(chr(20013))  #通过数字找出ascii的位置
     
     
    ascii:是ascii码中的返回该值,不是就返回u.....
    print(ascii('a'))
    print(ascii('中'))  #'u4e2d'
     
     
     
    ***repr:返回一个对象的string形式(原形毕露)。
     
    print(repr('{"name":"alex"}'))
      # 返回: '{"name":"alex"}'
     
    数据集合(3)
     
        dict:创建一个字典。
     
        set:创建一个集合。
     
        frozenset:返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
     
      相关内置函数(8)
     
        len:返回一个对象中元素的个数。
     
    ***sorted:对所有可迭代的对象进行排序操作。
    li = [1, -2, 2, -4, -5, 9, 7]
    print(sorted(li)) #从小到大排序
    print(sorted(li,reverse=True,key=abs)) #翻转排序
     
    ***enumerate:枚举,返回一个枚举对象。
    li = ['老男孩','alex','wusir','taibai']
    print(enumerate(li))
    print('__iter__'in dir (enumerate(li)))
    print('__next__'in dir (enumerate(li))) # True 说明这是一个迭代器
    for k, v in enumerate(li):
        print(k,v) #打印出序列号,加上对应的元素
     
     
    for k, v in enumerate(li,2):
        print(k, v) #可以选择从哪里开始打印
     
     
     
     
     
    *all:可迭代对象中,全都是True才是True
    print(all([1,2,True,0]))  # False
     
     
     
    *any:可迭代对象中,有一个True 就是True
    print(any([1,"",0]))   #True
     
     
    zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
    *** zip 拉链方法,形成元祖的个数与最短的课迭代对象的长度一样
    l1 = [1, 2, 3]
    l2 = ['a', 'b', 'c', 5]
    l3 = ('*', '**', (1,2,3),777)
    l4 = ('0', '99',(1,2,3),666)
    for i in zip(l1,l2,l3,l4):
        print(i)
     
    print('__iter__' in dir(zip(l1,l2,l3,l4)))
    print('__next__' in dir(zip(l1,l2,l3,l4))) # 说明他的返回值也是一个迭代器
     
    *** filter:过滤·
     
    filter 过滤 通过你的函数,过滤一个可迭代对象,返回的是True
    类似于[i for i in range(10) if i > 3]
    def func(x):
        return  x  %  2 == 0
    ret = filter(func,[1,2,3,4,5,6,7])
    print(ret)
    for i in ret:
        print(i)
     
    filter 一个函数名,你想进行说明操作就进行说明操作,
    把[1,2,3,4,5,6,7]当成一个参数,
    传递给x,传进去,x = [1,2,3,4,5,6,7]
    满足 x % 2 == 0的留下来
     
    ***map  map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
     
    def square(x):
        return x ** 2
    for i in map (square,([1,2,3,4])):
        print(i)
    print(map(square,([1,2,3,4,5])))
     
     
     
     
     
  • 相关阅读:
    python(打印九九乘法表,三角形)
    Python (内置函数)
    python (生成器,生成推导式)
    python (函数名,闭包和迭代器)
    python (函数命名空间和作用域)
    python (函数)
    python (文件)
    python (集合和深浅拷贝)
    jquery 学习(四)
    JavaScript练习
  • 原文地址:https://www.cnblogs.com/sunny7/p/9222490.html
Copyright © 2011-2022 走看看