python学习 —— 内置函数(四):map,repr,xrange,cmp,globals,zip,compile,hasattr,memoryview,round

目录

1、map

2、repr

3、xrange

4、cmp

5、globals

6、zip

7、compile

8、hasattr

9、memoryview

10、round


1、map

语法:

map(function, iterable, ...)

function:函数;

iterable:一个或多个序列;

 

作用 / 返回值:

根据提供的函数对指定序列做映射;

以参数序列中的每一个元素调用function序列,返回包含每次function函数返回值的新列表(python3返回迭代器);

 

代码演示:

a = map(lambda x: x ** 2, [1, 2, 3, 4, 5])
for j in a:
    print(j, end=' ')

print()

b = map(lambda x, y: x + y, [1, 2, 3, 4, 5], [6, 7, 8, 9, 10])
for j in b:
    print(j, end=' ')


2、repr

语法:

repr(object)

object:对象;

 

作用 / 返回值:

将对象转化为供解释器读取的形式;

返回对象的string格式;

 

代码演示:

print(repr("zhangsan"))
print(repr('lisi'))
print(repr({"a": "aa", "b": "bb", "c": "cc"}))


3、xrange

语法:

xrange(start, stop[, step])

start:计数从start开始(默认从0开始);

stop:计数到stop结束,但不包括stop;

step:步长,默认为1;

 

作用 / 返回值:

python3中使用range即可;

 

代码演示:

for i in range(5):
    print(i)


4、cmp

语法:

python3中将使用以下函数代替cmp函数:

operator.lt(a, b)【a<b】

operator.le(a, b)【a<=b】

operator.eq(a, b)【a==b】

operator.ne(a, b)【a!=b】

operator.ge(a, b)【a>=b】

operator.gt(a, b)【a>b】

这些函数在模块operator中;

 

作用 / 返回值:

比较两个对象;

返回布尔值;

 

代码演示:

from operator import lt, le, eq, ne, ge, gt

print('1、', lt(1, 2))
print('2、', le(2, 2))
print('3、', eq('abc', 'abc'))
print('4、', ne('abc', 'acb'))
print('5、', ge('z', 'a'))
print('6、', gt(0, 0))


5、globals

语法:

globals()

 

作用 / 返回值:

以字典类型返回当前位置的全部全局变量;

 

代码演示:

a = 1
b = 2
print(globals())

返回值截取部分如下:


6、zip

语法:

zip([iterable, ...])

iterable:一个或多个迭代器;

 

作用 / 返回值:

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

若各个迭代器元素个数不一致,则返回的列表(对象)长度与最短的对象相同;

利用 * ,可以将元组解压为列表;

 

代码演示:

a_list = [1, 2, 3]
b_list = [4, 5, 6]
c_list = [7, 8, 9, 10]

print('1、', list(zip(a_list, b_list)))
print('2、', list(zip(a_list, c_list)))
print('3、', list(zip(*zip(a_list, b_list))))


7、compile

语法:

compile(source, filename, mode[, flags[, dont_inherit]])

source:字符串或AST(Abstract Syntax Trees)对象;

filename:代码文件名称,若不是从文件读取代码则传递一些可辨认的值;

mode:指定编译代码的种类(如:exec、eval、single);

flags:变量作用域,局部命名空间,若被提供,可以使任何映射对象;

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

 

作用 / 返回值:

将一个字符串编译成字节代码;

返回表达式执行结果;

 

代码演示:

str1 = 'for i in range(5):print(i)'
a1 = compile(str1, '', 'exec')
exec(a1)

print('-' * 50)

str2 = '1 + 2 * 3'
a2 = compile(str2, '', 'eval')
print(eval(a2))

 


8、hasattr

语法:

hasattr(object, name)

object:对象;

name:字符串,属性名;

 

作用 / 返回值:

用于判断对象是否包含对应属性(返回布尔值);

 

代码演示:

class A:
    x = 1
    y = 2
    z = 3

a = A()
print(hasattr(a, 'x'))
print(hasattr(a, 'y'))
print(hasattr(a, 'q'))

 


9、memoryview

语法:

memoryview(obj)

obj:对象;

 

作用 / 返回值:

返回给定参数的内存查看对象(元组列表);

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

 

代码演示:

a = memoryview(b'abcdefg')
print(a[1])   # 返回第二个字符的Unicode
print(a[2:5].tobytes())

 


10、round

 

语法:

round(x[, n])

x、n 均为数值表达式;

 

作用 / 返回值:

返回浮点数 x 的四舍五入值(保留n位小数);

 

代码演示:

print(round(10.02551651, 4))
print(round(-123.524216815, 6))
print(round(100.000056, 4))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值