Python3内置函数(五)

classmethod()

classmethod修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

语法:classmethod

返回值:返回函数的类方法。

实例:


Python3内置函数(五)_第1张图片

输出结果为:

func2

1

foo

getattr()

getattr()函数用于返回一个对象属性值。

语法:getattr(object,name[,default])

参数:object -- 对象。

name -- 字符串,对象属性。

default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。

返回值:返回对象属性值。

实例:

Python3内置函数(五)_第2张图片

locals()

locals()函数会以字典类型返回当前位置的全部局部变量。

对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。

语法:locals()

返回值:返回字典类型的局部变量。

实例:

>>>defrunoob(arg):# 两个局部变量:arg、z

...z=1

...print(locals())

...

>>>runoob(4){'z':1,'arg':4}# 返回一个名字/值对的字典

>>>

repr()

repr() 函数将对象转化为供解释器读取的形式。

语法:repr(object)

参数:object -- 对象。

返回值:返回一个对象的 string 格式。

实例:

>>>s='RUNOOB'

>>>repr(s)

"'RUNOOB'"

>>>dict= {'runoob':'runoob.com','google':'google.com'};

>>>repr(dict)

"{'google': 'google.com', 'runoob': 'runoob.com'}"

>>>

zip()

zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

语法:zip([iterable,...])

参数说明:iterabl -- 一个或多个迭代器;

返回值:返回元组列表。

实例:

>>>a=[1,2,3]

>>>b=[4,5,6]

>>>c=[4,5,6,7,8]

>>>zipped=zip(a,b)            # 打包为元组的列表

[(1,4),(2,5),(3,6)]

>>>zip(a,c)                      # 元素个数与最短的列表一致

[(1,4),(2,5),(3,6)]

>>>zip(*zipped)           # 与 zip 相反,可理解为解压,返回二维矩阵式[(1,2,3),(4,5,6)]

compile()

compile() 函数将一个字符串编译为字节代码。

语法:compile(source,filename,mode[,flags[,dont_inherit]])

参数:

source -- 字符串或者AST(Abstract Syntax Trees)对象。。

filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

mode -- 指定编译代码的种类。可以指定为 exec, eval, single。

flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。

flags和dont_inherit是用来控制编译源码时的标志

返回值:返回表达式执行结果。

实例:

>>>str="for i in range(0,10): print(i)"

>>>c=compile(str,'','exec')# 编译为字节代码对象

>>>c

at 0x10141e0b0, file "" ,line 1>

>>>exec(c)

0123456789

>>>str="3 * 4 + 5"

>>>a=compile(str,'','eval')

>>>eval(a)

17

globals()

globals()函数会以字典类型返回当前位置的全部全局变量。

语法:globals()

返回值:返回全局变量的字典。

实例:

map()

map()会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法:map(function,iterable,...)

参数:

function -- 函数,有两个参数

iterable -- 一个或多个序列

返回值:返回列表。

实例:

Python3内置函数(五)_第3张图片

__import__()

__import__()函数用于动态加载类和函数 。

如果一个模块经常变化就可以使用 __import__() 来动态载入。

语法:__import__(name[,globals[,locals[,fromlist[,level]]]])

参数说明:name -- 模块名

返回值:返回元组列表。

实例:

a.py 文件代码:

#!/usr/bin/env python

#encoding: utf-8

import os

print('在 a.py 文件中 %s'%id(os))

test.py 文件代码:

#!/usr/bin/env python

#encoding: utf-8

import sys

__import__('a')              # 导入 a.py 模块

执行 test.py 文件,输出结果为:

在a.py文件中4394716136

reversed()

reversed 函数返回一个反转的迭代器。

语法:reversed(seq)

参数:seq -- 要转换的序列,可以是 tuple, string, list 或 range。

返回值:返回一个反转的迭代器。

实例:

Python3内置函数(五)_第4张图片

complex()

complex()函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。

语法:class complex([real[, imag]])

参数说明:real -- int, long, float或字符串;

imag -- int, long, float;

返回值:返回一个复数。

实例:

Python3内置函数(五)_第5张图片

hasattr()

hasattr()函数用于判断对象是否包含对应的属性。

语法:hasattr(object, name)

参数:object -- 对象。

name -- 字符串,属性名。

返回值:如果对象有该属性返回 True,否则返回 False。

实例:

Python3内置函数(五)_第6张图片

max()

max() 方法返回给定参数的最大值,参数可以为序列。

语法:max(x,y,z,....)

参数:x -- 数值表达式。y -- 数值表达式。z -- 数值表达式。

返回值:返回给定参数的最大值。

实例:

#!/usr/bin/python3

print("max(80, 100, 1000) : ",max(80,100,1000))

print("max(-20, 100, 400) : ",max(-20,100,400))

print("max(-80, -20, -10) : ",max(-80,-20,-10))

print("max(0, 100, -400) : ",max(0,100,-400))

以上实例运行后输出结果为:

max(80,100,1000):1000

max(-20,100,400):400

max(-80,-20,-10):-10

max(0,100,-400):100

round()

round()方法返回浮点数x的四舍五入值。

语法:round(x[,n])

参数:x -- 数值表达式。n -- 数值表达式。

返回值:返回浮点数x的四舍五入值。

实例:

#!/usr/bin/python3

print("round(70.23456) : ",round(70.23456))

print("round(56.659,1) : ",round(56.659,1))

print("round(80.264, 2) : ",round(80.264,2))

print("round(100.000056, 3) : ",round(100.000056,3))

print("round(-100.000056, 3) : ",round(-100.000056,3))

以上实例运行后输出结果为:

round(70.23456):70

round(56.659,1):56.7

round(80.264,2):80.26

round(100.000056,3):100.0

round(-100.000056,3):-100.0

delattr()

delattr函数用于删除属性。

delattr(x, 'foobar')相等于del x.foobar。

语法:delattr(object,name)

参数:object -- 对象。name -- 必须是对象的属性。

实例:

Python3内置函数(五)_第7张图片

输出结果:

Python3内置函数(五)_第8张图片

hash()

hash()用于获取取一个对象(字符串或者数值等)的哈希值。

语法:hash(object)

参数说明:object -- 对象;

返回值:返回对象的哈希值。

实例:

>>>hash('test')                       # 字符串

2314058222102390712

>>>hash(1)                             # 数字1

>>>hash(str([1,2,3]))               # 集合

1335416675971793195

>>>hash(str(sorted({'1':1})))    # 字典

7666464346782421378

>>>

memoryview()

memoryview()函数返回给定参数的内存查看对象(Momory view)。

所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。

 语法:memoryview(obj)

参数说明:obj -- 对象

返回值:返回元组列表。

实例:

>>>v=memoryview('abcefg')

>>>v[1]

'b'

>>>v[-1]

'g'

>>>v[1:4]

>>>v[1:4].tobytes()

'bce'

set()

set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

语法:class set([iterable])

参数说明:iterable -- 可迭代对象对象;

返回值:返回新的集合对象。

实例:

>>>x=set('runoob')

>>>y=set('google')

>>>x,y

(set(['b','r','u','o','n']),set(['e','o','g','l']))# 重复的被删除

>>>x&y                 # 交集

set(['o'])

>>>x|y                    # 并集

set(['b','e','g','l','o','n','r','u'])

>>>x-y                       # 差集

set(['r','b','u','n'])

>>>

你可能感兴趣的:(Python3内置函数(五))