百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python入门,一定要吃透这69个内置函数

off999 2024-10-24 12:28 24 浏览 0 评论

内置函数就是Python预先定义的函数,这些内置函数使用方便,无需导入,直接调用,大大提高使用者的工作效率,也更便于程序的阅读。截止到Python版本3.9.1,Python一共提供了69个内置函数。

如果你还没入门,或刚刚入门Python,那么,这篇文章非常适合你。为了方便记忆,木木老师会将这些内置函数分类介绍给大家。

  • 数学运算(7个)
  • 类型转换(24个)
  • 序列操作(8个)
  • 对象操作(9个)
  • 反射操作(8个)
  • 变量操作(2个)
  • 交互操作(2个)
  • 文件操作(1个)
  • 编译执行(5个)
  • 装饰器(3个)

数学运算(7个)

abs:求数值的绝对值

print(abs(-2)) # 绝对值:2

divmod:返回两个数值的商和余数

print(divmod(20,3)) # 求商和余数:(6,2)

max:返回可迭代对象中的元素中的最大值或者所有参数的最大值

print(max(7,3,15,9,4,13)) #求最大值:15

min:返回可迭代对象中的元素中的最小值或者所有参数的最小值

print(min(5,3,9,12,7,2)) #求最小值:2

pow:返回两个数值的幂运算值或其与指定整数的模值

print(pow(10,2,3)) # 如果给了第三个参数. 表示最后取余:1

round:对浮点数进行四舍五入求值

print(round(2.675, 2)) # 五舍六入:2.67

sum:对元素类型是数值的可迭代对象中的每个元素求和

print(sum([1,2,3,4,5,6,7,8,9,10])) # 求和:55

类型转换(24个)

bool:根据传入的参数的逻辑值创建一个新的布尔值

print(bool(0)) # 数值0、空序列等值为:False

int:根据传入的参数创建一个新的整数

print(int(3.6)) # 整数:3

float:根据传入的参数创建一个新的浮点数

print(float (3)) # 浮点数:3.0

complex:根据传入参数创建一个新的复数

print(complex (1,2)) # 复数:1+2j

str:将数据转化为字符串

print(str(123)+'456') #123456

bytearray:根据传入的参数创建一个新的字节数组

ret = bytearray("alex" ,encoding ='utf-8')
print(ret[0]) #97
print(ret) #bytearray(b'alex')
ret[0] = 65 #把65的位置A赋值给ret[0]
print(str(ret)) #bytearray(b'Alex')

bytes:根据传入的参数创建一个新的不可变字节数组

bs = bytes("今天吃饭了吗", encoding="utf-8")
print(bs) #b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x90\x83\xe9\xa5\xad\xe4\xba\x86\xe5\x90\x97'

memoryview:根据传入的参数创建一个新的内存查看对象

v = memoryview(b'abcefg')
print(v[1]) # 98

ord:返回Unicode字符对应的整数

print(ord('中')) # '中'字在编码表中的位置:20013

chr:返回整数所对应的Unicode字符

print(chr(65)) # 已知码位求字符:A

bin:将整数转换成2进制字符串

print(bin(10)) # 二进制:0b1010

oct:将整数转化成8进制数字符串

print(oct(10)) # 八进制:0o12

hex:将整数转换成16进制字符串

print(hex(10)) # 十六进制:0xa

tuple:根据传入的参数创建一个新的元组

print(tuple([1,2,3,4,5,6])) # (1, 2, 3, 4, 5, 6)

list:根据传入的参数创建一个新的列表

print(list((1,2,3,4,5,6))) # [1, 2, 3, 4, 5, 6]

dict:根据传入的参数创建一个新的字典

print(dict(a = 1,b = 2)) # 创建字典: {'b': 2, 'a': 1}

range:根据传入的参数创建一个新的range对象

for i in range(15,-1,-5):
print(i)
# 15
# 10
# 5
# 0

set:根据传入的参数创建一个新的集合

a = set(range(10))
print(a) # 创建集合:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

frozenset:根据传入的参数创建一个新的不可变集合

a = frozenset(range(10))
print(a) #frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})

enumerate:根据可迭代对象创建枚举对象

lst = ['one','two','three','four','five']
for index, el in enumerate(lst,1): # 把索引和元素一起获取,索引默认从0开始. 可以更改
print(index)
print(el)
# 1
# one
# 2
# two
# 3
# three
# 4
# four
# 5
# five

iter:根据传入的参数创建一个新的可迭代对象

lst = [1, 2, 3]
for i in iter(lst):
print(i)
# 1
# 2
# 3

slice:根据传入的参数创建一个新的切片对象

lst = "你好啊"
it = reversed(lst) # 不会改变原列表. 返回一个迭代器, 设计上的一个规则
print(list(it)) #['啊', '好', '你']
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]

super:根据传入的参数创建一个新的子类和父类关系的代理对象

class A:
def add(self, x):
y = x+1
print(y)
class B(A):
def add(self, x):
super().add(x)
b = B()
b.add(2) # 3

object:创建一个新的object对象

class A:
pass
print(issubclass(A,object)) #默认继承object类 # True

print(dir(object))
# ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

序列操作(8个)

all:判断可迭代对象的每个元素是否都为True值

print(all([1,'hello',True,9])) #True

any:判断可迭代对象的元素是否有为True值的元素

print(any([0,0,0,False,1,'good'])) #True

filter:使用指定方法过滤可迭代对象的元素

def is_odd(n):
return n % 2 == 1

newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist) # [1, 3, 5, 7, 9]

map:使用指定方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象

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]

next:返回可迭代对象中的下一个元素值

it = iter([1, 2, 3, 4, 5])
while True:
try:
x = next(it)
print(x)
except StopIteration:
break
# 1
# 2
# 3
# 4
# 5

reversed:反转序列生成新的可迭代对象

print(list(reversed([1,2,3,4,5]))) # [5, 4, 3, 2, 1]

sorted:对可迭代对象进行排序,返回一个新的列表

a = [5,3,4,2,1]
print(sorted(a,reverse=True)) # [5, 4, 3, 2, 1]

zip:聚合传入的每个迭代器中相同位置的元素,返回一个新的元组类型迭代器

my_list = [11,12,13]
my_tuple = (21,22,23)

print(list(zip(my_list,my_tuple))) # [(11, 21), (12, 22), (13, 23)]

对象操作(9个)

help:返回对象的帮助信息

print(help(str)) #查看字符串的用途

dir:返回对象或者当前作用域内的属性列表

print(dir(tuple)) #查看元组的方法

id:返回对象的唯一标识符

s = 'alex'
print(id(s)) # 139783780730608

hash:获取对象的哈希值

s = 'alex'
print(hash(s)) #-168324845050430382
lst = [1, 2, 3, 4, 5]
print(hash(lst)) #报错,列表是不可哈希的

type:返回对象的类型,或者根据传入的参数创建一个新的类型

dict = {'Name': 'Zara', 'Age': 7}
print("Variable Type : %s" % type (dict)) # Variable Type : <type 'dict'>

len:返回对象的长度

mylist = ["apple", "orange", "cherry"]
x = len(mylist)
print(x) # 3

ascii:返回对象的可打印表字符串表现方式

s = 5
print(ascii(s)) # 5
format:格式化显示值
s = "hello world!"
print(format(s, "^20")) #居中
print(format(s, "<20")) #左对齐
print(format(s, ">20")) #右对齐
# hello world!
# hello world!
# hello world!

vars:返回当前作用域内的局部变量和其值组成的字典,或者返回对象的属性列表

class Person:
name = "John"
age = 36
country = "norway"
x = vars(Person)
print(x)
# {'__module__': '__main__', 'name': 'Bill', 'age': 63, 'country': 'USA', '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None}

反射操作(8个)

__import__:动态导入模块

import os
name = input("请输入你要导入的模块:")
__import__(name) # 可以动态导入模块

isinstance:判断对象是否是类或者类型元组中任意类元素的实例

arg=123
print(isinstance(arg, int)) # 输出True

issubclass:判断类是否是另外一个类或者类型元组中任意类元素的子类

class A:
pass
class B(A):
pass

print(issubclass(B,A)) # 返回 True

hasattr:检查对象是否含有属性

class Coordinate:
x = 10
y = -5
z = 0

point1 = Coordinate()
print(hasattr(point1, 'x'))
print(hasattr(point1, 'y'))
print(hasattr(point1, 'z'))
print(hasattr(point1, 'no')) # 没有该属性
# True
# True
# True
# False

getattr:获取对象的属性值

class Person():
age = 14

Tom = Person()
print(getattr(Tom,'age')) # 14

setattr:设置对象的属性值

class A():
name = "吊车尾"

a = A()
setattr(a, "age", 24)
print(a.age) # 24

delattr:删除对象的属性

class Person:
def __init__(self, name, age):
self.name = name
self.age = age
tom = Person("Tom", 35)
print(dir(tom)) # ['__doc__', '__init__', '__module__', 'age', 'name']
delattr(tom, "age")
print(dir(tom)) # ['__doc__', '__init__', '__module__', 'name']s

callable:检测对象是否可被调用

a = 10
print(callable(a)) #False 变量a不能被调用

变量操作(2个)

globals:返回当前作用域内的全局变量和其值组成的字典

x = 'hello'
a = 8888888
print(globals()) #返回一个全局变量的字典,包括所有导入的变量x,a
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000000212C2B0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/Pythonproject/111/global.py', '__cached__': None, 'x': 'hello', 'a': 8888888}

locals:返回当前作用域内的局部变量和其值组成的字典

print(locals())
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x10ab79358>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/Users/pankaj/Documents/github/journaldev/Python-3/basic_examples/python_locals_example.py', '__cached__': None}

交互操作(2个)

print:向标准输出对象打印输出

print(1,2,3) # 1 2 3

input:读取用户输入值

a = input('请输入你的姓名') #输入:张三
print(a) # 张三

文件操作(1个)

open:使用指定的模式和编码打开文件,返回文件读写对象

f = open('file',mode='r',encoding='utf-8')
f.read()
f.close()

编译执行(5个)

compile:将字符串编译为代码或者AST对象,使之能够通过exec语句来执行或者eval进行求值

code = "for i in range(3): print(i)"
com = compile(code, "", mode="exec")
exec(com)
# 0
# 1
# 2

eval:执行动态表达式求值

code = "5+6+7"
com = compile(code, "", mode="eval")
print(eval(com)) # 18

exec:执行动态语句块

s = "for i in range(5): print(i)"
a = exec(s)
# 0
# 1
# 2
# 3
# 4

repr:返回一个对象的字符串表现形式(给解释器)

class test:
def __init__(self,name,age):
self.age = age
self.name = name
def __repr__(self):
return "Class_Test[name="+self.name+",age="+str(self.age)+"]"
t = test("Zhou",30)

print(t) # Class_Test[name=Zhou,age=30]

breakpoint:暂停脚本的执行,允许在程序的内部手动浏览

装饰器(3个)

property:标示属性的装饰器

class C:
def __init__(self):
self._name = ''
@property
def name(self):
"""i'm the 'name' property."""
return self._name
@name.setter
def name(self,value):
if value is None:
raise RuntimeError('name can not be None')
else:
self._name = value

classmethod:标示方法为类方法的装饰器

class C:
@classmethod
def f(cls,arg1):
print(cls)
print(arg1)

staticmethod:标示方法为静态方法的装饰器

class Student(object):
def __init__(self,name):
self.name = name
@staticmethod
def sayHello(lang):
print(lang)
if lang == 'en':
print('Welcome!')
else:
print('你好!')

收集不易,记得给木木一个小反馈哦~

PS:由于空格原因,这些代码直接复制运行不了哦~想学习的同学,可以私信回复【资料】获取原文档学习。

相关推荐

大文件传不动?WinRAR/7-Zip 入门到高手,这 5 个技巧让你效率翻倍

“这200张照片怎么传给女儿?微信发不了,邮箱附件又超限……”62岁的张阿姨对着电脑犯愁时,儿子只用了3分钟就把照片压缩成一个文件,还教她:“以后用压缩软件,比打包行李还方便!”职场人更懂这...

电脑解压缩软件推荐——7-Zip:免费、高效、简洁的文件管理神器

在日常工作中,我们经常需要处理压缩文件。无论是下载软件包、接收文件,还是存储大量数据,压缩和解压缩文件都成为了我们日常操作的一部分。而说到压缩解压软件,7-Zip绝对是一个不可忽视的名字。今天,我就来...

设置了加密密码zip文件要如何打开?这几个方法可以试试~

Zip是一种常见的压缩格式文件,文件还可以设置密码保护。那设置了密码的Zip文件要如何打开呢?不清楚的小伙伴一起来看看吧。当我们知道密码想要打开带密码的Zip文件,我们需要用到适用于Zip格式的解压缩...

大文件想要传输成功,怎么把ZIP文件分卷压缩

不知道各位小伙伴有没有这样的烦恼,发送很大很大的压缩包会受到限制,为此,想要在压缩过程中将文件拆分为几个压缩包并且同时为所有压缩包设置加密应该如何设置?方法一:使用7-Zip免费且强大的文件管理工具7...

高效处理 RAR 分卷压缩包:合并解压操作全攻略

在文件传输和存储过程中,当遇到大文件时,我们常常会使用分卷压缩的方式将其拆分成多个较小的压缩包,方便存储和传输。RAR作为一种常见的压缩格式,分卷压缩包的使用频率也很高。但很多人在拿到RAR分卷...

2个方法教你如何删除ZIP压缩包密码

zip压缩包设置了加密密码,每次解压文件都需要输入密码才能够顺利解压出文件,当压缩包文件不再需要加密的时候,大家肯定想删除压缩包密码,或是忘记了压缩包密码,想要通过删除操作将压缩包密码删除,就能够顺利...

速转!漏洞预警丨压缩软件Winrar目录穿越漏洞

WinRAR是一款功能强大的压缩包管理器,它是档案工具RAR在Windows环境下的图形界面。该软件可用于备份数据,缩减电子邮件附件的大小,解压缩从Internet上下载的RAR、ZIP及其它类...

文件解压方法和工具分享_文件解压工具下载

压缩文件减少文件大小,降低文件失效的概率,总得来说好处很多。所以很多文件我们下载下来都是压缩软件,很多小伙伴不知道怎么解压,或者不知道什么工具更好,所以今天做了文件解压方法和工具的分享给大家。一、解压...

[python]《Python编程快速上手:让繁琐工作自动化》学习笔记3

1.组织文件笔记(第9章)(代码下载)1.1文件与文件路径通过importshutil调用shutil模块操作目录,shutil模块能够在Python程序中实现文件复制、移动、改名和删除;同时...

Python内置tarfile模块:读写 tar 归档文件详解

一、学习目标1.1学习目标掌握Python内置模块tarfile的核心功能,包括:理解tar归档文件的原理与常见压缩格式(gzip/bz2/lzma)掌握tar文件的读写操作(创建、解压、查看、过滤...

使用python展开tar包_python拓展

类Unix的系统,打包文件经常使用的就是tar包,结合zip工具,可以方便的打包并解压。在python的标准库里面有tarfile库,可以方便实现生成了展开tar包。使用这个库最大的好处,可能就在于不...

银狐钓鱼再升级:白文件脚本化实现GO语言后门持久驻留

近期,火绒威胁情报中心监测到一批相对更为活跃的“银狐”系列变种木马。火绒安全工程师第一时间获取样本并进行分析。分析发现,该样本通过阿里云存储桶下发恶意文件,采用AppDomainManager进行白利...

ZIP文件怎么打开?2个简单方法教你轻松搞定!

在日常工作和生活中,我们经常会遇到各种压缩文件,其中最常见的格式之一就是ZIP。ZIP文件通过压缩数据来减少文件大小,方便我们进行存储和传输。然而,对于初学者来说,如何打开ZIP文件可能会成为一个小小...

Ubuntu—解压多个zip压缩文件.zip .z01 .z02

方法将所有zip文件放在同一目录中:zip_file.z01,zip_file.z02,zip_file.z03,...,zip_file.zip。在Zip3.0版本及以上,使用下列命令:将所有zi...

如何使用7-Zip对文件进行加密压缩

7-Zip是一款开源的文件归档工具,支持多种压缩格式,并提供了对压缩文件进行加密的功能。使用7-Zip可以轻松创建和解压.7z、.zip等格式的压缩文件,并且可以通过设置密码来保护压缩包中的...

取消回复欢迎 发表评论: