Python | 内置函数(BIF)

Python内置函数 | V3.9.1 | 共计155个

还没学完, 还没记录完, 不知道自己能不能坚持记录下去


1.ArithmeticError 2.AssertionError 3.AttributeError 4.BaseException 5.BlockingIOError
6.BrokenPipeError 7.BufferError 8.BytesWarning 9.ChildProcessError 10.ConnectionAbortedError
11.ConnectionError 12.ConnectionRefusedError 13.ConnectionResetError 14.DeprecationWarning 15.EOFError
16.Ellipsis 17.EnvironmentError 18.Exception 19.False 20.FileExistsError
21.FileNotFoundError 22.FloatingPointError 23.FutureWarning 24.GeneratorExit 25.IOError
26.ImportError 27.ImportWarning 28.IndentationError 29.IndexError 30.InterruptedError
31.IsADirectoryError 32.KeyError 33.KeyboardInterrupt 34.LookupError 35.MemoryError
36.ModuleNotFoundError 37.NameError 38.None 39.NotADirectoryError 40.NotImplemented
41.NotImplementedError 42.OSError 43.OverflowError 44.PendingDeprecationWarning 45.PermissionError
46.ProcessLookupError 47.RecursionError 48.ReferenceError 49.ResourceWarning 50.RuntimeError
51.RuntimeWarning 52.StopAsyncIteration 53.StopIteration 54.SyntaxError 55.SyntaxWarning
56.SystemError 57.SystemExit 58.TabError 59.TimeoutError 60.True
61.TypeError 62.UnboundLocalError 63.UnicodeDecodeError 64.UnicodeEncodeError 65.UnicodeError
66.UnicodeTranslateError 67.UnicodeWarning 68.UserWarning 69.ValueError 70.Warning
71.WindowsError 72.ZeroDivisionError 73.__build_class__ 74.__debug__ 75.__doc__
76.__import__ 77.__loader__ 78.__name__ 79.__package__ 80.__spec__
81.abs 82.all 83.any 84.ascii 85.bin
86.bool 87.breakpoint 88.bytearray 89.bytes 90.callable
91.chr 92.classmethod 93.compile 94.complex 95.copyright
96.credits 97.delattr 98.dict 99.dir 100.divmod
101.enumerate 102.eval 103.exec 104.execfile 105.exit
106.filter 107.float 108.format 109.frozenset 110.getattr
111.globals 112.hasattr 113.hash 114help 115.hex
116.id 117.input 118.int 119.isinstance 120.issubclass
121.iter 122.len 123.license 124.list 125.locals
126.map 127.max 128.memoryview 129.min 130.next
131.object 132.oct 133.open 134.ord 135.pow
136.print 137.property 138.quit 139.range 140.repr
141.reversed 142.round 143.runfile 144.set 145.setattr
146.slice 147.sorted 148.staticmethod 149.str 150.sum
151.super 152.tuple 153.type 154.vars 155.zip

1.ArithmeticError

2.AssertionError

3.AttributeError

4.BaseException

5.BlockingIOError

6.BrokenPipeError

7.BufferError

8.BytesWarning

9.ChildProcessError

10.ConnectionAbortedError

11.ConnectionError

12.ConnectionRefusedError

13.ConnectionResetError

14.DeprecationWarning

15.EOFError

16.Ellipsis

17.EnvironmentError

18.Exception

19.False

20.FileExistsError

21.FileNotFoundError

22.FloatingPointError

23.FutureWarning

24.GeneratorExit

25.IOError

26.ImportError

27.ImportWarning

28.IndentationError

29.IndexError

30.InterruptedError

31.IsADirectoryError

32.KeyError

33.KeyboardInterrupt

34.LookupError

35.MemoryError

36.ModuleNotFoundError

37.NameError

38.None

39.NotADirectoryError

40.NotImplemented

41.NotImplementedError

42.OSError

43.OverflowError

44.PendingDeprecationWarning

45.PermissionError

46.ProcessLookupError

47.RecursionError

48.ReferenceError

49.ResourceWarning

50.RuntimeError

51.RuntimeWarning

52.StopAsyncIteration

53.StopIteration

54.SyntaxError

55.SyntaxWarning

56.SystemError

57.SystemExit

58.TabError

59.TimeoutError

60.True

61.TypeError

62.UnboundLocalError

63.UnicodeDecodeError

64.UnicodeEncodeError

65.UnicodeError

66.UnicodeTranslateError

67.UnicodeWarning

68.UserWarning

69.ValueError

70.Warning

71.WindowsError

72.ZeroDivisionError

73.__build_class__

74.__debug__

75.__doc__

76.__import__

77.__loader__

78.__name__

79.__package__

80.__spec__

81.abs

82.all

83.any

84.ascii

85.bin

86.bool

87.breakpoint

88.bytearray

89.bytes

90.callable

91.chr

92.classmethod

修饰符:类方法 @classmethod | 无需显式地传递类名做实参

作为一家“创意+整合+营销”的成都网站建设机构,我们在业内良好的客户口碑。创新互联提供从前期的网站品牌分析策划、网站设计、网站设计、成都网站制作、创意表现、网页制作、系统开发以及后续网站营销运营等一系列服务,帮助企业打造创新的互联网品牌经营模式与有效的网络营销方法,创造更大的价值。

class Computer:
    # 类属性modules
    __modules = {"cpu":"Intel", "内存":"镁光", "硬盘":"970-Pro"}

    # 设定修饰符@类方法 | 类的函数或者叫类的方法output_modules
    @classmethod
    def output_modules(cls):
        for (i,s) in cls.__modules.items():
            print(i, ':', s)

# 调用类的方法output_modules,无需显式地传递类名做实参
Computer.output_modules()

#-------------------------------------------------------------
# 输出结果:
# cpu : Intel
# 内存 : 镁光
# 硬盘 : 970-Pro

也可被其他类直接进行调用(感觉有点全局的意思), 看例子代码如下:

class Computer:
    # 类属性modules
    __modules = {"cpu":"Intel", "内存":"镁光", "硬盘":"970-Pro"}

    # 设定修饰符@类方法 | 类的函数或者叫类的方法output_modules
    @classmethod
    def output_modules(cls):
        for (i,s) in cls.__modules.items():
            print(i, ':', s)


class OtherClass:
    def __init__(self):
        pass
    def _test_OtherClass(self):
        # 调用类的方法output_modules,无需显式地传递类名做实参
        Computer.output_modules()

aaaa = OtherClass()
aaaa._test_OtherClass()

#-------------------------------------------------------------
# 输出结果:
# cpu : Intel
# 内存 : 镁光
# 硬盘 : 970-Pro

93.compile

94.complex

95.copyright

96.credits

97.delattr

98.dict

99.dir

100.divmod

101.enumerate

102.eval

103.exec

104.execfile

105.exit

106.filter

107.float

108.format

109.frozenset

110.getattr

111.globals

112.hasattr

113.hash

114help

115.hex

116.id

117.input

118.int

119.isinstance

120.issubclass

121.iter

122.len

123.license

124.list

125.locals

126.map

127.max

128.memoryview

129.min

130.next

131.object

132.oct

133.open

134.ord

135.pow

136.print

137.property

此修饰符可赋值给变量, 语法为:x = property(getx, setx, delx)

  • 如果是以此种方法的话, 函数名或者说是方法名可以不相同

如果是以装饰器形式使用的话, 函数名或者说是方法名必须相同, 例子代码如下:

class Computer:
    # 类属性 __modules
    __modules = {"cpu":"Intel", "内存":"镁光", "硬盘":"970-Pro"}
    
    def __init__(self):
        pass

    # 获取字典的key
    @property
    def modules_property(self):
        # 字典 __modules的key 取出来变成列表
        __loops = [i for i in self.__modules]

        for ii in range(len(self.__modules)):
            print(__loops[ii], ':', self.__modules[__loops[ii]])

    # 给字典新增数据
    @modules_property.setter
    def modules_property(self, key_value):
        self.__modules[key_value[0]] = key_value[1]

    # 删除字典中内容, 这里没办法通过@modules_property.deleter以达到删除字典中某个键值
    # 所以换成了 静态方法 来删除键值
    @staticmethod
    def del_modules_property(__del, key):
        try:
            # dels.__modules.pop(key, 'Error, 删除的内容不存在!')
            __del.__modules.pop(key)
        except KeyError:
            print(f'Error, 删除的键: {key} 不存在!')# 这个引用变量 应该在v3.6版本以下不兼容...
            # print('Error, 删除的键: {keys} 不存在!'.format(keys=key))

# 实例化类
aaaa = Computer()

print('打印原有字典内容')
aaaa.modules_property
print('----------分隔符-----------')

print('打印新增后字典内容')
# 通过@modules_property.setter, 给字典新增数据
aaaa.modules_property = ('机箱', '海盗船')
# 通过@property,其实也是@getattr, 取出字典中的键值内容
aaaa.modules_property
print('----------分隔符-----------')

print('打印删除后字典内容')
# 通过静态方法@staticmethod, 删除字典中某个元素,或者说成删除字典中某个键值内容
Computer.del_modules_property(Computer, 'cpu')
# 通过@property, 再次打印字典内容,看下是否正常删除了
aaaa.modules_property

# -------------------------------------------------------------
# 打印原有字典内容
# cpu : Intel
# 内存 : 镁光
# 硬盘 : 970-Pro
# ----------分隔符-----------
# 打印新增后字典内容
# cpu : Intel
# 内存 : 镁光
# 硬盘 : 970-Pro
# 机箱 : 海盗船
# ----------分隔符-----------
# 打印删除后字典内容
# 内存 : 镁光
# 硬盘 : 970-Pro
# 机箱 : 海盗船

2022-06-01 推翻例子中"删除字典中内容, 这里没办法通过@modules_property.deleter以达到删除字典中某个键值"这句话:

class Computer:
    def __init__(self) -> None:

        self.modules = {"cpu":"intel", "内存":"镁光", "硬盘":"970-pro"}

        self.moduleslist = []


    @property
    def modulesGetSetDel(self):
        self.moduleslist.clear()
        get_loops = [i for i in self.modules]

        for ii in range(len(self.modules)):

            self.moduleslist.append(get_loops[ii] + ": " + self.modules[get_loops[ii]])
        return self.moduleslist


    @modulesGetSetDel.setter
    def modulesGetSetDel(self, key_value):

        self.get_key_value_loops = [i for i in key_value]
        for i in range(len(self.get_key_value_loops)):
            self.modules[self.get_key_value_loops[i]] =  key_value[self.get_key_value_loops[i]]


    @modulesGetSetDel.deleter
    def modulesGetSetDel(self):
        for i in range(len(self.get_key_value_loops)):
            del self.modules[self.get_key_value_loops[i]]


aa = Computer()

# #打印原始字典
print("原始字典数据: ", aa.modulesGetSetDel)

# #打印新增的字典
aa.modulesGetSetDel = {"机箱":"海盗船", "测试1":"测试11"}
print("新增字典数据: ", aa.modulesGetSetDel)

# 打印删除后的字典数据
del aa.modulesGetSetDel
print("删后字典数据: ", aa.modulesGetSetDel)

# -------------------------------------------------------------
# 原始字典数据:  ['cpu: intel', '内存: 镁光', '硬盘: 970-pro']
# 新增字典数据:  ['cpu: intel', '内存: 镁光', '硬盘: 970-pro', '机箱: 海盗船', '测试1: 测试11']
# 删后字典数据:  ['cpu: intel', '内存: 镁光', '硬盘: 970-pro']

138.quit

139.range

140.repr

141.reversed

142.round

143.runfile

144.set

145.setattr

146.slice

147.sorted

148.staticmethod

# 修饰符:静态方法 @staticmethod | 必须显式地传递类名做实参

class Computer:
    # 类属性modules
    __modules = {"cpu":"Intel", "内存":"镁光", "硬盘":"970-Pro"}

    # 在静态方法search_module中定义形参var,准备传递类:Computer
    # 调用时必须显性地传递类名,才能实现类方法一样的效果
    # 设定修饰符@静态方法 | 类的函数或者叫类的方法search_module
    @staticmethod
    def search_module(var, module_value):
        print(var.__modules[module_value])

Computer.search_module(Computer, "cpu")
Computer.search_module(Computer, "内存")
Computer.search_module(Computer, "硬盘")

#-------------------------------------------------------------
# 输出结果:
# Intel
# 镁光
# 970-Pro

也可被其他类直接进行调用(有点全局的意思.....), 看例子代码如下:

class Computer:
    # 类属性modules
    __modules = {"cpu":"Intel", "内存":"镁光", "硬盘":"970-Pro"}

    # 在静态方法search_module中定义形参var,准备传递类:Computer
    # 调用时必须显性地传递类名,才能实现类方法一样的效果
    # 设定修饰符@静态方法 | 类的函数或者叫类的方法search_module
    @staticmethod
    def search_module(var, module_value):
        print(var.__modules[module_value])


class OtherClass:
    def __init__(self):
        pass

    def _test_OtherClass(self):
        # 调用类的静态方法search_module,必须显式地传递类名做实参
        Computer.search_module(Computer, "cpu")
        Computer.search_module(Computer, "内存")
        Computer.search_module(Computer, "硬盘")

aaaa = OtherClass()
aaaa._test_OtherClass()

#-------------------------------------------------------------
# 输出结果:
# Intel
# 镁光
# 970-Pro

149.str

150.sum

151.super

super函数不需要明确的给出任何 "被调用类" 的名称, 学习中觉得 子类-父类-超类 叫起来很绕, 就自认为叫成 "被调用类" 方便自己理解

  • 假设定义了三个类: A B C
  • 类A 继承 类B, 类A 是 类B 的子类 | 类B 是 类A 的父类(被调用类)
  • 类B 继承 类C, 类B 是 类C 的子类 | 类C 是 类B 的父类(被调用类)
  • 类A 间接继承 类C , 类C 是 类A 的超类(被调用类)
  • 例子待定

152.tuple

153.type

154.vars

155.zip


本文标题:Python | 内置函数(BIF)
文章出自:http://myzitong.com/article/dsogpdo.html