Python学习笔记 - 内建函数

本文详细解析Python标准库中的内置函数,涵盖数学运算、数据类型转换、文件操作、装饰器等核心功能,助你深入理解Python编程。

版本:Python 3.7.4

整理归类于官网标准库
Documentation » The Python Standard Library » Built-in Functions
https://docs.python.org/3/library/functions.html

 

 

数学运算

abs(x)返回绝对值,参数可以是整型或者浮点型。如果是复数则返回其大小magnitude。
sum(iterable[,start])元素从左到右求和并加上start值(默认为0),元素是普通数字,start不能为字符串.

max(iterable, *[, key, default])

max(arg1, arg2, *args[, key])

返回可迭代对象的最大元素;

返回两个参数里的最大值。

min(iterable, *[, key, default])
min(arg1, arg2, *args[, key])
 
pow(x,y[,z])

返回x的y次幂;如果有z参数,则再将结果取z的模,这样比pow(x,y)%z更高效。

求幂还有种写法 pow(x,y) <--> x**y

divmod(a,b)返回一对数(商,余)。
--对于整型数,同(a // b, a % b)一样的结果。
--对于浮点数,同(q, a % b)。
range(stop)
range(start,stop[,step])
返回一个不可变序列类型。
round(number[,ndigits])四舍五入,但是round(0.5)->0,round(0.5001)->1. ndigits是精度。

数据类型

tuple([iterable])tuple是一个不可变序列类型而不是像函数.
enumerate(iterable,start=0) 
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
返回一个dict对象,它是一个字典类。
class list([iterable]) 
class set([iterable]) 
class frozenset([iterable])返回一个冻结(即不可变)集合对象.与set()集合对应,set集合是可变的.
class str(object='')
class str(object=b'', encoding='utf-8', errors='strict')
返回一个str对象.
class float([x])从x(数字或字符串)产生一个浮点数。
class int([x]) 
class int(x, base=10)返回一个整型对象。来自于一个number后者string。空参数返回0。   
class bool([x])0为False,非零为True。不管是否是整数。

进制转换

hex(x)整型数转换为"0x"开头的十六进制字符串.另外,不带"0x"开头的或者大写小写的十六进制都可格式化format得到.
oct(x)整型数转换为"0o"开头的八进制字符串.
bin(x)整型数转换为"0b"开头的二进制字符串.
class bytes([source[,encoding[,errors]]])返回一个bytes对象(一个整型[0,256)不可变序列)
class bytearray([source[,encoding[,errors]]])返回一个字节数组(一个整型[0,256)可变序列)
class complex([real[,imag]])返回一个复数

字符(串)操作

chr(i)chr(97)->'a'
ord(c)ord('a')->97
repr(object)返回一个包含可打印对象的字符串.
ascii(object)同repr,返回一个包含可打印对象的字符串,但是有前缀\x, \u or \U.

输入输出

input([prompt])例如:s = input('--> ') ,在提示符后交互输入值并返回输入结果。
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)把对象打印成文本流文件(text stream file),sep分隔符
format(value[, format_spec]) 

文件操作

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 

对象类

next(iterator[,default])检索到iterator的下一个item,实则通过__next__()方法.
callable(object)如果object可调用则为真.
len(s)

返回对象s的长度(item个数)。s必须是序列类型(string, bytes, tuple, list, or range)或者容器类型(dictionary, set, or frozen set).

vars([object])返回一个对象(或模块,类,实例)的__dict__ 属性,其中模块和实例的__dict__ 属性可更新,而类的__dict__ 更新被限制了。
class type(object)
class type(name, bases, dict)
返回对象类型。可以用来创建类。
hash(object返回对象的hash值,如果存在的话。
id(object)返回对象的标识符identity。整数标识。
isinstance(object,classinfo如果对象是一个实例则为真.

属性类

getattr(object,name[,default])返回属性名为name的值。
setattr(object,name,value)setattr(x, 'foobar', 123) <-> x.foobar = 123
delattr(object, name)delattr(x,'foobar') <-> del x.foobar
hasattr(object,name)属性存在则返回True;不存在则返回False。

class property(fget=None, fset=None, fdel=None, doc=None)

@property

返回property属性。

@property作为一个装饰器,可以生成只读属性。更多高级用法,详见原文文档。

迭代属性

all(iterable)所有元素可迭代则为真
any(iterable)有一个元素可迭代则为真
iter(object[,sentinel])返回一个可迭代对象
zip(*iterables)返回一个新的可迭代对象(其实是个zip类,需要用list打印出来),他的每个元素也是之前的每个可迭代对象对应位置的元素(所以原来的多个可迭代对象的长度需要相同,否则返回空列表。)
map(function,iterable,...)应用函数到可迭代者的每个item上,并返回新的可迭代者.
reversed(seq)

返回一个迭代器,seq必须有__reversed__()方法或者支持序列协议.

序列协议就是含有以0作为起始值参数的__len__()方法和__getitem__()方法.

filter(function,iterable)

如果function返回为true,则从iterable的元素里构建一个iterable。

iterable可以是序列,可迭代容器,或迭代器。

如果function为None,则保留所有为真的元素。

filter(function,iterable) <-> (item for item in iterable if function(item))

filter(None,iterable)     <-> (item for item in iterable if item)

父子类

issubclass(class,classinfo)如果是一个子类则为真.
super([type[,object-or-type]]) 返回代理对象,常用于访问父类方法。

装饰器

@classmethod装饰成类方法
@staticmethod装饰成静态方法.
@property 

执行

exec(object[,globals[,locals]])本方法支持动态执行代码。输入为字符串对象或者代码对象.可与locals()和globals()配合使用.
compile(source,filename,mode,flags=0, dont_inherit=False, optimize=-1)

编译成代码对象或者抽象语法树(AST)对象。

source可以是普通字符串,字节字符串,或者AST对象。

eval(expression,globals=None,locals=None)

执行一个字符串表达式,并返回表达式的值.

expression参数为字符串。如果设置了globals,不许是字典。如果有locals,可以是任何映射对象。

expression通常是条件列表。字典globals和locals通常是global和local命名空间。

切片

class slice(stop)
class slice(start, stop[, step])
返回一个切片后的对象

排序

sorted(iterable, *, key=None, reverse=False)返回一个排序后的列表,元素来自于iterable.

其他

breakpoint(*args, **kws)调试函数
dir([object])

空参会返回一个局部scope名称的列表,scope类似于shell里set的输出内容。

若指定对象作为参数,则尝试返回一个该对象的有效属性组成的列表。

help([object]) 
class object基础类,返回一个新类.
memoryview(obj)返回一个'memory view'对象.
locals()返回一个标识当前本地符号表的字典,如import之后的模块路径就存贮在此.
globals()返回一个标识当前全局符号表的字典
__import__(name, globals=None, locals=None, fromlist=(), level=0)高级函数,日常开发用不上。

注,

上面官方文档介绍的上面69个函数,对应于cmd提示符下的help(__builtins__)输出的帮助文档中的26个非异常类的使用和43个普通函数的使用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值