首页 > 其他 > 详细

函数基础:内置函数

时间:2018-01-27 10:30:19      阅读:203      评论:0      收藏:0      [点我收藏+]

内置函数:

abs()  # 取绝对值

dict()   # 把一个数据转成字典

min()  # 取最小值

max() # 取最大值

bool() # 判断括号里面的是不是True。bool(0)和bool(False)是False,bool([ ]) #布尔一个空列表也是False。

all()   # 判断括号里面的iterables所有元素的bool()是不是True(如果这个iterables里面含有0,那all(iterables)肯定是False)。如果这个iterables是空的,all(iterables)也返回True。

any() # 判断括号里面的iterables的元素中,只要有一个元素的bool()是True, any(iterables)就返回True

dir() # 打印程序里面所有的变量

slice(开始,结束,步长)  #设置切片规则

divmod(x,y)  # 返回一个元祖,元祖的形式是(x//y ,x%y)

id()  # 判断内存地址

sorted(列表)= 列表.sort()  # 另外,sorted()还可以自定义一些排序的规则。(视频中的示例看的不是很明白)

enumerate() #枚举

bin()  # 转成2进制

 

eval() # 将字符串str当成有效的表达式来求值并返回计算结果(只能处理单行代码)。  可以参考链接: http://blog.csdn.net/SeeTheWorld518/article/details/47983511

exec() # 功能和eval()一样,他们的区别在: 1. exec()可以对多行代码有效;2. eval()有返回值,但exec()没有返回值。

如:

情况1:
a = 1+2+3
res1 = eval(a)  # eval()有返回值,前面可以把返回值赋给变量
print(res:,res1)
print(a)

# 输出结果:
# res: 6
# 1+2+3   #字符串的引号已经没了

情况2:
a = 1+2+3
res2 = exec(a)  # 没有返回值,
print(res:,res2)
print(a)

# 输出结果:
# res: None   # 由于exec()没有返回值,赋给了变量也只能输出None
# 1+2+3

 

ord()  # 返回在ASCII码中的位置  如:ord(‘a‘) 为97

chr() # 跟ord()正好相反  如: chr(97) 为‘a‘

 

int()  # 把其他类型数据转换成整数

str()  # 把其他类型数据转换成字符串

float()  #  转换成浮点型

sum()   #求和

bytearray( )  # 可以将字符串转换成字节数组(通过这种方式可以修改原字符串)。 其他用法用法可参考: https://www.cnblogs.com/sesshoumaru/p/5979159.html

如: (用处不多)

s = 中文
s1 = bytearray(s,utf-8)   #转换字符串的时候必须指明encoding,函数将字符串使用str.encode方法转换成字节数组
print(s1)

# 输出结果:
# bytearray(b‘\xe4\xb8\xad\xe6\x96\x87‘)

 

 

map(function,iterables)   #  将iterables中的每个元素进行前面的function

如: 

print(list(map(lambda x:x*x, [1,2,3,4,5])))  # map完后要把它list一下,要不然打印的是map的内存地址

# 输出结果:
# [1, 4, 9, 16, 25]

 

filter(function,iterables)    # 从iterables中过滤出能使前面函数为True的值。

如:

print(list(filter(lambda x:x>3, [1,2,3,4,5])))  # filter完之后要list一下

# 输出结果:
# [4, 5]

 

reduce() (2.7Python)

Python3中的reduce移到了functools里面, 用法: reduce(function, sequence, initial=None)   # --> value,

python3官方解释: Apply a function of two arguments cumulatively to the items of a sequence,from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the itemsof the sequence in the calculation, and serves as a default when the sequence is empty.

如:

import functools
print(functools.reduce(lambda x,y:x*y, [1,2,3,4]))

#输出结果:
#24

import functools
print(functools.reduce(lambda x,y:x*y, [1,2,3,4],10))

#输出结果:
#240

import functools
print(functools.reduce(lambda x,y:x*y, [ ],5))

#输出结果: 
# 5

 

pow(x,y)  # x的y次方

print(value,......,sep = ‘ 空格 ‘,end= ‘\n‘, file = None)  # print的括号里面默认有一个end=‘\n‘ (换行符),如果你不想print完之后换行,可以在end=‘x‘里面换成你想以什么结束打印的符号,什么都不写也可以 ;还默认有一个空格,这个空格里面的内容也可以修改(sep是separate的缩写)。

如:

print(hahaha,哈哈哈, sep=-->, end=|)

# 打印结果:
# hahaha-->哈哈哈|    

print也可以把内容直接打印在文件中。如:

 

msg = 又回到最初的起点,加油
f = open(print测试,w)
print(msg,记忆中你青涩的脸,sep=|,end=‘‘,file=f)  # 里面的内容都打印在了文件中

# print结果:
# msg和“记忆中你青涩的脸” 都写在了文件‘print测试’里面了。

 

 

tuple()  #变成元祖

callable()  #判断是否可调用   (列表、字符串等的结果是False,函数的输出结果是True。所以可以用这个判断一个变量是不是函数)

frozenset( )  #是一个集合不可修改

vars()  # 打印当前所有的变量名和其对应的值,dir()只能打印变量名

locals()  # 通常在函数内部运行,打印函数内部所有的局部变量

globals()  # 打印全局变量,不管globals()是在函数内还是函数外运行

zip(list1,list2)   # 可以使两个列表中的值一一对应起来放入一个小元祖内

round(数字,n)  # round是约等于(五舍六入),保留小数点后n位;

hash()  # 把要哈希的内容变成一个数字

set()  # 变成集合

 

函数基础:内置函数

原文:https://www.cnblogs.com/neozheng/p/8360572.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!