美文网首页Python
从这个 builtins.py(model)中我们能学到什么

从这个 builtins.py(model)中我们能学到什么

作者: 月蚀様 | 来源:发表于2018-06-06 15:26 被阅读193次

    模块、包、库、框架的区别

    • 模块(module)
      • 一个 .py 文件就是个module
      • 写的代码保存为文件,这个文件就是一个模块。比如 practice.py 其中的文件名practice为模块的名字
    • 包(package)
      • 包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境
      • 包是一个一定含有 init.py 文件和其他模块或子包的目录
    • 库(lib)
      • 指python中能完成一定功能的代码集合(参考其他编程语言的说法)
    • 框架(framework)
      • 框架是一个基本概念的结构,用于去解决或处理复杂的问题
      • 比如:Django,flask等

    Python中 *args 和 **kwargs 的区别

    在浏览这个模块的时候,经常可以看见函数的形参为 args 或*kwargs,那么这一小节我们来总结一下这两者之前的区别

    可变长度参数:*args 和 **kwargs

    • *args
      1. *args 用来将参数打包成tuple(元祖)给函数体调用
      2. 使用时让可变参数放在顺序参数的后面(详情查看Python参数的顺序)
    • **kwargs
      • **kwargs 打包关键字参数成dic(字典)给函数体调用
    • 调用arg,args,*kwargs参数的顺序
    def func(arg, *args, **kwargs):
          print(arg, *args, **kwargs)
    func(6, 7, 8, 9, 10, a=2, b=8, c=10)
    

    输出结果:
    6 (7, 8, 9, 10) {'a':2, 'b':8, 'c':10}

    Functions 函数

    1. abs()
    Return the absolute value of the argument

    2. all()
    Return True if bool(x) is True for all values x in the iterable(可迭代对象). If the iterable is empty, return True

    • 什么是迭代(iteration)
      • 给定一个list(tuple/dict),通过for循环来遍历这个list(tuple/dict),这种遍历就是迭代
      • 可以用 collections模块 里面的 iterable包 的 isinstance 函数进行判断:
    >>> from collections import Iterbale
    >>> isinstance('abcde', Iterable)
    True
    >>> isinstance([1,2,3], Iterable)
    True
    >>> isinstance((1,2,3), Iterable)
    True
    >>> isinstance({'abcde':2}, Iterable)
    True
    

    3. any()
    Return True if bool(x) is True for any x in the iterable. If the iterable is empty, return False

    4. ascii(object)
    Return an ASCII-only representation of an object.
    As repr(), return a string containing a printable representation of an object, but escape the non-ASCII characters in the string returned by repr() using \x, \u or \U escapes. This generates a string similarto that returned by repr() in Python 2.

    • 返回一个(仅ASCII码)对象的表示
    • 在python2中和repr()函数相同,如果有非ASCII字符就会输出\x, \u或\U等字符来表示

    5. bin(), oct(), hex()

    • bin() 返回一个二进制数:'0b...'
    • oct() 返回一个八进制数:'0o...'
    • hex() 返回一个十六进制数:'0x...'
    • 注意点:
      • 参数不仅仅可以是十进制数,还可以是二,八,十六进制,但注意一定要表示清楚 i.e. 'bin(0xd)'

    相关文章

      网友评论

        本文标题:从这个 builtins.py(model)中我们能学到什么

        本文链接:https://www.haomeiwen.com/subject/cuqysftx.html