首页 > 其他分享 >常用的内置函数

常用的内置函数

时间:2023-12-29 20:15:38浏览次数:41  
标签:常用 内置 函数 迭代 format res list print

常用的内置函数

【一】什么是内置函数

img

  • 和数字相关
    • 数据类型
    • 进制转换
    • 数学运算
  • 和数据结构相关
    • 序列
    • 数据集合
    • 相关内置函数
  • 和作用域相关
  • 和迭代器生成器相关
  • 字符串类型代码的执行
  • 输入输出
  • 内存相关
  • 文件操作相关
  • 模块相关
  • 帮 助
  • 调用相关
  • 查看内置属性

【二】数据类型转换

数字类型转换

  • 整数

    # int(x) : x 转换为整数
    
    res = '1'
    print(res, type(res))
    # 1 <class 'str'>
    
    # 将可以转换为整数的类型转换为整数
    res_int = int(res)
    print(res_int, type(res_int))
    # 1 <class 'int'>
    
  • 浮点数

    # float(x) : x 转换为浮点数
    
    start = 1
    print(start, type(start))
    # 1 <class 'int'>
    
    start_float = float(start)
    print(start_float, type(start_float))
    # 1.0 <class 'float'>
    
  • 字符串布尔类型

    print(str(123)+'456')  #123456
    type:<class 'str'>
    
  • 布尔类型(bool)

    # True / False
    
    res = 1
    print(res, type(res))
    # 1 <class 'int'>
    
    res_bool = bool(res)
    print(res_bool, type(res_bool))
    # True <class 'bool'>
    
    
  • 列表类型转换(list)

    print(list((1,2,3,4,5,6)))  
    # [1, 2, 3, 4, 5, 6]
    
  • 元祖类型转换(tuple)

    print(tuple([1,2,3,4,5,6]))  
    # (1, 2, 3, 4, 5, 6)
    
  • 字典类型转换(dict)

    # 示例
    dictionary = dict([(1, 'one'), (2, 'two'), (3, 'three')])
    print(dictionary)
    # 输出:{1: 'one', 2: 'two', 3: 'three'}
    
  • 元祖类型转换(tuple)

    print(tuple([1,2,3,4,5,6]))  
    # (1, 2, 3, 4, 5, 6)
    
  • 集合类型转换(set)

    • 集合:set 创建一个集合

    • 注释: set() 函数用于创建一个集合,自动去除重复元素。

# 示例
my_set = set([1, 2, 3, 3, 4, 5])
print(my_set)
# 输出:{1, 2, 3, 4, 5}

【三】数学进制转换

  • bin() 将给的参数转换成二进制

  • oct() 将给的参数转换成八进制

  • hex() 将给的参数转换成十六进制

【四】数学运算

  • abs() 返回绝对值

  • divmod() 返回商和余数

    number_start = 9
    number_end = 4
    # 获取商和余数 (被除数,除数)
    result = divmod(number_start, number_end)
    print(result)  # (2, 1)
    # number_discuss : 商
    # number_remainder : 余数
    number_discuss, number_remainder = divmod(number_start, number_end)
    print(number_discuss)
    print(number_remainder)
    
  • 四舍五入(round)

    # 我们可以传递一个简单的负数浮点数。
    # 注意我们只向函数提供一个参数,我们省略了可选的第二个参数。
    # 我们可以看到,对 4.51 的值为 5
    print(round(4.51))
    # 我们可以看到,对 4.50 的值为 4
    print(round(4.50))
    # 我们可以看到,对 4.49 的值为 4
    print(round(4.49))
    
  • a的b次幂(pow)

    '''
    参数介绍:
        x — 数值表达式(整数或者浮点数);
        y — 数值表达式(整数或者浮点数);
        z — 数值表达式(整数或者浮点数),默认不设置z值;
    
    返回值:返回 xy(x的y次方)的值;如果设置了z值,则再对结果进行取模,其结果等效于pow(x,y) %z;
    '''
    pow(x, y[, z])
    print(pow(2,5)) # 等价 2*2*2*2*2 = 32
    print(pow(2,3)) # 等价 2*2*2 = 8
    print(pow(2,3,5)) # 等价 2*2*2%5 = 8 % 5 = 3
    print(2*2*2%5)  # 等价 pow(2,3,5) = 3
    
    
  • sum() 求和

    print(sum([1,2,3,4,5,6,7,8,9,10]))  
    
  • min() 求最小值

    print(min(5,3,9,12,7,2))  
    # 2
    
  • max() 求最大值

    print(max(5,3,9,12,7,2))  
    # 12
    
  • 复数转换(complex)

    # complex(re, im) : 具有实部 re、虚部 im 的复数。im 默认为零。
    
    start = complex(3, 4)
    print(start)  # (3+4j)
    
    second = complex(5, 9)
    print(second)  # (5+9j)
    
    res = start + second
    print(res) # (8+13j)
    
    

数据结构相关

  • reversed() 将一个序列翻转, 返回翻转序列的迭代器

    data='你在干嘛'
    data=reversed(data)
    print(list(data))
    #['嘛', '干', '在', '你']
    
  • slice()切片 列表的切片

    lst = [1, 2, 3, 4, 5, 6, 7]
    
    print(lst[1:3:1])  
    # [2,3]
    s = slice(1, 3, 1)  
    #  切片用的
    print(lst[s])  
    # [2,3]
    
  • len()计算长度

  • sorted() 排序

    lst = [5, 7, 6, 12, 1, 13, 9, 18, 5]
    # 内置函数. 返回给你一个新列表  新列表是被排序的
    ll = sorted(lst)
    print(ll)
    # [1, 5, 5, 6, 7, 9, 12, 13, 18]
    # 倒序
    l2 = sorted(lst, reverse=True)
    print(l2)
    # [18, 13, 12, 9, 7, 6, 5, 5, 1]
    
  • 枚举(enumerate) enumerate() 获取集合的枚举对象

    list=['hamburger','milk','egg']
    for i,j in enumerate(list,1):
        print(f'{i}:{j}')
    1:hamburger
    2:milk
    3:egg
    
  • 格式化输出(format)

    • format() 与具体数据相关, 用于计算各种小数, 精算等.

      s = "hello world!"
      print(format(s, "^20"))  # 居  中
      #     hello world!
      print(format(s, "<20"))  # 左对齐
      # hello world!
      print(format(s, ">20"))  # 右对齐
      #         hello world!
      
    • 进制转换

      print(format(3, 'b'))  # 二进制:11
      print(format(97, 'c'))  # 转换成unicode字符:a
      print(format(11, 'd'))  # ⼗进制:11
      print(format(11, 'o'))  # 八进制:13
      print(format(11, 'x'))  # 十六进制(⼩写字母):b
      print(format(11, 'X'))  # 十六进制(大写字母):B
      print(format(11, 'n'))  # 和d⼀样:11
      print(format(11))  # 和d⼀样:11
      
    • 科学计数法

      print(format(123456789, 'e'))  # 科学计数法. 默认保留6位小数:1.234568e+08
      print(format(123456789, '0.2e'))  # 科学计数法. 保留2位小数(小写):1.23e+08
      print(format(123456789, '0.2E'))  # 科学计数法. 保留2位小数(大写):1.23E+08
      print(format(1.23456789, 'f'))  # 小数点计数法. 保留6位小数:1.234568
      print(format(1.23456789, '0.2f'))  # 小数点计数法. 保留2位小数:1.23
      print(format(1.23456789, '0.10f'))  # 小数点计数法. 保留10位小数:1.2345678900
      print(format(1.23456789e+3, 'F'))  # 小数点计数法. 很大的时候输出INF:1234.567890
      

高阶函数

【1】map函数

  • 在Python中使用map()函数对可迭代对象(如列表、元组、 ** 等)的每个元素应用一个函数,并将结果作为一个新的可迭代对象返回。 map()函数的语法如下:
map(function, iterable)
  • 其中,function是要应用于每个元素的函数,iterable是要处理的可迭代对象。

  • 使用map()函数将一个列表中的每个元素平方并返回一个新的列表

numbers = [1, 2, 3, 4, 5]

def square(x):
    return x ** 2
for i in numbers:
    square(i)
# 
1
4
9
16
25   
squared_numbers = list(map(square, numbers))
print(squared_numbers)
#[1, 4, 9, 16, 25]

输出:

[1, 4, 9, 16, 25]

在上述示例中,square()函数接受一个参数,并返回该参数的平方值。map(square, numbers)numbers列表中的每个元素都传递给square()函数进行处理,并将结果作为一个新的可迭代对象返回。最后,通过list()函数将该可迭代对象转换为列表并打印出来。

请注意,map()函数返回的是一个迭代器,如果想要得到列表作为结果,需要通过list()函数将其转换成列表。

【2】打包(zip)

  • zip()函数

    • 用于将可迭代的对象作为参数
    • 将对象中对应的元素打包成一个元素
    • 然后返回这些元素组成的列表
    list1=[1,2,3,4,5]
    list2=['a','b','c','d','e']
    list3=['中国','美国', '巴西', '日本']
    print(zip(list1, list2, list3))
    #[(1, 'a', '中国'), (2, 'b', '美国'), (3, 'c', '巴西'), (4, 'd', '日本')]
    for el in zip(list1, list2, list3):
        print(el)
       
    #(1, 'a', '中国')
    #(2, 'b', '美国')
    #(3, 'c', '巴西')
    #(4, 'd', '日本')
        
    

【3】 filter 函数

  • flter(过滤的表达式,可迭代对象)

    def fun(i):
        return i % 2 ==1
    lst=[1,2,3,4,5,6,7]
    方法一:
    list=[]
    for i in lst:
        if fun(i):
            list.append(i)
    print(list)
    #[1, 3, 5, 7]
    方法二:
    res=filter(fun,lst)
    print(list(res))
    ##[1, 3, 5, 7]
    

作用域相关

  • globals() : 查看全局的名称空间
  • locals() : 查看局部的名称空间
name = "hope"
 def func():
     a = 10
     # 当前作用域中的内容
     print(f"这是当前作用域中的内容 :>>>> {locals()}")
     # 全局作用域中的内容
     print(f"这是全局作用域中的内容 :>>>> {globals()}")
     print("我是函数func内部")
 func()

迭代器和生成器

  • 迭代器

    num_list = [1,2,3]
    # 创建一个迭代器
    num_iter = iter(num_list)
    print(num_iter) # <list_iterator object at 0x000002ADDF8D9270>
    
  • 生成器的next方法

    print(next(num_iter))
    
迭代器的时候讲了一个 iter
# num_list = [1,2,3]
# # 创建一个迭代器
# num_iter = iter(num_list)
# print(num_iter) # <list_iterator object at 0x000002ADDF8D9270>

# (3)生成器讲了一个 next 方法
# num_iter = iter([1,2,3])
# print(num_iter) # <list_iterator object at 0x000002ADDF8D9270>
# print(next(num_iter))
  • eval()方

    1.求解简单的数学表达式:

expression = "2 + 3 * 4"
result = eval(expression)
print(result)  # 输出:14

​ 2.计算数值的平方根:

import math

expression = "math.sqrt(25)"
result = eval(expression)
print(result)  # 输出:5.0

​ 3.使用变量进行计算:

x = 10
y = 5
expression = "x + y"
result = eval(expression)
print(result)  # 输出:15
  • 输入和输出
print("hello", "world", sep="*", end="@") 
#sep:打印出的内容用什么连接
#end:以什么为结尾
#hello*world@

哈希

# 哈希值计算
s = 'name'
print(hash(s))  # -1259320317030181278Y
# {1:2,4:5,3:4}

# 哈希算法又叫摘要算法
# 唯一

文件和帮助和导入

# 打开文件语法
# f = open(file=...,mode=...,encoding=...)

# 导入模块语法
# exec('import os')
# os = __import__('os')
# print(os.listdir())

# 帮助函数
# import os
# print(help(os))

调度和查看属性

# 变量名是否可被调用 : 能 变量名() 就能被调用
a = 10
# 变量a不能被调用

print(callable(a))


# False

def f():
    print("hello")


# 函数是可以被调用的
print(callable(f))
# True


# 查看内置属性或方法 dir

print(dir(list))

调试器(breakpoint)

  • breakpoint()函数 - 3.7+

【1】作用

  • Python 3.7添加了breakpoint(),此函数将您放入调用站点的调试器中。
  • 具体来说,它调用sys.breakpointhook(),直接传递args和kws。
  • 默认情况下,sys.breakpointhook()调用pdb.set_trace(),不需要参数。
    • 在这种情况下,它纯粹是一个方便的函数,因此您不必显式地导入pdb或键入足够多的代码来进入调试器。
    • 但是,sys.breakpointhook()可以设置为其他函数,breakpoint()将自动调用该函数,允许您进入所选的调试器。

【2】语法

  • breakpoint(*args, **kws)
  • 参数介绍:
    • *args, **kws---不定长参数
  • 返回值:
    • 下面例子展示 breakpoint()函数使用方法

【3】示例

# 以前
foo()
import pdb; pdb.set_trace()
bar()

# 现在
foo()
breakpoint()
bar()
  • *args, **kws --- 不定长参数区别
def f(arg,*args,**kwargs):
    print(arg,args,kwargs)
f(1,2,4,5,a=1,b=2)

# 1 (2, 4, 5) {'a': 1, 'b': 2}

判断内存空间地址(id)

【1】作用

  • 在Python中,id()函数用于返回一个对象的唯一标识符。
  • 这个标识符是一个整数,代表了该对象在内存中的地址。
  • 换句话说,每个对象都有一个唯一的标识符,即使它们的值相同也是如此。

【2】语法

id(object)

# 其中,object是要返回标识符的对象。

【3】示例

a = 5
b = 5
print("a的标识符为:", id(a))
print("b的标识符为:", id(b))

# a的标识符为: 140707288191088
# b的标识符为: 140707288191088
  • 可以看到,即使a和b的值相同,它们的标识符也相同,这是因为它们指向的是同一个内存地址。

标签:常用,内置,函数,迭代,format,res,list,print
From: https://www.cnblogs.com/banchengyanyu/p/17935602.html

相关文章

  • 积性函数
    积性函数定义1积性函数,若称数论函数\(f(n)\)为积性函数,则其需要满足以下性质:\[\foralln\perpm,f(nm)=f(n)\timesf(m)\]定义2完全积性函数,若称数论函数\(f(n)\)为完全积性函数,则其需要满足以下性质:\[\foralln,m,f(nm)=f(n)\timesf(m)\]下面我们说几个积性函数......
  • 无涯教程-Java 正则 - MatchResult String group()函数
    java.time.MatchResult.group()方法返回与上一个匹配项匹配的输入子序列。Stringgroup()-声明Stringgroup()Stringgroup()-返回值与上一个匹配项匹配的(可能为空)子序列,为字符串形式。Stringgroup()-异常IllegalStateException-如果尚未尝试匹配,或者上一个匹......
  • 无涯教程-Java 正则 - MatchResult String group(int group)函数
    java.time.MatchResult.group(intgroup)方法返回在上一次匹配操作期间给定组捕获的输入子序列。Stringgroup(intgroup)-声明以下是java.time.MatchResult.group(intgroup)方法的声明。intgroup(intgroup)group  - 该匹配器模式中捕获组的索引。Stringgroup......
  • Python趣味入门11:函数作为参数以及匿名函数
    Python函数本质上是一段代码的集合,扩展对于函数的高级用法,有利于更好的认识Python,函数是Python的核心。本篇扩展了函数的2个应用,一是把函数本身作为参数,二是介绍了匿名函数的应用。1、以函数作为参数:1.1概念Python里可以把函数本身当成是参数,比如Python内置函数map可以通过传......
  • 无涯教程-Java 正则 - MatchResult int end(int group)函数
    java.time.MatchResult.end(intgroup)方法返回在此匹配期间给定组捕获的子序列的最后一个字符之后的偏移量。intend(intgroup)-声明intend(intgroup)group  - 该匹配器模式中捕获组的索引。intend(intgroup)-返回值最后一个字符匹配后的偏移量。intend(......
  • mysql日期相关函数使用
    最近要经常用到mysql的日期相关函数,但以前用的少,索性总结下1DATE_FORMAT(date,format)published_at字段以datetime类型存储SELECTtitle,DATE_FORMAT(published_at,'%Y-%m-%d')FROMblog_noteWHEREDATE_FORMAT(published_at,'%Y-%m')='2023-09'    2STR_TO_DAT......
  • Linux磁盘管理常用的三个命令!
    在Linux系统中,如何有效地对存储空间加以使用和管理,是一项非常重要且关键的技术。而且Linux磁盘管理好坏直接关系到整个系统的性能问题,那么你知道Linux磁盘管理有哪些常用命令吗?这篇文章为大家介绍一下Linux磁盘管理常用的三个命令。Linux磁盘管理常用三个命令为df、du、fd......
  • 无涯教程-Java 正则 - MatchResult int end()函数
    java.time.MatchResult.end()方法返回匹配的最后一个字符后的偏移量。intend()-声明intend()intend()-返回值最后一个字符匹配后的偏移量。intend()-异常IllegalStateException-如果尚未尝试匹配,或者先前的匹配操作失败。intend()-示例下面的示例显示jav......
  • 基于SQLAlchemy的模型,它不一定需要​​__init__​​​函数
    这个User类是一个基于SQLAlchemy的模型,它不一定需要__init__函数。SQLAlchemy会自动为你的模型创建一个默认的__init__函数,你可以直接创建对象,如user=User(id=1,name='username')。但是,如果你需要在创建对象时执行一些自定义操作,你可以提供自己的__init__函数。例如:classUser(d......
  • 函数式接口@FunctionInterface
    有以下特点:1.该注解只能标记在“有且仅有一个抽象方法”的接口上。2.JDK8接口中的静态方法和默认方法,都不算事抽象方法。3.接口默认继承java.lang.Object,所以如果接口显示声明覆盖了Object中方法,那么也不算抽象方法。4.该注解不是必须的,如果一个接口符合“函数式接口”定义,那么加不......