Python从入门到网络爬虫(内置函数详解)
作者:mmseoamin日期:2024-01-18

前言

Python 内置了许多的函数和类型,比如print(),input()等,我们可以直接在程序中使用它们,非常方便,并且它们是Python解释器的底层实现的,所以效率是比一般的自定义函数更有效率。目前共有71个内置函数, 接下来让我们一起来看一看吧。

Python从入门到网络爬虫(内置函数详解),第1张

Python学习-71个内置函数,我们把这71个按照功能分类一下,便于记忆。

一、输入输出

  • print():打印输出文本
  • input():获取用户输入文本
    print('hello world') 
    #控制台输出 hello world
    s = input('等待你的输入:') 
    print('你输入的内容是' + s) 
    #再与用户交互中可以使用input来获取到用户的指令。

    二、基本数据类型

    1、数字

    • int():整型
      # 直接赋值
      a = 1
      # 类型转换
      b = int('2')
      • float():浮点型
        # 直接赋值
        a = 1.0
        # 类型转换
        b = float('2.0')
        • bool():布尔型
          # 直接赋值
          a = True
          # 类型转换
          b = bool(0)
          • complex():复数类型
            # 复数类型结构为 a + bj,其中 a 为实部,b 为虚部
            data1 = 1 + 2j
            data2 = 2 + 3j
            print("data1 + data2 :", data1 + data2)
            # 运行结果
            # data1 + data2 : (3+5j)

            2、字符串

            • str():字符串类型
              # 直接赋值
              str1 = 'abcd'
              # 类型转换
              string = str(123456)

              3、列表

              • list():列表类型,将一个可迭代对象转换为列表
                # 直接赋值,用中括号包裹,用逗号分隔元素
                list1 = [1, 2, 3, 4, 5]
                # 可以利用range函数赋值
                list2 = list(range(1, 10))

                4、元组

                • tuple():元组类型,将一个可迭代对象转换为元组
                  # 直接赋值,使用小括号包裹,用逗号分隔元素(小括号其实也可以省略)
                  tuple1 = ("Python教程", "学习Python")
                  # 使用tuple函数创建
                  tuple2 = tuple("hello")

                  5、集合

                  • set():集合类型,创建一个集合
                    # set集合接受可迭代对象作为参数
                    set1 = set([1, 2, 3, 4, 5])
                    set2 = set(('python', 'xiaolong'))

                    6、字典

                    • dict():字典类型,创建一个字典
                      # 直接赋值,使用花括号包裹,key和value中间使用冒号,用逗号分隔元素
                      dict1 = {'品类': '苹果', '价格': '10'}
                      # 使用zip函数将两个列表转为字典
                      keys = ['苹果', '梨', '香蕉']
                      values = [10, 20, 30]
                      dict2 = dict(zip(keys, values))

                      三、数学运算

                      • abs():返回绝对值
                        a = abs(-11)
                        • divmod():返回商和余数
                          a = divmod(5, 3)
                          print(a) # (1, 2)
                          • round():四舍五入
                            a = round(10.2453, 2)
                            print(a) # 10.25
                            • pow(a,b):返回a的b次幂,如果有第三个参数,则求完幂次后对第三个数取余
                              a = pow(10, 2)
                              print(a)  # 100
                              • sum():求和
                                list1 = [1, 2, 3, 4, 5]
                                a = sum(list1)
                                print(a) # 15
                                • min():求最小值
                                  list1 = [1, 2, 3, 4, 5]
                                  a = min(list1)
                                  print(a) # 1
                                  • max():求最大值
                                    list1 = [1, 2, 3, 4, 5]
                                    a = max(list1)
                                    print(a) # 5

                                    四、进制转换

                                    • bin():将给定的参数转换为二进制
                                      a = bin(6)
                                      print(a) # 0b110 6的二进制是110
                                      • oct():将给定的参数转换为八进制
                                        a = oct(8)
                                        print(a) # 0o10
                                        • hex():将给定的参数转换为十六进制
                                          a = hex(8)
                                          print(a) # 0x8

                                          五、序列集合操作

                                          • reversed():将一个序列翻转,返回一个反向的迭代器
                                            # reversed接受一个序列参数,返回的是一个逆迭代对象,所以需要在使用序列再转换回去
                                            list1 = [1, 2, 3, 4, 5]
                                            print(list(reversed(list1)))
                                            # 输出[5, 4, 3, 2, 1]
                                            • slice():列表的切片
                                              # slice主要做序列切片,可以从其中切取部分重新组成新的序列
                                              list1 = [1, 2, 3, 4, 5]
                                              s = slice(1, 3)
                                              print(list1[s])
                                              # 推荐使用简写方式:lst[start:stop]
                                              list1 = [1, 2, 3, 4, 5]
                                              print(list1[1:3])
                                              • bytes():把字符串转化为bytes类型
                                                b = bytes('hello world', encoding='utf-8')
                                                print(b) # b'@\xe7\xa8\x8b\xe5\xba\x8f\xe5\x91\x98\xe5\xb0\x8f\xe9\xbe\x99'
                                                • ord():输入字符找到对应编码的位置
                                                  print(ord('a'))   # 97
                                                  print(ord('小'))  # 31243
                                                  • chr():输入位置数字找出对应的字符
                                                    # 输出33~1000数字对应的字符
                                                    for i in range(33, 1000):
                                                        print(chr(i), end=' ')
                                                    • ascii():将Unicode字符串转换为ASCII字符串
                                                      print(ascii('Hello World\n'))
                                                      #'Hello,@\u7a0b\u5e8f\u5458\u5c0f\u9f99\n'
                                                      • repr():返回一个对象的字符串形式
                                                        # repr原样输出,会过滤掉转义字符
                                                        s = 'Hello World'
                                                        print(s) 
                                                        # Hello,     
                                                        print(repr(s)) # 'Hello,World\n'
                                                        • len():返回一个对象中元素的个数
                                                          # 获取个数
                                                          list1 = [1, 2, 3, 4, 5]
                                                          print(len(list1))
                                                          • sorted():对可迭代对象进行排序操作
                                                            # 对迭代对象进行排序,可以选择正序,逆序
                                                            list1 = [1, 5, 8, 3, 4, 2]
                                                            print(sorted(list1))
                                                            print(sorted(list1, reverse=True))
                                                            # 自定义规则
                                                            list2 = ['one', 'two', 'three', 'four', 'five', 'six']
                                                            def func(s):
                                                                return len(s)
                                                            print(sorted(list2, key=func))
                                                            • enumerate():获取集合的枚举对象
                                                              score_dict = {
                                                                  '张三': 33,
                                                                  '李四': 36,
                                                                  '王五': 74,
                                                                  '赵六': 56,
                                                                  '李白': 88,
                                                                  '王维': 98,
                                                                  '杜甫': 100,
                                                                  '王昌龄': 89,
                                                                  '王之涣': 97,
                                                                  '王羲之': 93
                                                              }
                                                              score_dict_sorted = sorted(score_dict.items(), key=lambda x:x[1], reverse=True)
                                                              for index, (name, score) in enumerate(score_dict_sorted, start=1):
                                                                  print(f'第{index}名:{name}\t成绩:{score}')
                                                              # 第1名:杜甫        成绩:100
                                                              # 第2名:王维        成绩:98
                                                              # 第3名:王之涣      成绩:97
                                                              # 第4名:王羲之      成绩:93
                                                              # 第5名:王昌龄      成绩:89
                                                              # 第6名:李白        成绩:88
                                                              # 第7名:王五        成绩:74
                                                              # 第8名:赵六        成绩:56
                                                              # 第9名:李四        成绩:36
                                                              # 第10名:张三       成绩:33
                                                              • all():可迭代对象中所有元素都为True,返回结果才为True
                                                              • any():可迭代对象中只要有一个是True,返回结果就是True
                                                              • zip():在多个迭代器上并行迭代,从每个迭代器返回一个数据项组成元组,如果各个迭代器的元素个数不同,则返回列表长度与最短的对象相同
                                                                # zip可以将多个迭代器转换成元组
                                                                list1 = [1, 2, 3]
                                                                list2 = ['苹果', '香蕉', '梨']
                                                                list3 = [10, 20, 15]
                                                                for data in zip(list1, list2, list3):
                                                                    print(data)
                                                                # (1, '苹果', 10)
                                                                # (2, '香蕉', 20)
                                                                # (3, '梨', 15)
                                                                • filter():过滤器可以接收一个自定义筛选函数,将迭代器中的元素传到函数中进行判断,用来确定是否保留这个元素。
                                                                  # 过滤出数据中的偶数
                                                                  def func(i):
                                                                      return i % 2 == 0
                                                                  list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
                                                                  lst = filter(func, list1)
                                                                  print(list(lst))
                                                                  # [2, 4, 6, 8]
                                                                  • map():可以对可迭代对象中的元素进行映射,分别去执行自定义函数
                                                                    # 给数据中每个元素加1
                                                                    def func(i):
                                                                        return i + 1
                                                                    list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
                                                                    lst = map(func, list1)
                                                                    print(list(lst))
                                                                    # [2, 3, 4, 5, 6, 7, 8, 9, 10]

                                                                    六、文件操作

                                                                    • open():用于打开一个文件,创建文件句柄
                                                                      f = open("name.txt", 'r', encoding='utf-8')
                                                                      f.read()
                                                                      f.close()

                                                                      七、和迭代器相关

                                                                      • range():生成可迭代数据
                                                                      • next():迭代器向下执行一次
                                                                      • iter():获取迭代器
                                                                        # 使用range生成数据给列表
                                                                        # iter获取序列的一个迭代器,然后可以使用next进行逐个输出
                                                                        list1 = list(range(1, 6)) # [1, 2, 3, 4, 5]
                                                                        it = iter(list1)
                                                                        print(next(it)) # 1

                                                                        八、作用域相关(用于查错)

                                                                        • locals():返回当前作用域中的变量名字
                                                                        • globals():返回全局作用域中的变量名字
                                                                          # 当前作用域和全局作用域的用法
                                                                          def func():
                                                                              a = 100
                                                                              b = 'abc'
                                                                              print(locals())
                                                                              print('-------')
                                                                              print(globals())
                                                                          func()
                                                                          # {'a': 100, 'b': 'abc'}
                                                                          #-------
                                                                          # {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x10e13ef70>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': '/Users/troy/Documents/2_team-workspace/python-dev/0_utils/1.py', '__cached__': None, 'func': }

                                                                          九、其他

                                                                          • help():函数用于查看其他函数或者模块的说明
                                                                            # 获取list函数的帮助文档
                                                                            print(help(list))
                                                                            • callable():用于检查一个对象是否可以调用
                                                                              s = 'Hello World'
                                                                              print(callable(s))  # False
                                                                              def hello():
                                                                                  pass
                                                                              print(callable(hello))  # True