zoukankan      html  css  js  c++  java
  • 函数

    一、基础知识

    • 函数

    1. 返回值

      1. return xx,是将xx赋值给定义的这个函数。
      2. 一旦遇到return,return以下的代码不再执行
    2. 参数

      1. 位置参数
      2. 默认参数
      3. 动态参数
        1. *args
        2. **kwargs
    3. 局部变量和全局变量

      1. 全局
        1. 大写
        2. 修改,global
      2. 局部
        1. 小写,仅仅在代码块中能用
    4. lambda表达式。my_lambda = lambda arg : arg + 1

    • 内置函数

    1. all()参数为列表或元祖。所有值都为真,输出真。只要有假,就输出false。什么为假?
      1. 首先要注意:如果输入的列表或元祖。只有一个参数,参数为假,那么最终也是输出真。即all(()),all(({})),all((0)).等输出的都为真
      2. False
      3. “ ”空,注意一个空格才是空,两个空格为真。
      4. []
      5. ()
      6. {}
      7. None
      8. 0.
      9. 检验什么为假,bool()一下即可
    2. any 只要有一个为真,即输出真。
    3. ascii(对象) 迷之不懂
    4. 进制
      1. bin() 二进制0b
      2. oct() 八进制0o
      3. int() 十进制
      4. hex() 十六进制0x
      5. 进制转换
        1. a=int("0b11",base=2) a=int(“要转换的进制(0b不加也可以)",base=要转换的进制的数字)print(a)
        2. 通过上面的方法,可以将任何一种进制转换成10进制。而再上面的所有函数都是将10进制的数转换成别的进制。
    5. bool(),判断真假,布尔值。假为0,空,[],{},False, None
    6. bytearray() 字节列表
      1. bytes("字符串",encoding="utf-8")或者bytes(数字)
      2. 字节列表就是可以输入一个列表,输出一个列表的字节
      3. 注意,输入的数字应该在[0:255]之间
    7. ascii码中的转换
      1. chr() 参数为10进制或者16进制的数字。输出在ascii码中这个数字位置对应的字符
      2. ard() 参数为字符。输出这个字符对应的十进制的数字。
    8. attr
      1. delattr
      2. getattr
      3. hasattr
      4. setattr
    9. dir() 查看类都有什么功能
    10. help() 同上
    11. divmod 商,余
    12. eval() 可以执行字符串形式的表达式
    13. exec() 可以处理字符串形式的函数,代码。 没有返回值,输入即执行,不用赋值给变量。
    14. filter(函数,可迭代的对象) 函数的结果为True 或False
      1. 后面再加一个for i in filter制定的变量,print(i)
      2. 上面讲的这件事的本质与range一样,只有迭代的时候才输出值。
    15. map(函数,可迭代对象) 结果作为列表返回,同样需要迭代才输出值
    16. globals() 获取当前所有的全局变量
    17. locals() 获取当前的多有局部变量
    18. hash(key) 对key做优化,变成哈希值
    19. iter() 创建一个可以被迭代的东西,只有在迭代的时候才输出值。
      1. li=iter([1,2,3,4]) print(li) 结果:<list_iterator object at 0x0000025709B4EDD8>
      2. for i in li: print(i) 结果:1,2,3,4
    20. next() 迭代器 返回一个可迭代数据结构(如列表)中的下一项
      1. li=iter([1,2,3,4]) i1=next(li) print(i1)-结果为1;i2=next(li) print(i2)结果为2
    21. yield() 生成器,与20迭代器关系密切
    22. open() 打开文件,做文件操作的。
      1. open(文件名,模式,编码)
      2. 模式有:r代表读文本,
      3. w代表写。不可读;不存在则创建;存在则清空内容;
      4. x只写。不可读;不存在则创建,存在则报错
      5. a表示在文件中追加。不可读;   不存在则创建;存在则只追加内容;
      6. 默认r
      7. 文件.close() 关闭文件
      8. 加b表示用字节的方式操作。rb,xb,ab,wb
      9. r+, 读写【可读,可写】 w+,写读【可读,可写】x+ ,写读【可读,可写】a+, 写读【可读,可写】
    23. pow(2,3) 指数。2的3次方
    24. round() 四舍五入
    25. super() 查看父类
    26. zip() 将对象逐一配对。同样需要迭代才能获取。
    27. import
      1. import random。 调用功能需要:random.randrange()
      2. r=_import_(random)。 调用功能需要:r.randrange()
    28. sorted() 排序.

    二、有关函数琐碎知识

    • import 导入文件:import 文件.py
    • 一个=是赋值,两个==是比较
    • !=表示不等于
    • bin() 将一个整数转换为二进制字串。八进制必须写成0o777,二进制必须写成0b111
    • i+=1 相当于i=i+1
    • 1%2除余
    • m=bytes() 转换成字节
    • 数据类型检查 类型检查可以用内置函数isinstance() if not isinstance(x, (int, float)): raise TypeError('bad operand type')
    • 拷贝
    1. 数字和字符串不管怎么拷贝都是同一份。浅拷贝只拷贝第一层,深拷贝全部都拷贝,除了最后一层只有数字和字符串的一层。
    • 全局变量,局部变量。
    1. 如果要在局部变量里修改全局变量,那么要在局部变量前加上 globb。再进行修改。
    2. 为了便于区分。以后写代码,全部变量都用大写。局部变量用小写。
    • isinstance(args,str/int/tuple/list)
      • a="dfsaf "
    r=isinstance(a,str)
    print(r)
    #结果 True
    • 函数名可以当做参数来传递,函数名加了括号代表执行函数

  • 相关阅读:
    SQL SERVER2005 的三种复制类型概述
    Autofac IoC容器基本实战【2】
    Autofac IoC容器基本使用步骤【1】
    在执行一行代码之前CLR做的68件事[The 68 things the CLR does before executing a single line of your code]
    .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
    使用 Entity Framework 7 进行 SQLite 的 CURD 操作
    NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
    Your Progress As A Programmer Is All Up To You
    为了效率而外包,不要因为懒惰外包
    10分钟看懂社群营销(上集)[转]
  • 原文地址:https://www.cnblogs.com/wangduoqiuyu/p/8548179.html
Copyright © 2011-2022 走看看