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


    生成器:自己用python代码写的,本质上迭代器。
    生成器函数。
    yield
    yield 与 return 区别:
    return 结束函数,返回给函数的执行者返回值。
    yield 不会结束函数,会将值返回给生成器对象。
    next 与 send 区别。
    共同点:都可以从生成器(迭代器)里取值。
    不同点:
    send给上一个yield发送一个值。
    生成器表达式。
    列表推导式。
    两种模式:
    1,循环模式。[变量(加工后的变量) for 变量 in iterable]
    2,筛选模式。[变量(加工后的变量) for 变量 in iterable if 条件]

    生成器表达式。
    列表推导式 与生成器表达式的不同。
    1,形式上不同 [] ()
    2,内存级别不同。生成器表达式非常节省内存。
    -----------------------------------------------------------------------------
    作用域相关
    globals():返回一个字典:包含全部的全局变量
    locals():返回一个字典,包含的是当前作用域 所有的变量
    # b = 2
    # def func1():
    #     a = 1
    #     print(locals())
    #     print(globals())
    # func1()
    

     eval,exec,complie----建议不使用  因为直接全部执行,发过来的数据容易被截取插入病毒,然后是直接全部执行,在数据库运维这是非常严重的点 需要注意

    s1 = '1+2+3'
    s2 = "{'name':'alex'}"
    print(eval(s1),type(eval(s1)))
    print(eval(s2),type(eval(s2)))   
    
     打印出来结果是6  把字符串去除了,把里面数据计算出来了
     打印出来{'name':'alex'}  把字符串去除了

    input(): 函数接受一个标准输入数据,返回一个string 类型   /   print  打印输出

    # def func1(*args,**kwargs):  # 函数的定义:*聚合。
        # print(*args)   # (*(1,2,3,4))函数的执行: * 打散  print(1,2,3,4)
        # print(**kwargs) # print(name='alex',age=1000)
        # print(kwargs)
    # func1(1,2,3,4,name='alex',age=1000)
    ---------
    可以print *args    因为print里有这个方法,而**kwargs 是不能打印了 需要注意
    # print(1,2,3,sep='|')  # sep 打印多个内容是分隔符默认是空格 也可以自己设置,文字 字符串都行
    print  1|2|3  
    
    # print(1,end=' ')  # end:默认换行 其实也可以自己设置 和上面的 sep 用法有相似之处
    # print(222)      
                                    print  1222 
     
    f = open('t1',encoding='utf-8',mode='w')
    print(666,'777','888',file=f)
        也可以用a模式  没有文件  创建文件也要写   print  666 777 888 

    内存相关  hash  id

                 hash :获取一个对象(可哈希对象:int   str   bool   tuple)可哈希的值  

         id  : 获取该对象的 内存地址

    open : 函数用于打开一个文件,创建 一个 file 对象  相关方法可以调用它进行读写

    help :函数用于查看函数或者模块用途的详细说明  加括号就用  没什么卵用

    callable :函数用于检查一个对象是否可调用,如果返回True,object仍然可能调用失败

         如果返回False   调用对象object 绝对不会成功,贼坑-- 

    dir:  函数不带参数时,返回当前范围内的变量,方法和定义的类型列表; 带参数时,返回参数的属性

        方法列表 ,如果该参数不包含__dir__(),该方法将最大限度的收集参数信息。

    range:函数可创建一个整数对象,一般用在 for 循环中。
    python2x: range(3) ---> [0,1,2] 列表
    xrange(3) ---> 迭代器。
    python3x: range(3) ---> range(0,3) 可迭代对象

    next:内部实际使用了__next__方法,返回迭代器的下一个项目
    iter: 函数用来生成迭代器(讲一个可迭代对象,生成迭代器)
      数据类型

        bool :用于将给定参数转换为布尔类型,如果没有参数,返回False。 ***
    print(bool(1 < 2 and 3 > 4 or 5 < 6 and 9 > 2 or 3 > 1))
    print(bool('fdsjkfl'))
      int:函数用于将一个字符串或数字转换为整型。***
    print(int('123'))
    print(int(3.74)) # 取整 不是四舍五入
    print(int('0101',base=2)) # 将2进制的 0100 转化成十进制。结果为 4
      float:函数用于将整数和字符串转换成浮点数。 ***
    print(type(3.14))
       complex:函数用于创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。
    如果第一个参数为字符串,则不需要指定第二个参数。。
    进制转换
    bin : 将十进制转换成二进制 并返回
    oct : 将十进制转换成八进制字符串并返回
    hex : 讲十进制转换成十六进制字符串并返回

    abs : 函数返回数字的绝对值

    divmod:计算除数和被除数的结果,返回一个包含商和余数的元组(a//b,a%b)
    # print(divmod(12,7))  # (1, 5) (商,余数)
    # # 分页。
    #     # 103 条数据,你每页显示12 条数据,你最终显示多少页。
     以后作业会需要
    round: 保留浮点数的小数位数,默认保留整数,四舍五入
    print(round(3.141552653,4))
      保留小数点 后面4位     默认保留整数,四舍五入      如果是说只保留1位小数点后面的话  那是五舍六入啊

    pow:求x**y次幂(当有三个参数为x**y的结果对z 取余)

    # print(pow(2,5))
    # print(pow(2,5,12))       范例~~~~~~~
    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]])) 如果有字符串 就int一下 然后相加

       min: 返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)

    print(min([1,-2,3,4,100,101]))  --------------     -2
    print(min([1,-2,3,4,100,101]))--------------           -2
    print(min([1,-2,3,4,100,101],key=abs))              1  他的绝对值最小  负2绝对值是2
                                                                                    1的绝对值还是1

    # 求出年龄最小的那个元组

    # ls = [('alex',1000),('太白',18),('wusir',500)]
    # min1 = min([i[1] for i in ls])
    # for i in ls:
    #     if i[1]==min1:           每一个列表[1] 就是第二个数字 然后min 最小  等于是min1
    # print(i) 然后for循环这个列表 列表【1】 = min1 就是那个最小的列表

    --------------------------------
    def func(x):
    return x[1] # 1000 18 500
    print(min([('alex',1000),('太白',18),('wusir',500)],key=func))
    X传进去 是一个小元组 然后x【1】 比较返回来的也是一个元组
    # # 1,他会将iterable的每一个元素当做函数的参数传进去。
    # 2,他会按照返回值去比较大小。
    # 3,返回的是 遍历的元素 x.
    dic = {'a':3,'b':2,'c':1}
    # def func2(x):
    #     return x[1]
    # print(type(min(dic.items(),key=func2)),(min(dic.items(),key=func2)))
    ---结果----------------<class 'tuple'> ('c', 1)---------------------
    
    
    
    
    
    ---------# dic = {'a':3,'b':2,'c':1}
                        # print(dic.items())
             结果是  dict_items([('a', 3), ('b', 2), ('c', 1)])

    max: 返回可迭代对象的最大值   和上面相反 

     
  • 相关阅读:
    windows phone中三种解析XML的方法
    windows phone因为墓碑化导致“正在恢复”的分析
    windows phone之获取当前连接WIFI的SSID
    在wp中,使用NavigationService.Navigate导航页面出现错误
    数据结构之单链表,c#实现
    数据结构之顺序表,c#实现
    优化C#程序的48种方法
    一次js代码修改不更新问题的解决
    Java与Unicode
    JAVA中线程同步的方法
  • 原文地址:https://www.cnblogs.com/single82/p/9514781.html
Copyright © 2011-2022 走看看