首页 > 编程语言 >Python常见内置函数

Python常见内置函数

时间:2023-03-09 21:56:41浏览次数:44  
标签:__ 内置 函数 Python res list l1 print

常见的内置函数sum(list) : 求取list元素的和

目录

一、重要内置函数

匿名函数

补充:匿名函数就是在特定的情况下包装一些简单的操作,这样就不需要特意定义函数了

特点:没有函数名,直接执行功能代码

语法结构:

变量名 = lambda 参数 :返回值

这里的变量名用于获取函数名,当默认情况下所有的lambda函数的返回名称都是lambda只是功能不同

lambda a,b:a+b

匿名函数一般不单独使用,需要配合其他函数一起用,我们可以在接下来的内置函数中体现出来。

1 map()-- 映射

map函数的功能就是映射,我们可以用匿名函数来举个列子:

l1 = [1,2,3,4,5]
# 假设我们要所有的l1中数据值+1
a = map(lambda i:i+1,l1)
print(list(a))

如果我们直接print(a),我们得到结果时map函数的相关代码,但是当我们用list方法把a转换成列表之后打印就可以看到转换后的结果

2 max()、min()

max()和min()的作用就是取一组数据值中最大和最小的值,在字典中需要我们手动标出值,否则的话就会根据ascii码排字母大小(A-Z——65-90,a-z——97-122)来获得返回值。下面我们用max来举例:

# l1 = [1,2,3,4,5]
# # 假设我们要所有的l1中数据值+1
# a = map(lambda i:i+1,l1)
# print(a)


d1 = {
    'zj': 100,
    'jason': 8888,
    'berk': 99999999,
    'oscar': 1
}


def func(a):
    return d1.get(a)


res = max(d1, key=lambda k: d1.get(k))  # k是参数 后面跟返回值赋值给key变量名
print(res)

# 这里的第一个参数是设置要查找的数据组,
# 然后key的作用是对每个数据组中的元素先进行key绑定的函数进行操作在进行比较,但是最后的返回结果还是用函数操作前的对象。
# 使用max方法的时候也可以用匿名函数,如果感觉自己理解不了就可以先定义函数后调用
# res = max(d1, key=func)

3 reduce()

python2中reduce是内置方法可以直接调用,但是在Python3中reduce已经不能算内置函数了,他由于使用频率少已经变成了一个模块,作用是统计。

使用前需要先引入模块

from functools import reduce
l1 = [11, 22, 33, 44, 55, 66, 77, 88]
    res = reduce(lambda a, b: a * b, l1)
    print(res)

这里的括号内参数功能跟max相似,第一个位置是放函数,用于定义统计的方式,第二个位置放列表之类的数据值,这里我们用了匿名函数定义统计方式,如果我们匿名函数的功能是a+b,得到的就是l1中所有值相加的结果,如果匿名函数的功能时a*b,得到的结果就是所有的列表中的值相乘。这里我们不需要想的很细致,当python解释器很智能就可以,会根据对应的条件计算。

4 zip

说白了就是压缩几组数据值。说细了就是将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这个元组组成的对象,一般会用list或dict方法输出为对应的类型,当对象为多个的时候,会根据数据值最少的那个参数为输出的个数,多余的部分就不会输出了

# zip
l1 = [11, 22, 33, 44, 55]
l2 = ['jason', 'kevin', 'oscar', 'jerry', 'tony']
l3 = [1, 2, 3, 4, 5]
res = zip(l1, l2, l3)
print(list(res))
# [(11, 'jason', 1), (22, 'kevin', 2), (33, 'oscar', 3), (44, 'jerry', 4), (55, 'tony', 5)]

l1 = [11, 22, 33]
l2 = ['jason', 'kevin', 'oscar', 'jerry', 'tony']
l3 = [1, 2, 3, 4]
res = zip(l1, l2, l3)
print(list(res))
# [(11, 'jason', 1), (22, 'kevin', 2), (33, 'oscar', 3)]

当我们使用zip方法压缩后还可以解压,使用方法为:zip(*+变量名):

aa = [(1, 2), (2, 3), (3, 4)]
a, b = zip(*aa)
print(a)
print(b)
(1, 2, 3)
(2, 3, 4)

5 filter

filter函数是筛选的意思:此函数会将可迭代对象中的每一位元素传递到func中,结果为True,则将此元素添加到结果列表中,filter()返回的结果是一个新的列表

表现形式:filter(func,iterable)

其中func为函数名,可为lambda匿名函数,iterable为可迭代对象

# filter
l1 = [11, 22, 33, 44, 55, 66, 77, 88]
res = filter(lambda x: x > 40, l1)
print(list(res))
# [44, 55, 66, 77, 88]

这里的filter函数在匿名函数的作用下达成的功能是判断列表l1中的值,如果根据匿名函数的条件得出这个数据值大于40就把他记录到结果中用res输出结果。

6 sorted

sort方法 列表的升序排列,到了内置函数sorted中也是一样的作用。

表现形式: sorted(iterable, key=None, reverse=False)

  • iterable – 可迭代对象。
  • key - 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序 。(说白了就是弄个函数加了条件)
  • reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)
# sorted
l1 = [21, 12, 53, 64, 76, 32, 11, 22]
res = sorted(l1)
print(res)  # 默认升序
# [11, 12, 21, 22, 32, 53, 64, 76]

下面是key加入函数的例子:

b = {1: 'ab', 2: 'degg', 4: 'ght', 9: 'd'}

res1 = sorted(b.items(), key=lambda i: i[0])  # 指定按字典里面的键排序
print(res1)

[(1, 'ab'), (2, 'degg'), (4, 'ght'), (9, 'd')]

res2 = sorted(b.items(), key=lambda i: len(i[1]))  # 指定按字典里的value长度排序,默认从小到大
print(res2)

[(9, 'd'), (1, 'ab'), (4, 'ght'), (2, 'degg')]

res3 = sorted(b.items(), key=lambda i: len(i[1]), reverse=True)  # 指定按字典里的value长度排序,同时进行翻转,即按value的长度从大到小排列
print(res3)
[(2, 'degg'), (4, 'ght'), (1, 'ab'), (9, 'd')]

二、常见内置函数(了解)

1、abs

abs的作用很好理解,就是把数值变成绝对值,也就是变成正数。

print(abs(-100))
print(abs(100))
# 100
# 100

2、all

对条件进行判断,如果给定的所有条件都对就返回True,否则就返回False。可以和and的作用放一起记忆。

3、any

对条件进行判断,如果给定的条件里面有一个对就返回True,都错的时候返回False。可以和or的作用放一起记忆。

4、bytes

相当与encode的作用,对给定的数据值进行编码,会转换成bytes(二进制类型)

s1 = '今天周五 内容也很简单'
print(s1.encode('utf8'))
print(bytes(s1, 'utf8'))
# b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x91\xa8\xe4\xba\x94 \xe5\x86\x85\xe5\xae\xb9\xe4\xb9\x9f\xe5\xbe\x88\xe7\xae\x80\xe5\x8d\x95'
# b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x91\xa8\xe4\xba\x94 \xe5\x86\x85\xe5\xae\xb9\xe4\xb9\x9f\xe5\xbe\x88\xe7\xae\x80\xe5\x8d\x95'

5、bin、oct、hex、int

这些是之前说过的一些进制转换的函数,分别是:二进制八进制十六进制和十进制。

6、callable

用于判断这个变量名加了括号是不是就能调用了,返回的结果时布尔值。

name = 'jason'
def index():
    print('from index')
print(callable(name))  # False
print(callable(index))  # True

7、chr、ord

根据ASCII对应的数值或是根据字符对应的数据值返回结果,chr是根据数值返回字符,ord是根据字符返回数据值

print(chr(65))  # A
print(ord('A'))  # 65

8、dir

我们可以通过这个函数查看括号内的对象能调用的方法或函数


print(dir('hello'))

# ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

9、divmod

对数值进行整除,并且可以获得余数。

前面的结果时整除的结果,后面是余数。

res = divmod(100, 2)
print(res)  # (50, 0)
res = divmod(100, 3)
print(res)   # (33, 1)

10、enumerate

用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般结合for循环使用(可以人为指定下表开始的数据值):

print(list(enumerate(["a", "b", "c"])))

[(0, 'a'), (1, 'b'), (2, 'c')]

11、eval和exec

两种函数都是一个作用:把字符串内的代码运行。

其中eval只能运行一些简单的代码

exec可以运行复杂一些的代码,比如开个for循环

s1 = 'print("哈哈哈")'
eval(s1)
exec(s1)
s2 = 'for i in range(100):print(i)'
eval(s2)  # 只能识别简单的python代码 具有逻辑性的都不行,这里会报错
exec(s2)  # 可以识别具有一定逻辑性的python代码

12、hash

使用哈希算法对数据值进行加密

print(hash('jason'))
# 6504587676088172780

13、id、input、isinstance

id

返回对象的唯一标识符,标识符是一个整数(返回对象的内存地址)

input

用于接收外界输入的信息

isinstance

判断一个对象是否是一个已知的类型,类似 type()

class A:
    pass
 
class B(A):
    pass
 
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

14、open

用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写,在之前问文本编辑知识点可以找到详细操作方法,这里就举个例子:

with open() as f1:
    pass
f2 = open()

15、pow

返回 xy(x的y次方) 的值

pow(x, y[, z])

16、range

之前讲for循环的时候介绍过,作用是生成一个工厂,生成数据,python2和python3中的作用有所区别python2中的xrange和python3的range作用一样。

17、round

对数值进行四舍五入,但是不太准确,可能是五舍六入。

18、sum

sum(list) : 求取list元素的和

标签:__,内置,函数,Python,res,list,l1,print
From: https://www.cnblogs.com/wei0919/p/17201616.html

相关文章

  • Python__slots__魔法
    1、__slots__魔法在Python中,每个类都有实例属性。默认情况下Python⽤⼀个字典(__dict__属性)来保存⼀个对象的实例属性。这⾮常有⽤,因为它允许我们在运⾏时去设置任意的......
  • Python迭代与生成器
    1、迭代_iter_对象方法可迭代对象,返回迭代器__next_对象方法迭代器对象,返回迭代中每一步的运算iter(object)内置函数得到object的迭代器next(object)......
  • 自己实现拷贝函数my_strcpy(依次逐步完善)
    #include<stdio.h>#include<assert.h>//为了引用assertvoidmy_strcpy1(char*arr1,char*arr2){while(*arr2!='\0'){*arr1=*arr2;arr1++;arr2++;}......
  • python 复习
    importrequestsimporttimefrommultiprocessingimportProcess,Queuedefdownload(urls,queue):#urls=imagesforimage_urlinurls:res......
  • vue3.0 如何获得引用element plus的messagebox模板如何写回调函数
    1.比如找到官网的这个messagebox,复制原文,然后我们来试一试如何添加回调函数吧<scriptlang="ts"setup>import{ElMessage,ElMessageBox}from'element-plus'c......
  • python - 常用模块
    认识模块常用模块一○collections模块○时间模块○random模块○os模块○sys模块○序列化模块○re模块1.什么是正则表达式(⊙_⊙)正则表达式(RegularExpre......
  • python学习之路(复习3)-01-PyCharm的基本设置
    目标任务PyCharm的作用下载安装PyCharmPyCharm的基本使用PyCharm的基本设置一.PyCharm的作用PyCharm是一种PythonIDE(集成开发环境),带有一整套可以帮助用户在使用P......
  • python学习之路(复习3)-01-Python安装
    Python概述了解PythonPython的应用领域Python的版本Python介绍Python是时下最流行、最火爆的编程语言之一,具体原因如下:简单、易学,适应人群广泛免费、开源......
  • 内置方法简单版
    进制:bin(),oct(),hex()字符串(str)name=“aaaaa”“”stripsplitreplaceindigit,lower,upper,center,count,find,index,join,format,startswith,endswith列表(l......
  • Python错误:pyinstaller打包后运行exe闪退
    问题描述:利用pyinstaller对python代码打包后,dist文件夹中会生成一个xxx.exe可执行文件。打包成功,但运行exe时一闪而过(闪退)。捕捉不对到底是打包错误呢,还是其他异常?那......