• Python笔记 【无序】 【二】


    序列
    list() ——把一个可迭代对象【可以是字符串,元组】转化为列表,可不带参数——生成空列表,或者带一个迭代器作为参数
    tuple() ——可迭代对象转化为元组
    str(obj) ——把obj对象转换为字符串,返回一个对象的string格式

    len(x) ——返回x的长度
    max() ——返回序列或参数集合中的最大值
    min() ——最小值 【max与min中的类型必须一样
    代码:                   
    输出: sum(iterable,n)   ——返回序列iterable和可选参数n的数值总和【非数字类型不可】
    sorted()   ——排序
    reversed()   ——返回迭代器对象
    enumerate()   ——枚举 返回迭代器对象 通过list()后产生[(0,n),(1,x),(2,y)……]
    zip(a,b)   ——返回参数的序列组成的元组
    a = [1,2,3] b=[4,5,6]
    list(zip(a,b)) = [(1,4),(2,5)...]   ——zip的返回值类型是对象
     
     
     
    函数参数
    关键字参数:
    调用:
    xx(a='ccc',b='ddd') 即可以无视参数前后位置的影响
    定义:
    def xx(a,b):
      ...
     
    默认参数:定义 + 调用使用】 必须放在最后,否则会报错
    def xxx(a,b='123'):
        ……
    即如果没传入b参数,则b使用默认值123

    调用的时候可以不写参数,也可以重新定义参数
     
     
    收集参数(可变参数)
    def xxx(*y):
        ……
    可以传多个参数 xxx('...',1,2.3,5,6,7) 【这些参数被当作元组处理】

    #如果需要收集参数 + 固定参数【用关键字参数 + 默认参数处理】
     

    python 只有函数【有return 返回值就返回那个,没有就返回一个None对象】,没有过程
     
     
     
     类型属于对象,变量是没有类型的

     
     
     
     
    迭代
    是重复反馈过程的活动,接近并达到目标  每次迭代后的结果,作为下次迭代的初始
     
    定义函数:
    def xxx():
       xxx……
       xxx……
    调用函数:
    xxx() /  xxx(参数)

    含参数函数:
    def xx(a,b):
        …… 
    xx(1,2) / xx('aaaa','bbbbb')
     
    函数的返回值:
    return ……
     不带参数值的return语句返回None
     
     
    函数文档 
    函数内部的注释,可用xx._doc_ 打印
    #这里是注释
     
     
    return 默认返回一个元组【可修改】
    return 1,2,'haha' —— (1,2,'haha')
    return [1,2,'haha'] —— [1,2,'haha']
     
     
    全局变量的修改
    在函数内部修改的话,python会自动创建一个一模一样的局部变量【屏蔽方法】,从而不会修改全局变量
    若想修改---> global

    输出:10 30

     
     
    内部函数
    【作用域【即定义和调用】在外部函数之内,出了外部函数就无法调用】

    输出:

     
     
     
    闭包
    【函数式编程】
    如果在一个内部函数里对外部作用域【即外部函数】【有引用但不是对全局变量【相对于内部函数而言,外部函数定义的数也是全局变量,所以,可引用但不可修改】的引用 + 修改】,内部函数即被认为是闭包

    输出:10

     
    引用且修改:

    输出:

    如果加上nonlocal x

    输出:10

     
     

    匿名函数
    使用lambda关键字创建
    lambda x : x + 1                       #  :左面是参数,右面是返回值

    输出:5

     
     
    filter() 过滤器
    有两个参数(函数名【不需要+()】 or None,可迭代对象)
    1.第一个是函数的话,把可迭代对象中的数值当作函数的参数使用,返回结果为true的值筛选出来,返回对象,可用list()变成一个list
    2.为None时,把可迭代对象中true的值筛选出来
     
     
    map() 映射
    有两个参数(函数名【不需要+()】,可迭代对象),可迭代对象中的数值当作函数的参数使用,直到加工完毕,返回所有加工完毕的结构构成的新序列
     

    递归:
    函数调用自身的行为
    设置递归的深度:
    import sys
    sys.setrecursionlimit(100)   #设置深度100层
     
     
     
    print(' xx '.center(10,'*'))
    输出:

    输出:

    ** xxxx **

    输出变量值:

    >>> i = 256*256
    >>> print('i 的值为:', i)
    i 的值为: 65536

    end 关键字

    关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符


    # Fibonacci series: 斐波纳契数列
    # 两个元素的总和确定了下一个数
    a, b = 0, 1
    while b < 1000:
        print(b, end=',')
        a, b = b, a+b

    执行以上程序,输出结果为:

    1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

    print() sep 参数使用:

    >>> a=10;b=388;c=98
    >>> print(a,b,c,sep='@')
    10@388@98




  • 相关阅读:
    java中讲讲PrintStream的用法,举例?
    Spark Scala当中reduceByKey的用法
    springboot与ActiveMQ整合
    solr(六): 集群
    zookeeper集群
    solr(五): centos中, 整合 tomcat&solr
    springboot redis(单机/集群)
    redis 五种数据类型
    redis 集群搭建: redis-cluster
    redis 持久化
  • 原文地址:https://www.cnblogs.com/expedition/p/10686166.html
Copyright © 2020-2023  润新知