Python 3.5 系统内置函数

前言

python实现一些功能特别方便,一般用于快速生成程序的原型,后期可以使用更加适合的语言编写。跟紧时代的脚步,不断学习,以下是看官方文档中的内置函数介绍的学习记录。虽然不是很详细,先记住有哪些函数,等真正需要的可以再详细查询。
本想把一些常用的函数放到前面来,后来仔细一想,如果您是来查找使用方法,可以直接CTRL+F直接定位函数;学习的话还是全部了解下python内置的函数好些,这样更有提高!

python内置函数

abs(x): 返回x的绝对值。
**all(iterable) **: 如果iterable中的所有元素都是真(非空、非零)则返回true,否则返回false; 注意:如果iterable为空则返回True。
any(object):如果iterable中的所有元素都是真(非空、非零)则返回true,否则返回false, 注意:如果iterable为空则返回False。

all()any()的比较可以从其函数定义中看出 :

all()与any()的定义

ascii(object): 类似2.0版本的repr()函数,返回一个可打印的字符串对象,当遇到非ASCII码时,就会输出\x,\u或\U等字符串表示。

class bool([x]):返回一个bool值, bool类是int类的子类,使用了[] ,表示参数可以缺省,缺省则返回false。

**class bytearray([source[, encoding[, errors]]]) **: 返回一个新的bytes对象,该对象是一个可变的序列整数,其取值范围在0<= x < 256 。不同的source对应不同的操作
● 如果source是一个string,则必须提供encoding参数,bytearray()则将使用str.encode()将string转为byte。
● 如果这是一个整数,则会生成一个相同大小且初始化为null bytes的数组。
● 如果是一个符合缓冲区接口的对象,一个只读的buffer将会用户初始化bytes数组
● 如果是一个可迭代类型,且必须是在0<= x < 256的整数才能用于初始化该对象。

class bytes([source[, encoding[, errors]]]):返回一个新的 bytes 对象,该对象是一个不可变的序列整数,其取值范围在0<= x < 256 。bytesbytearray的不可变版本,它们有相同的不可变方法、相同下标和切片行为。

callable(object) :如果object是可调用(拥有__call()__函数)的则返回True,否则返回False。返回True该对象仍然可能调用失败,如果返回False则一定调用失败。 注:callable(object)在3.0版本被移除,但3.2版本增加回来了。

**chr(i) **:返回Unicode字符串,通常0 <= i <= 0x10ffff 。

classmethod(function) :一个将类作为隐式的第一个参数的类方法,就像一个可以接受实例的实例方法。

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

有了@classmethod可以直接使用C.f()、C().f()调用,否则只能使用C().f()调用。 注:C()相当于生成一个C的实例,直接使用C.f()没有生成实例,且和C++、java中的静态方法(对应在python中的是@staticmethod)有区别:@ckassmethod可以传入子类,而@staticmethod没有传入当前类,所有不能用于子类的调用。

classmethod使用方式

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1): 将sorce编译成为一个代码或AST(Abstract Syntax Trees)对象。生成的代码对象可以被exec()或eval()函数执行,
● source:--字符串、byte string、或一个AST对象。
● filename: 读取code的文件,如果没有为空则不读取。
● mode:指定编译的模式。exec:如一个序列语句;eval:一个单独的表达式;single:单一交互语句。
● flags、dont_inherit:控制一些影响编译源码的标志。
● optimize:指定编译器优化级别。

class complex([real[, imag]]):返回一个值为real+image*j的复数或将一个string或number转换为一个复数。

delattr(object, name):与setattr()函数相反,删除类的属性。

dir([object]):如果没有参数,返回当前局部范围内的所有名字(变量、方法、定义的类型列表);如果带参数,返回该对象有效属性的列表。

divmod(a, b):传入两个非复数的数字,返回一个整除的结果和一个求余的结果。

enumerate(iterable, start=0):返回一个枚举对象,iterable必须是一个支持迭代的对象,用于生成数据和数据生成的下标。看官网解释即可理解:

enumerate使用示例
enumerate定义

eval(expression, globals=None, locals=None):用于执行一个字符串表达式。expression是字符串,globals必须是一个字典,locals必须是一个map对象。globals和local表示全局和局部命名空间。如果globals是字典且缺少__builtins__,则globals将会在表达式解析前拷贝到全局变量中。

exec(object[, globals[, locals]]): 支持动态执行python代码,object必须是字符串或一个代码对象。如果object是一个字符串,则字符串会被解析为一组Python语句,不管是否在传递给exec()函数的上下文中,return和yield语句可能不会被作用函数的外部。globals、locals和eval中的类似。

filter(function, iterable):用于过滤可迭代的序列,只返回当function为真的刷选后的序列。

class float([x]):返回一个float数字,X可以使一个受罪或字符串,字符串中可以有正负号、换行符、科学计数法、Infinity。

format(value[, format_spec]):用于将值格式化。

class frozenset([iterable]):返回一个冻结的对象,冻结对象的元素是从可迭代中获取的,冻结对象不能再添加或删除任何元素。

globals():返回一个代表中当前全局符号表的字典。

hasattr(object, name): 测试该object是否有name属性,有返回true,否则返回false。

hash(object):返回一个该object的整数哈希值。

help([object]):python的帮助函数。

hex(x):将整数值x转换为小写的十六进制代码。

id(object):返回在生命周期中标识该object整数值,尽管两个对象可能会有相同的id值。

input([prompt]):获取输入;

input使用示例

class int(x, base=10):返回int值,x可以是整数或字符串,base标识进制:2,8,10,16。

isinstance(object, classinfo):判断object是否是classinfo类型,object可以是classinfo的子类也会返回true。

issubclass(class, classinfo):判断class是否是classinfo的子类。

len(s):返回s的长度。

class list([iterable]):将iterable转换为可变的list。

locals():更新和返回当前局部变量表的字典值。

map(function, iterable, ...)将iterable中的每个元素都使用function来进行操作。其实就是mapreduce中的map操作。

*max(iterable, [, key, default])
*max(arg1, arg2, args[, key]):返回参数中的最大值。

memoryview(obj):返回由obj创建的内存视图对象。

next(iterator[, default]):返回可迭代对象的下一个项目,同时调用next()方法实现。

class object:返回一个没有特征的新对象。

oct(x):将一个整数转换为8进制字符串。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None):打开文件并返回一个文件对象。
● file:相对路径或绝对路径的文件名。
● mode:打开文件的模式,可以是多个方式结合如:'w+b'等。

open函数的mode值列表

● buffering:: 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
● encodeing:用户对文件的读写的编码格式。
● errors :用户出来再编解码时出现错误是的处理方式,errors的取值有:

errors取值 含义
'strict' 如果存在编码错误,则引发ValueError异常。默认值“无”具有相同的效果
'ignore' 忽略错误,可能会导致数据丢失。
'replace' 使用替换笔记插入到格式不正确的数据中。
'surrogateescape' 将任何错误的字节使用Unicode私有使用区域中的代码点进行替换,范围是U + DC80到U + DCFF。当编写数据时使用代理错误程序时,这些私有代码点将被转回相同的字节,这对处理未知编码的文件非常有用。
'xmlcharrefreplace' 仅仅用于写入文件,编码不支持的字符将被替换成相应的xml字符。
'backslashreplace' 通过Python的反斜杠转义序列替换格式不正确的数据。
'namereplace' (仅在写入时支持)用\ N {...}转义序列替换不受支持的字符。
'replace' 使用替换笔记插入到格式不正确的数据中。

● closefd:如果closed为False并且提供了文件描述符而不是文件名,那么当文件被关闭时文件描述符将保持打开状态。如果给定文件名,则closed必须为True(默认值),否则将会引发错误。
● opener:通过传递一个可打开的opener来定义的opener。然后通过使用(file,flags)调用opener获取文件对象的底层文件描述符。opener必须返回一个打开的文件描述符(通过os.open作为opener结果的功能类似于传递无)。

ord(c):给定一个字符串,返回其ascii码代表的数字。和chr()函数相反。

pow(x, y[, z]):返回x的y次幂,如果给定z,则返回pow(x,y) % z ,pow(x,y)相当于幂操作符: x**y。

print(objects, sep=' ', end='\n', file=sys.stdout, flush=False)*:打印对象到文本流文件中,使用sep来分割,使用end来作为结尾。

class property(fget=None, fset=None, fdel=None, doc=None):可以使类更简单第对属性进行操作。将某个属性设置为property函数的返回值后,可以使用该属性调用设置的函数。看图大家就知道怎么用了:

property函数使用示例

如果没有设置property函数则不能直接对属性进行操作:

没有用property会导致直接对属性进行操作出错

range(stop)
range(start, stop[, step]):生成一个不可变的序列类型---list、tuple、range。 可用于生成list、tuple。 list(range(stop)、tupe(range(stop))。

repr(object):返回一个可打印表示的字符串。通常用于返回一个字符串使其能传递给eval()函数。

reversed(seq):返回一个反向迭代器。seq必须是一个拥有__reversed__()方法或支持序列协议(__len()__方法和拥有从0开始的__getitem__()方法)

round(number[, ndigits]):返回浮点数number四舍五入的值,其中ndigit

class set([iterable]):返回一个新的set对象,该对象的值是从iterable中选取的。

setattr(object, name, value):是getattr()函数的对应,为object设置属性name的值为value,其中name可以是已经存在的或一个新的值。例如:setattr(x, 'foobar', 123) 相当于 x.foobar = 123.

class slice(stop)
class slice(start, stop[, step]):返回一个切片对象,该切片对象可用于range、list、tuple。

slice使用示例

sorted(iterable[, key][, reverse]):对iterable进行排序,key是一个参数函数或lambda表达式从每个元素中提取出来的用于比较的值例如:key=lambda e: e[2],使用第三个元素进行排序,reverse=True表示反序。

staticmethod(function):返回一个静态方法,静态方法和C++、java中的静态方法类似。可以直接使用C.f(),普通方法只能通过C().f()来调用。

class str(object='')
class str(object=b'', encoding='utf-8', errors='strict'):返回对象object的字符串版本。

sum(iterable[, start]):从start开始从左到右依次累加,返回累加的结果。start默认值是0.

super([type[, object-or-type]]):在python中引入super()的目的是保证相同的基类只初始化一次,尤其在多重继承的时候,可以确保公共父类只执行依次。使用super(Class,self)实际上是调用了super类的初始化函数,产生一个super对象。super(Class, self).func的调用并不是用于调用当前类的父类的func函数;

tuple([iterable]):返回一个不可变的tuple对象,起元素值从iterable中选取。类似 list()。

class type(object):返回object的类型,相当于调用object.__class__。 当测试一个对象的类型时,推荐使用isinstance(),因为,isinstance()包含了检测子类。
class type(name, bases, dict):返回一个动态类型对象。name是类名,且成为了__name__属性的值,bases列命了其父类,且成为了__bases__属性的值,dict字典是类的命名空间且拷贝到了__dict__属性。 相当远创建了动态对象。

type创建类示例

vars([object]):返回object的__dict__属性。

zip(iterables)*:做一个迭代器来聚合每个迭代的元素。

zip使用示例

import(name, globals=None, locals=None, fromlist=(), level=0):用于从配置文件中动态第加载模块,且一般配置项通常为字符串类型,使用__import__加载能完成该任务。 __import__ 可以适用于延迟化模块的导入,先加载必须的一些函数,等程序动态运行到某个模块时再动态加载函数,提高用户体验。
● name (required): 被加载 module 的名称
● globals (optional): 包含全局变量的字典,该选项很少使用,采用默认值 global()
● locals (optional): 包含局部变量的字典,内部标准实现未用到该变量,采用默认值 local()
● fromlist (Optional): 被导入的 submodule 名称
● level (Optional): 导入路径选项,默认为 -1,表示同时支持 absolute import 和 relative import
事实上,import 本质上是调用 __import__ 加载 module 的,比如:
import调用```__import__```函数

总结

以上函数是python的内置函数,九风是根据python的官方文档学习后简单记录的,写的不详细或有误的地方恳请大家指出。
本文旨在熟悉有那些内置函数,具体使用时候如果还不了解有那些细节,可以使用内置函数help([object])或查阅官方文档来查看详细使用方式或者查看官方文档。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 1,229评论 0 0
  • 大多数编程语言都有自己的内置函数,Python也不例外,同样提供了丰富的内置函数,其中包括算术函数、字符串操作函数...
    简书冷雨阅读 907评论 0 0
  • python3常用内置函数: 1.abs()函数 abs函数是返回数字的绝对值 基本语法: abs(x) x...
    一只小釆鸟阅读 930评论 0 3
  • 自来自星星的你的之后,各种各样让的韩剧类型开始有进了我们的视野。韩剧也从一开始的狗血剧情~车祸~癌症~再到玛丽苏情...
    枋清浣阅读 1,179评论 0 0
  • 中午,办公室。 很多人都休息了,昨晚没有睡好,可是此时此刻,我闭上眼睛只会思绪更乱。 猛地睁开眼睛,看到了外...
    OnlyYouAndMe阅读 199评论 0 0