14、python --函数(三)

内建函数

1.eval () 函数
eval() 函数用来执行一个字符串表达式,并返回表达式的值。

eval() 方法的语法:
eval(expression[, globals[, locals]])

expression – 表达式。
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

x = 7
eval( ‘3 * x’ )
21
eval(‘pow(2,2)’)
4
eval(‘2 + 2’)
4
n=81
eval(“n + 4”)
85

2.exec () 函数
python exec()函数能执行储存在字符串或文件中的 Python 语句,相比于 eval()函数,exec可以执行更复杂的 Python 代码。

exec (‘print(“你好,深圳!”)’) # 单行语句字符串
exec ("""
def sum(a,b):
return a+b
print(“a+b=%s”%sum(10,20))
“”")
#输出结果

你好,深圳!
a+b=30

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

str = “for i in range(0,10): print(i)”
c = compile(str,’’,‘exec’) # 编译为字节代码对象
c
<code object at 0x10141e0b0, file “”, line 1>>> exec©
0
1
2
3
4
5
6
7
8
9

str = “3 * 4 + 5”
a = compile(str,’’,‘eval’)
eval(a)
17

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

max( x, y, z, … )
x – 数值表达式。
y – 数值表达式。
z – 数值表达式。

def square(x) : # 计算平方数
… return x ** 2

map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
[1, 4, 9, 16, 25]

map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

5.filter () 函数
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]

过滤出1~100中平方根是整数的数:

import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0

newlist = filter(is_sqr, range(1, 101))
print(newlist)

#输出结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

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

a = [1,2,3]

b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 返回一个对象
zipped
<zip object at 0x103abc288>
list(zipped) # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]
list(zip(a,c)) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
a1, a2 = zip(zip(a,b)) # 与 zip 相反,zip() 可理解为解压,返回二维矩阵式
list(a1)
[1, 2, 3]
list(a2)
[4, 5, 6]

7. abs () 函数
abs() 函数返回数字的绝对值。

print "abs(-45) : ", abs(-45)
print "abs(100.12) : ", abs(100.12)
print "abs(119L) : ", abs(119L)
输出结果
abs(-45) : 45
abs(100.12) : 100.12
abs(119L) : 119

8. bool () 函数
bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。

bool 是 int 的子类
返回 Ture 或 False。

bool()
False
bool(0)
False
bool(1)
True
bool(2)
True
issubclass(bool, int) # bool 是 int 子类
True

9. dir() 函数
dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表
.
如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

10.float() 函数
float() 函数用于将整数和字符串转换成浮点数。

返回值
返回浮点数

float(1)
1.0
float(112)
112.0
float(-123.6)
-123.6
float(‘123’) # 字符串
123.0

11.sum() 函数

sum() 方法对系列进行求和计算

sum([0,1,2])
3
sum((2, 3, 4), 1) # 元组计算总和后再加 1
10
sum([0,1,2,3,4], 2) # 列表计算总和后再加 2
12

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值