码迷,mamicode.com
首页 > 其他好文 > 详细

day17 内置函数

时间:2017-11-13 16:57:51      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:表达   动态   exe   判断   命名   class   mod   turn   命名参数   

1.把任意数值转化为字符串有两种方法。

(1)str()用于将数值转化为易于人读的形式。print(str("我是中国人"))>>>我是中国人

(2)repr()用于将数值转化为易于解释器读的形式输出的是字符串的官方标准。str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号。
print(repr("我是中国人"))>>>"我是中国人" 。Python中出现的任何中文,虽然我们在编辑器里看到的是中文,但是背地里全是一串编码。千万不要轻易信任print!print xx给你显示出来的,
其实并不是xx的真实面貌!
2.eval()将字符串str当成有效的表达式来求值并返回计算结果. 不建议用,因为有很大的安全隐患。具体百度。
l="5+8"
print(eval(l))

结果:

13

3.exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块。

exec("l=5+6") #注意这里不用赋值
print(l)
11

 

 

4.内建函数:

list(iterable)把可迭代对象转换成列表

 tuple(iterable)把可迭代对象转换成元组

str(obj)把对象转化为字符串(对象的字符串表示法)

5.数据集合:

过滤函数:filter(func or None, iterable): func的作用是判断条件如果是真的,返回True,如果是假的返回Flase, 如果选择的是None,则返回的是可迭代对象的迭代器。

例子:

def is_odd(x):return x%2==0     #这里返回值直接接判断条件和 你先if 再return True 是一样的
ret=filter(is_odd,[1,4,6,7,8,9,12,17]) #这里输入的是函数名而不是调用的函数不需要加括号。
print(list(ret))  #把迭代器转化为列表,千万别忘记了这步。

结果:

[4,6,8,12]

map()函数: map(func,iterable)→迭代器→ new iterable   , 和filter不同的是map中的func,接收的是一个计算式,然后它把iterable中的元素拿到计算式中进行计算,最后得到一个包含表达式结果的迭代器。

def is_(x):
    return x*x
ret=map(is_,[1,23,5,6,87,4])
print(list(ret))

结果:

[1, 529, 25, 36, 7569, 16]

 sorted()函数:sorted(iterable[, cmp[, key[, reverse]]])  把iterable中的items进行排序之后,返回一个新的列表,原来的iterable没有任何改变.ist 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

iterable:是可迭代类型;
key:传入一个函数名,函数的参数是可迭代类型中的每一项,根据函数的返回值大小排序;
reverse:排序规则. reverse = True  降序 或者 reverse = False 升序,有默认值。
返回值:有序列表

 列表按照其中每一个值的绝对值降序排序

l1 = [1,3,5,-2,-4,-6]
l2 = sorted(l1,key=abs,reverse = True)
print(l1)
print(l2)

结果:

[1, 3, 5, -2, -4, -6]
[-6, 5, -4, 3, -2, 1]

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

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

l1=[1,2,3]
l2=[4,5,8,3]
print(list(zip(l1,l2)))
print(*(zip(l1,l2)))

结果:

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

 6.数据函数:

divmod()函数: 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

print(divmod(3,2))

结果:

(1, 1)

min()函数:

min(iterable*[, keydefault])

min(arg1arg2*args[, key])

 函数功能为取传入的多个参数中的最小值,或者传入的可迭代对象元素中的最小值。默认数值型参数,取值小者;字符型参数,取字母表排序靠前者。还可以传入命名参数key,其为一个函数,用来指定取最小值的方法。default命名参数用来指定最小值不存在时返回的默认值。功能与max函数相反。

print(min(26,7,8,9))

结果

7

同类型之间可以进行比较

print(min([1,2],[1,3]))
[1, 2]

key参数的另外一个作用是,不同类型对象本来不能比较取最小值的,传入适当的key函数,变得可以比较能取最小值了。

print(min(1,2,‘3‘,key = int))

结果:

1

day17 内置函数

标签:表达   动态   exe   判断   命名   class   mod   turn   命名参数   

原文地址:http://www.cnblogs.com/QQ279366/p/7826465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
分享档案
周排行
mamicode.com排行更多图片
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!