Python中常用内置函数

简介: 【1月更文挑战第11天】

函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。Python 中还有一些已经定义好的函数,叫做内置函数。下面就来了解一些常用的内置函数。


1、range() 函数

用于创建不可变的数字序列。它有三个参数,必须都为整数,分别是“start,stop,step”。其中 start 默认等于 0,step 默认等于 1。

range 函数的表达式为:range(start=0,stop,step=1)。

举个实际的例子,range(4) 代表从 0 开始到 4(不含)结束,间隔为 1 的所有元素。

print(list(range(4)) #[0, 1, 2, 3]
#从1开始到10结束,间隔为2的所有元素
print(list(range(1, 10, 2)) #[1, 3, 5, 7, 9]

可以使用  range  和  for  循环重复某个操作。

# 循环3次输出"Hello"
for i in range(3):
    print("Hello!")


2、数学相关函数

还有一些常用的数学函数,通过这些函数可以快速实现计算,帮我们告别冗杂的代码。

  • abs():返回绝对值。
  • divmod():返回商和余数。
  • round():四舍五入。
  • pow(a, b):求 a 的 b 次幂, 如果有三个参数,则求完次幂后对第三个数取余。
  • sum():求和。
  • min():求最小值。
  • max():求最大值。
print(abs(-5))  # 绝对值:5
print(divmod(13,2)) # 求商和余数:(6,1)
print(round(3.50))   # 五舍六入:3
print(round(3.51))   #4
print(pow(5,2,3))  # 如果给了第三个参数,表示最后取余:1,整个计算过程是5**2%3取余
print(sum([1,2,3,4,5,6,7,8,9,10]))  # 求和:55
print(min(3,2,5,19,6,3))  #求最小值:2
print(max(3,5,12,8,5,11))  #求最大值:12



3、进制相关函数

Python 进制转换函数是 Python 中一种非常重要的函数,它可以帮助我们将进制之间的数字转换成另一个进制的数字。比如,将十进制转换成二进制,将十六进制转换成十进制等。

  • bin(x):将一个整数 X 转换成二进制字符串,以“0b”开头。
  • oct(x):将一个整数 X 转换成八进制字符串,以“0o”开头。
  • hex(x):将一个整数 X 转换成十六进制字符串,以“0x”开头。
print(bin(10))  # 二进制:0b1010
print(hex(10))  # 十六进制:0xa
print(oct(10))  # 八进制:0o12


4、和数据结构相关的函数

和数据结构相关的函数又主要分为两类:字符串相关的函数和可迭代对象相关的函数。

  • lower(),将字符串的所有字符都转换为小写字符。
>>> str1 = "aaBBccEEff"
>>> str1
'aaBBccEEff'
>>> str1.lower()                  ## 将字符串中的所有字符都转换为小写字符
'aabbcceeff'
  • upper(),将字符串中所有字符都转换为大写字符。
>>> str1 = "aaBBccEEff"
>>> str1
'aaBBccEEff'
>>> str1.upper()                ## 将字符串中的所有字符都转换为大写字母
'AABBCCEEFF'
  • count(),统计字符串中指定字符出现的次数。
>>> str1 = "aabbaaccdddb"
>>> str1.count("a")               ## 统计指定字符在字符串中出现的次数
4
>>> str1.count("a", 3)             ## 从索引为3的位置检索
2
>>> str1.count("a", 0, 3)          ## 指定范围
2
  • startswith(),判断字符串是否以指定字符开头。
>>> str1 = "abcd"
>>> str1
'abcd'
>>> str1.startswith("a")            ## 判断字符串是否以指定字符开头
True
>>> str1.startswith("x")
False
  • endswith(),判断字符串是否以指定字符结尾。
>>> str1 = "abcd"
>>> str1
'abcd'
>>> str1.endswith("d")               ## 判断字符串是否以指定字符结尾
True
>>> str1.endswith("b")
False
>>> str1.endswith("b", 0, 2)         ## 可以指定检索的范围
True
  • find(),查找字符串中指定的字符。
>>> str1 = "abcderabed"
>>> str1
'abcderabed'
>>> str1.find("b")           ## 查找字符串中的指定字符, 并返回索引
1
>>> str1.find("d")
3
>>> str1.find("x")           ## 当字符串中不存在该字符串时, 返回-1
-1
>>> str1.find("b", 3)        ## 可以指定查找的范围,从索引为3的字符开始向后查找
7
  • index(),返回字符串中指定字符的索引。
>>> str1 = "abcderabed"
>>> str1
'abcderabed'
>>> str1.index("c")                      ## 返回匹配的索引
2
>>> str1.index("a", 3)                   ## 可以指定查找的范围
6
>>> str1.index("x")                      ## 当字符串中不存在该字符时, 返回异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
  • replace(),将字符串中的字符替换为指定的字符。
>>> str1 = "abcdabcdabcd"
>>> str1.replace("a", "W")             ## 将字符串中a替换为W
'WbcdWbcdWbcd'
>>> str1.replace("a", "W", 1)           ## 可以指定替换的次数
'Wbcdabcdabcd'
  • strip(),删除字符串两边的所有空白或者指定字符。
>>> test1 = "  abc  "
>>> test1.strip()              ## 删除字符串两边的空白
'abc'
>>> test2 = "xxyyyzzzx"        ## 指定删除的字符
>>> test2.strip("x")
'yyyzzz'
  • len(),返回一个对象中的元素的个数。
lst = [5,7,6,12,1,13,9,18,5]
print(lst.len())
  • sort() /sorted(),对可迭代对象做排序操作。
lst = [5,7,6,12,1,13,9,18,5]
lst.sort()  # sort是list里面的一个方法
print(lst)  #[1, 5, 5, 6, 7, 9, 12, 13, 18]
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]
  • zip():将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回的列表长度与最短的对象相同。
lst1 = [a, b, c, d, e, f]
lst2 = ['1', '2', '3', '4', '5', '6']
lst3 = ['one', 'two', 'three', 'four', 'five', 'six']
print(zip(lst1, lst1, lst3))  #<zip object at 0x00000256CA6C7A88>
for el in zip(lst1, lst2, lst3):
    print(el)
# (a, '1', 'one')
# (b, '2', 'two')
# (c, '3', 'three')
# (d, '4', 'four')
# (e, '5', 'five')
# (f, '6', 'six')
  • filter(),用来筛选的函数,它的语法是:fiter(function, Iterable)。
def func(i):    # 判断奇数
    return i % 2 == 1
lst = [1,2,3,4,5,6,7,8,9]
l1 = filter(func, lst)  #l1是迭代器
print(l1)  #<filter object at 0x000001CE3CA98AC8>
print(list(l1))  #[1, 3, 5, 7, 9]
  • map(),会根据提供的函数对指定序列做映射(lambda),它的语法是:map(function, iterable)。
def f(i):    
  return i
lst = [1,2,3,4,5,6,7,]
it = map(f, lst) # 把可迭代对象中的每一个元素传递给前面的函数进行处理,处理的结果会返回成迭代器print(list(it))  #[1, 2, 3, 4, 5, 6, 7]
相关文章
|
4天前
|
Python
Python闭包函数和计时器
本文介绍了闭包函数的概念,它允许内部函数引用外部作用域的变量但无法修改它们。示例展示了如何使用闭包来封装函数。接着,文章讨论了如何在函数调用时添加开始和结束的打印语句,通过传递函数作为参数实现。然后,文章引入装饰器,通过闭包定义了一个`timer`装饰器,用于在函数执行前后打印消息。最后,给出了一个练习,实现了一个计算函数执行时间的装饰器,处理了带有参数的被装饰函数。
12 1
|
1天前
|
程序员 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,它可以简洁地实现函数的增强、扩展和重用。本文将深入探讨Python中装饰器的工作原理、常见应用场景以及如何自定义装饰器,帮助读者更好地理解和运用这一重要的编程概念。
|
2天前
|
数据采集 Python
10个Python set 常用操作函数!,bilibili面试题
10个Python set 常用操作函数!,bilibili面试题
10个Python set 常用操作函数!,bilibili面试题
|
2天前
|
数据采集 数据挖掘 Python
Python学习——函数,2024年最新手持4个大厂offer的我
Python学习——函数,2024年最新手持4个大厂offer的我
|
2天前
|
数据采集 数据挖掘 关系型数据库
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
|
2天前
|
存储 Java Shell
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
|
2天前
|
Python
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
|
3天前
|
机器学习/深度学习 数据采集 自然语言处理
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
|
3天前
|
Python
Python 使用type()函数
【5月更文挑战第10天】
13 4
|
3天前
|
Python
Python使用isinstance()函数
【5月更文挑战第10天】Python使用isinstance()函数
9 2