zoukankan      html  css  js  c++  java
  • python常见的内置函数

    函数分为自定义函数和内置函数

    python内置函数分类:

    一、强制转换

    • int() / str() / bool() / list() / tuple() / dict() / set()

    二、输入输出

    • input() / print()

    三、数学相关

    • abs():计算绝对值

    • sum():求和

    • float():转化为浮点型(小数)

      v = 55
      v1 = float(55)
      print(v1)        #55.0
      
      • 补充:int(55.5) #只保留整数:55
    • max():找到最大值

    • min():找到最小值

    • divmod():取两数相除的商和余数

      #示例:
      a,b = divmod(1001,5)
      print(a,b)          #a=200,b=1
      
      • 注意:divmod在分页展示时用得比较多

        # 练习题  请通过分页对数据进行展示
        """
        要求:
            每页显示10条数据
            让用户输入要查看的页面:页码
        """
        
        USER_LIST = []
        for i in range(1,836):
            temp = {'name':'你-%s' %i,'email':'123%s@qq.com' %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:
                start = (pager-1) * per_page_count
                end = pager * per_page_count
                data = USER_LIST[start:end]
                for item in data:
                    print(item)
        
    • pow():指数

      v = pow(2,3)      #相当于2**3
      print(v)         # 8
      
    • round():保留几位小数,默认保留整数,还会四舍五入

      v = round(1.127,2)       #第二个数代表保留几位小数,默认是None
      print(v)         # 1.13  四舍五入
      

    四、 进制转换相关

    • bin():将十进制转换成二进制

    • oct():将十进制转换成八进制

    • int():将其他进制转换成十进制

      • 默认:base = 10
      # 二进制转化成十进制
      v1 = '0b1101'
      result = int(v1,base=2)         #base=2说明读取的是二进制
      print(result)
      
      # 八进制转化成十进制
      v1 = '0o1101'
      result = int(v1,base=8)
      print(result)
      
      # 十六进制转化成十进制
      v1 = '0x1101'
      result = int(v1,base=16)
      print(result)
      
    • hex():将十进制转换成十六进制

    #1字节等于8位
    # IP: 192.168.12.79  ->  001010010 . 001010010 . 001010010 . 001010010
    
    # 请将 ip = "192.168.12.79" 中的每个十进制数转换成二进制并通过,连接起来生成一个新的字符串。
    ip = "192.168.12.79"
    ip_list = ip.split('.') # ['192','168','12','79']
    result = []
    for item in ip_list:
        result.append(bin(int(item)))
    print(','.join(result))
    

    五、 编码相关

    • chr():将十进制数字转换成 unicode 编码中的对应字符串

    • ord():根据字符在 unicode 编码中找到其对应的十进制

      #应用:生成随机验证码
      import random          # 导入一个模块 
      def get_random_code(length=6):
          data = []
          for i in range(length):
              v = random.randint(65,90)
              data.append(chr(v))
          return  ''.join(data)
      
      code = get_random_code()
      print(code)
      

    六、 内置函数高级

    • map(函数,可迭代对象):一起执行

      • 循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中,并返回
      #示例:
      v1 = [11,22,33,44]
      result = map(lambda x:x+100,v1)
      print(list(result)) 
      
    • filter(函数,可迭代对象):进行筛选

      #示例:
      v1 = [11,22,33,'asd',44,'xf']
      
      def func(x):
          if type(x) == int:
              return True
          return False
      result = filter(func,v1) 
      print(list(result))
      
      # 用lambda表达式:
      result = filter(lambda x: True if type(x) == int else False ,v1)
      print(list(result))
      # 相当于:
      result = filter(lambda x: type(x) == int ,v1)
      print(list(result))
      
    • map / filter(python2与python3的区别九)

      • python2:返回列表,直接创建值,可以通过索引取值
      • python3:返回迭代器,不直接创建值,通过循环,边循环边创建
    • reduce(函数,可迭代对象):得到结果

      import functools
      v1 = ['wo','hao','e']
      def func(x,y):
          return x+y
      result = functools.reduce(func,v1) 
      print(result)
      
      # 用lambda表达式:
      result = functools.reduce(lambda x,y:x+y,v1)
      print(result)
      

    七、 类相关

    • type():查看数据类型

      class Foo:
          pass
      
      obj = Foo()
      if type(obj) == Foo:
          print('obj是Foo类的对象')
      
    • issubclass(类,类或其基类):判断前一个类是否是后一个类或其基类的子类

      • 结果是布尔类型,是 -> True,否 -> False
      class Base:
          pass
      
      class Base1(Base):
          pass
      
      class Foo(Base1):
          pass
      
      class Bar:
          pass
      
      print(issubclass(Bar,Base))
      print(issubclass(Foo,Base))
      
    • isinstance(对象,类或其基类):判断一个对象是否是一个类或其基类的实例(对象)

      • 结果是布尔类型,是 -> True,否 -> False
      • 注意:判断一个对象是否是一个类的实例(对象),一定要用type,不要用isinstance
      class Base(object):
          pass
      
      class Foo(Base):
          pass
      
      obj = Foo()
      print(isinstance(obj,Foo))  # 判断obj是否是Foo类或其基类的实例(对象)
      print(isinstance(obj,Base)) # 判断obj是否是Foo类或其基类的实例(对象)
      
    • super().方法名():根据self对象所属的类的继承关系,按照顺序依次找方法并执行(找到第一个为止)

      class Base(object):
          def func(self):
              super().func()  # 根据self对象所属类的继承关系,按照顺序挨个找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()
      

    八、 其他

    • len() :计算长度
    • open() :打开文件
    • range()
    • id() :查看内存地址
    勤勤恳恳更博,点点滴滴记录
  • 相关阅读:
    WPF 如何创建自己的WPF自定义控件库
    浅谈WPF的VisualBrush
    从Oracle数据库中查询前几个月数据时需要注意的一些问题
    WPF当属性值改变时利用PropertyChanged事件来加载动画
    java array to list
    nGrinder 简易使用教程
    页面json 格式化+颜色高亮
    通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statement
    jenkins 多选框
    jstack jstat 简易使用教程
  • 原文地址:https://www.cnblogs.com/zengyi1995/p/10626437.html
Copyright © 2011-2022 走看看