初识python - 函数(三)

5.3.4内置函数

  • 自定义函数

  • 内置函数

    • 其他

      • len

      • open

      • range

      • id

      • type

    • 输入输出

      • 输入输出

      • print

      • input

    • 强制转换

      • dict()

      • list()

      • tuple()

      • int()

      • str()

      • bool()

      • set()

    • 数学相关

      • abs,绝对值

      v = abs(-1)
      print(v)
      • float() 转换成浮点型(小数,

      • v = [1,2,311,21,3,]
        result = max(v)
          print(result)
      • 找最大的值 max

        v = [1,2,311,21,3,]
        result = max(v)
        print(result)
        • min 找最小

        • sum 求和

    • divmode两者相除的商和余数

    • a,b = divmod(1001,5)
      print(a,b)
    • pow 幂(次方)

      v = pow(2,4)
      print(v)
    • round 返回浮点数x的四舍五入值。

      v = round(1.22,7)
      print(v)
    • map 循环每个元素(参数二),然后让每个元素执行函数(参数一,)将结果执行保存到新的列表中,并返回

    • filter 用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

      该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

    • reduce 累计

       

      result = filter(lambda x:True if type(x) ==int else False,v1)
      print(list(result))
    • 内置函数——分页

      # 练习题  请通过分页对数据进行展示
      """
      要求:
        每页显示10条数据
        让用户输入要查看的页面:页码
      """

      USER_LIST = []
      for i in range(1,836):
         temp = {'name':'你少妻-%s' %i,'email':'123%[email protected]' %i }
         USER_LIST.append(temp)

      # 数据总条数
      total_count = len(USER_LIST)

      # 每页显示10条
      per_page_count= 10

      # 总页码数
      max_page_num,a = divmod(total_count,per_page_count)
      if a>0:
         max_page_num += 1

      while True:
         pager = int(input('要查看第几页:'))
         if pager < 1 or pager > max_page_num:
             print('页码不合法,必须是 1 ~ %s' %max_page_num )
         else:
             """
            # 第1页:USER_LIST[0:10] -> 0123456789
            # 第2页:USER_LIST[10:20]
            # 第3页:USER_LIST[20:30]
            ...
            """
             start = (pager-1) * per_page_count
             end = pager * per_page_count
             data = USER_LIST[start:end]
             for item in data:
                 print(item)

       

  • 进制转化

    • 将十进制转换成二进制

    • num = 13
      v1 = bin(num)
      print(v1)
    • oct,将十进制转换成八进制

      num = 8
      v1 = oct(num)
      print(v1)
    • int将其他进制转换成十进制

      # 二进制转化成十进制
      v1 = '0b1101'
      result = int(v1,base=2)
      print(result)

      # 八进制转化成十进制
      v1 = '0o1101'
      result = int(v1,base=8)
      print(result)

      # 十六进制转化成十进制
      v1 = '0x1101'
      result = int(v1,base=16)
      print(result)
    • hex,将十进制转换成十六进制

      num = 16
      v1 = hex(num)
      print(v1)
    • chr 将十进制转数字转换成unicode所对应的字符

      v = 90
      r = chr(v)
      print(r)
    • ord 根据字符找到unicode中找到与其对应的十进制

      v = ord('人')
      print(v)
  • 面向对象追加

    • issubclass(class, classinfo) 用于判断参数 class 是否是类型参数 classinfo 的子类。

      class Base:
         pass

      class Base1(Base):
         pass

      class Foo(Base1):
         pass

      class Bar:
         pass

      print(issubclass(Bar,Base))
      print(issubclass(Foo,Base))
    • isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

      class Base(object):
         pass

      class Foo(Base):
         pass

      obj = Foo()

      print(isinstance(obj,Foo))  # 判断obj是否是Foo类或其基类的实例(对象)
      print(isinstance(obj,Base)) # 判断obj是否是Foo类或其基类的实例(对象)
    • super()

      class Base(object):
         def func(self):
             print('base.func')
             return 123


      class Foo(Base):
         def func(self):
             v1 = super().func()
             print('foo.func',v1)

      obj = Foo()
      obj.func()
      # super().func() 去父类中找func方法并执行

      ######################################################################
      class Bar(object):
         def func(self):
             print('bar.func')
             return 123

      class Base(Bar):
         pass

      class Foo(Base):
         def func(self):
             v1 = super().func()
             print('foo.func',v1)

      obj = Foo()
      obj.func()



      # super().func() 根据类的继承关系,按照顺序挨个找func方法并执行(找到第一个就不在找了)

      #######################################################
      class Base(object): # Base -> object
         def func(self):
             super().func()
             print('base.func')

      class Bar(object):
         def func(self):
             print('bar.func')

      class Foo(Base,Bar): # Foo -> Base -> Bar
         pass

      obj = Foo()
      obj.func()

      # super().func() 根据self对象所属类的继承关系,按照顺序挨个找func方法并执行(找到第一个就不在找了)

     

如何判断数据类型中有没有返回值?

  • 无返回值:例:append

  • 仅有返回值:split、keys,get等

  • 有返回值+修改数据 例:pop()

  • 常用重点:

    • str

      • strip 返回字符串

      • split 返回列表

      • replace 返回字符串

      • join 返回字符串

    • list

      • append 无返回值

      • insert 无返回值

      • pop 返回删除的数据

      • remove 无返回值

      • find/index 返回索引的位置

    • dict

      • get 返回新值

      • keys 返回列表

      • values 返回列表

      • items 返回列表

猜你喜欢

转载自www.cnblogs.com/jhui104/p/11443819.html