• 内置函数


    前言

    为何我们能直接调用dir()、id()这些方法?因为pyhton在启动时候就已经调用了内置方法,所以我们能直接使用

    内置参数详情:https://docs.python.org/3/library/functions.html?highlight=built#asci

    内置参数

    1)all(iterable) , 若可迭代对象全为真,则返回真,负数也为真,否则返回假

    1  >>> all([1,2,0])
    2  False
    3  >>> all((1,2,3))
    4  True
    5 >>> all([])
    6 True

    2)any(iterable),可迭代对象只要有1个为真,则返回真,负数也为真,空时返回假

    1 True
    2 >>> any([])
    3 False
    4 >>> any([1,0,3])
    5 True
    6 >>> any([-3])
    7 True

     3)ascii(object)??

    4)bin(x)  将十进制转换成二进制

    >>> bin(1)
    '0b1'
    >>> bin(255)
    '0b11111111'

    5)bool([x])  判断真假

    >>> bool(1)
    True
    >>> bool(0)
    False
    >>> bool([])
    False
    >>> bool([0,1])
    True

    6)bytearray([source[, encoding[, errors]]] 字节数组,可修改二进制的字节

    bytes() 不能修改二进制字符串

     1 >>> a = bytes("abc",encoding= "utf-8")
     2 >>> a
     3 b'abc'
     4 >>> a[0]="99"
     5 Traceback (most recent call last):
     6   File "<stdin>", line 1, in <module>
     7 TypeError: 'bytes' object does not support it
     8 >>> b = bytearray("abc",encoding="utf-8")
     9 >>> b[0]="98"  #integer 类型
    10 Traceback (most recent call last):
    11   File "<stdin>", line 1, in <module>
    12 TypeError: an integer is required
    13 >>> b[0]=98
    14 >>> b
    15 bytearray(b'bbc')

     7)callable(object)  判断是否可调用

    1 def sayhi():
    2     pass
    3 print(callable(sayhi))
    4 
    5 返回:True

    8)chr(i)  输出数字输出对应的ascii码,输入的是数字  输出对应ascii里的字符

    ord(c)  输入ascii字符输出对应数字 

    1 >>> chr(98)
    2 'b'
    3 >>> ord("b")
    4 98

    9)classmethod(function) 类方法  后面补充

    10)compile(sourcefilenamemodeflags=0dont_inherit=Falseoptimize=-1)  用于底层,将代码进行编译  基本用不到

    11)delattr(objectname)  面向对象再讲解

    12)dir([object])  查看方法

    1 >>> a = []
    2 >>> dir(a)
    3 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    View Code

    13)divmod(ab)  

    1 >>> divmod(5,2)
    2 (2, 1)

    14)enumerate(iterablestart=0)

    15)eval(expressionglobals=Nonelocals=None)  把字符串转字典 只能把简单的字符串转成字典  稍微复杂语句 比如if 的条件语句用exec

    16)exec(object[, globals[, locals]])  把字符串转字典  可以复杂语句 比如if 的条件语句 等

    17)filter(functioniterable)  过滤出一组数据

    插曲:内置函数  只处理简单运算,复杂的处理不了,这种内置函数单独使用的情况比较少 一般是结合使用的

    1 def sayhi(name):
    2     print(name)
    3 calc = lambda name:print(name)#等同于上面
    4 calc("alex")
    5 结果:alex

    内置函数结合filter()使用

     1 ret = filter(lambda n:n>5,range(10))
     2 print(ret)
     3 for line in ret:
     4     print(line)
     5 结果为:
     6 <filter object at 0x00285BD0>
     7 6
     8 7
     9 8
    10 9

    map() 处理整组数据

    1 calc2 = map(lambda n:n**n,range(3))# [n*n for i in rang(3)]  相当于这个列表生成式
    2 for i in calc2:
    3     print(i)
    4 结果:
    5 1
    6 1
    7 4

    reduce(function,iterable) 把一组可迭代序列通过function函数操作,元素之间相加或者相乘操

    1 import functools
    2 res = functools.reduce(lambda x,y:x+y,range(10))
    3 #x,y 初始值为0,1 然后x+y=1 赋给x ,则y值为range的值 变为2,再x+y  以此类推
    4 print(res)
    5 结果:45

    float([x]) 把一个浮点类型的字符串转换为浮点类型的数据。

    1 >>> float(1)
    2 1.0
    3 >>> float(-6)
    4 -6.0

    frozenset([iterable]) 把集合变成一个不可变的集合  冻结方法

    1 >>> res =frozenset([1,2,3,3])
    2 >>> dir(res) #没有看到可变的方法
    3 ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'copy', 'difference', 'intersection', 'isdisjoint', 'issubset', 'issuperset', 'symmetric_difference', 'union']
    4 >>> res
    5 frozenset({1, 2, 3})

    getattr(objectname[, default]) 后续面向对象讲解

    globals()  返回当前文件所有变量的key—value  是字典格式

    1 print(globals()) #返回字典格式
    2 
    3 {'__name__': '__main__', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x001F5B30>, '__file__': 'E:/python_3.5/python_homework/day5作业/内置函数模块.py', '__spec__': None, '__builtins__': <module 'builtins' (built-in)>, '__doc__': None, '__cached__': None, '__package__': None}

     hash(object)  未写好

    help([object])  显示对象帮助信息

     1 >>> help(ret)
     2 Help on list object:
     3 
     4 class list(object)
     5  |  list() -> new empty list
     6  |  list(iterable) -> new list initialized from iterable's items
     7  |
     8  |  Methods defined here:
     9  |
    10  |  __add__(self, value, /)
    11  |      Return self+value.
    12  |
    13  |  __contains__(self, key, /)
    14  |      Return key in self.
    15  |
    16  |  __delitem__(self, key, /)
    17  |      Delete self[key].
    18  |
    19  |  __eq__(self, value, /)
    20  |      Return self==value.
    21 等等

    hex(x)  将十进制转换十六进制

    1 >>> hex(123)
    2 '0x7b'

    id(object) 查看变量的内存地址

    1 >>> a = 12
    2 >>> id(a)
    3 1587841664

    input([prompt]) 让用户输入,都是字符串格式

    int(x=0)  整数的数据类型

    int(xbase=10)

    isinstance(objectclassinfo)  判断对象是不是可迭代对象

     1 >>> from  collections import  Iterable
     2 >>> isinstance([],Iterable)  #列表
     3 True
     4 >>> isinstance((),Iterable)  #元组
     5 True
     6 >>> isinstance({},Iterable)  #字典
     7 True
     8 >>> isinstance('abc',Iterable)  #字符串
     9 True
    10 >>> isinstance(100,Iterable)   #整型
    11 False

    issubclass(classclassinfo)  后面说到类的时候再使用

    iter(object[, sentinel]) ??

    len(s

    locals()

    def fun():
        locals_var = 333
        print(locals())
    
    print(globals())
    fun()
    
    结果:
    {'__spec__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00265B30>, '__doc__': None, '__cached__': None, '__name__': '__main__', '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/python_3.5/python_homework/day5作业/内置函数模块.py', '__package__': None, 'fun': <function fun at 0x00303FA8>}
    {'locals_var': 333}

    max(iterable*[, keydefault])  求出列表的最大值

    min(iterable*[, keydefault])  求出列表的最小值

    oct(x)  十进制转八进制

    >>> oct(8)
    '0o10'

    class slice(stop)  切片   功能同range一样  这个没什么用

    1 >>> d = range(20,30)
    2 >>> d[slice(11,35)]
    3 range(30, 30)

    sorted(iterable[, key][, reverse])  排序 把字典进行排序

    dict = {-1:1,2:3,3:9,4:0}
    print(sorted(dict)) #只排了key值 输出key的值
    print(sorted(dict.items()))  #按key值排序,输出整个字典
    print(sorted(dict.items(),key = lambda x:x[1]))
    结果:
    [-1, 2, 3, 4]
    [(-1, 1), (2, 3), (3, 9), (4, 0)]
    [(4, 0), (-1, 1), (2, 3), (3, 9)]

    sum(iterable[, start])  求和

    1 >>> a =[1,2,3]
    2 >>> sum(a)
    3 6

    super([type[, object-or-type]]) 是面向对象里很重要的继承方法 后续会讲解

     type(object)  查看数据类型

    vars([object])

    zip(*iterables)  拉链的意思,把两个序列一一对应起来

     1 a = [1,2,3,4,5]
     2 b = ['a','b','c','d','e']
     3 print(zip(a,b))
     4 for i in zip(a,b):
     5     print(i)
     6 结果:
     7 <zip object at 0x00544580>
     8 (1, 'a')
     9 (2, 'b')
    10 (3, 'c')
    11 (4, 'd')
    12 (5, 'e')

     __import__(nameglobals=Nonelocals=Nonefromlist=()level=0)  用处大,忘记导入模块名 但只记得 模块的字符串,可以用这个

  • 相关阅读:
    cmd 新建安卓工程
    新创建的android工程里面没有activity问题解决
    背景色横向渐变css5
    Serialable与Parcelable
    Observer观察者模式
    Linux基础(1)
    android 出现Make sure the Cursor is initialized correctly before accessing data from it
    android项目中导入actionbarsherlock 需要注意的地方
    android BadgeView的使用(图片上的文字提醒)
    android仿系统Launcher界面,实现分屏,左右滑动效果(ViewSwitcher)
  • 原文地址:https://www.cnblogs.com/wengxq/p/6979168.html
Copyright © 2020-2023  润新知