博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之路【第十四篇】:Python的内置函数
阅读量:6929 次
发布时间:2019-06-27

本文共 2804 字,大约阅读时间需要 9 分钟。

Python中自带了一些内置函数,如下图所示

 详细说明可以戳

本篇中并不是一一介绍所有的内置函数,有一些内置函数会在以后的学习中慢慢接触到

abs():求绝对值函数

print(abs(-12345))

all():用于判断可迭代对象是否每个参数都为真,都为真返回True,否则返回False

print(all([1,2,3,4,5]))print(all(['',123]))print(all([]))

返回结果分别为:True  False  True

any():只要可迭代对象任意参数为真,返回True

bool():将参数转换为True或者False,对于数字来说,除了0都为真,None也是False,空字符串、列表、元组等也为False

print(bool(''))print(bool([]))print(bool(()))print(bool('1'))print(bool(['',]))print(bool(('',)))

分别输出False,False,False,True,True,True

ascii(对象):只要执行,就会去对象的类中找__repr__这个函数,获取其返回值,很少用这个函数,如:

def f():    def __repr__(self):        return 'hello'obj = f()r = ascii(obj)print(r)

bin()二进制,将十进制转换为二进制,如:10--->0b1010

oct()八进制,将十进制转化为八进制,如:10--->0o12

int()十进制,将二进制,八进制或者十六进制转化为十进制,如:int(‘0b1010’,2)--->10或者这样写:int('1010',2)

hex()十六进制,将十进制转化为十六进制,如:10--->0xa

bytes():将字符串转化为相应的字节,返回一个可迭代的字节的集合,如:bytes('hello',encoding='utf-8'),将hello转化为对应的utf-8编码集合

bytearray():字节数组

chr(数字):接受一个数字,返回其对应的ascii字符,如print(chr(97))--->a

ord(字符):接受一个字符,返回其对应的ascii码值,如print(ord('a'))--->97

#随机验证码的小程序import randomtemp = ''for i in range(6):    num = random.randrange(0,4)    if num == 3 or num == 1:        rad2 = random.randrange(0,10)        temp = temp + str(rad2)    else:        rad1 = random.randrange(65,91)        c1 = chr(rad1)        temp = temp + c1print(temp)

callable()判断一个对象是否可执行,一般后面有括号就是可执行的,否则就是不可执行的,可执行返回True

compile()接受一个字符串,把字符串编译成python可执行的代码,我们一般用不到,但是要知道,写完python文件,执行的时候,作为一个文件读进内存,是一个字符串,然后通过compile()编译成代码

complex()复数,一般用不到

dir()查看一个对象或类所提供的功能,详细的要用help()

divmod()特有用,返回商和余数的一个元组

eval()与exec(),通过eval()可以执行一个字符串形式的表达式,有返回值的,如eval('1+2'),eval('a+7',{'a':8})

exec()无返回值,把字符串当python代码执行exec('for i in range(10):print(i)')

filter(函数,可迭代对象),循环可迭代的对象,获取每一个参数,函数(参数),返回一个列表,如果函数返回true,就添加到返回值列表中,如:

def f1(x):    if x > 22:        return True    else:        return Falseret = filter(f1, [11, 22, 33, 44])for i in ret:    print(i)

输出结果为[33,44],写成lambda表达式形式:

ret = filter(lambda x:x > 22, [11, 22, 33, 44])for i in ret:    print(i)

返回的ret像range()一样,只有在循环迭代的时候才会输出,直接输出会输出一个filter对象

map(函数,可迭代对象),如:

def f1(x):    return x+100ret = map(f1,[1,2,3,4,5])print(ret)for i in ret:    print(i)

lambda写法:

ret = map(lambda x:x+100,[1,2,3,4,5])print(ret)for i in ret:    print(i)

format():字符串格式化,暂不详述,会单独学习

frozenset():将set冻结,使其不能添加元素

globals():获取当前代码所有的全局变量

locals():获取当前代码所有的局部变量

hash():计算哈希值,在python中,哈希值一般用在字典key的保存上,做一个key的优化,因为有时候key会比较长,为了节省内存,同时又易于找到,就会计算一个哈希值

iter():迭代器,也会产生一个可迭代的对象,通过执行next,一个个取值:

obj = iter([1,2,3,4,5])print(obj)r1 = next(obj)print(r1)r2 = next(obj)print(r2)r3 = next(obj)print(r3)

分别取到了1,2,3

max():最大值
min():最小值
open()打开文件
pow()
round()四舍五入
sorted()排序
sum()求和
zip()
__import__():导入模块,比如;import random random.randrange 可以改成这样:r = __import__(random) r.randrange()

sorted():排序,默认从小到大排序,使用sorted排序数据需要是同一种类型,比如全是数字,全是字符串

 

转载于:https://www.cnblogs.com/ronghe/p/8365226.html

你可能感兴趣的文章
北邮iptv用WindowsMediaplayer打不开的解决的方法
查看>>
安卓开发笔记——关于文件断点续传
查看>>
XP系统取消开机硬件检查
查看>>
群发项目设计图
查看>>
Kickoff - 创造可扩展的,响应式的网站
查看>>
UWP?UWP! - Build 2015有些啥?(1)
查看>>
HighCharts 具体使用及API文档说明
查看>>
php中的$_GET怎样获取带有井号“#”的參数
查看>>
Js 冒泡事件阻止
查看>>
总结jQuery选择器
查看>>
Java的super调用案例: super.getClass()返回的是子类自己
查看>>
NYOJ 709(ZZULIOJ1481) 异 形 卵
查看>>
PHP编译支持mysqli
查看>>
使用DLL进行不同语言之间的调用(转)
查看>>
android:scaleType属性
查看>>
Statement和PreparedStatement的区别; 什么是SQL注入,怎么防止SQL注入? (转)
查看>>
UNABLE TO PURGE A RECORD(二)
查看>>
【转载】注释AFX_MSG_MAP,AFX_DATA,AFX_DATA_MAP , Afx_MSG等宏不能删除
查看>>
Spring Bean范围 示例
查看>>
What is a UINavigationTransitionView
查看>>