一、常用内置函数

  • abs(x) 返回绝对值,参数为int float,非字符只能num

  • all(iterable) 如果迭代对象里面的所有值都为真就返回True。all([1, 2, -7]) ---->True all(1, 0, 3]) ----->False

  • any(iterable) 和上相反有一个为真就返回 True

  • bin(digital) 把十进制数转为2进制 bin(1)-->'0b1' bin(4)-->'0b00' bin(255) --> '0b11111111'

  • a= byte('abcde', encoding='utf-8')

>>> a = bytes('abcde', encoding='utf-8')
>>> print(a.capitalize(), '-------', a)
b'Abcde' ------- b'abcde' #可以看到字符串a作为不可变类型,是无法改变的
  • bytearray('abcde', encoding= "utf-8") 返回字符串每个字符ASCII值组成的一个列表,用处:作者本人在写登录程序时,用户名非法字符用过,将用户名bytearry()然后循环对比如果有ASCII值在32-47之间,当中就含有非法字符。返回False
>>> b_list = bytearray('abcde', encoding="utf-8")
>>> for item in b_list:
... print(item)
97
98
99
100
101
>>> b_list[1] = 55
>>> b_list
bytearray(b'a7cde') #可以看到,当我们把列表中的第1个元素ASCII值修改为55后字符串改变了
  • callable(v) 判断是否可调用,是返回True。这个还算好用,比如我们自己写装饰器时,判断下传过来是否是可调用的函数,如果不是那就不操作callable([1])-->False

  • chr(数字)把数字对应的ASCII表中的代表返回 chr(97)-->'a' chr(87)-->'W'

  • ord(字母) 把字符对应的ASCII值返回,只能一个字母,bytearray返回字符串的ASCII成迭代器(可理解为列表)

  • compile() 底层用来把字符串文件编译成可执行文件的函数。第一个参数字符串,第二个不用管,第三个可以为'exec','eval'

>>> code = "for i in range(3):    print(i)"
>>> c = compile(code, ' ', 'exec')
>>> exec(c)
0
1
2
  • eval(字符串) exec() 参数为可执行字符串,返回执行结果,同compile,eval只能执行一行简单的代码,而exec只要格式正确都行
>>> eval('1 + 2 + 6')
9
>>> code = '''def fun(a):\n print(a)\nfun("luxi")'''
>>> exec(code) #exec格式正确正常使用
luxi
>>> eval(code) #eval 作者也不知道,反正同一串代码,exec能执行,eval不行,eval在执行一行简单代码上没问题
File "<string>", line 1
def fun(a):
^
SyntaxError: invalid syntax
  • dir(dict) 查看变量,函数类所拥有的方法

    [...'__hash__', '__init__', '__iter__',...'get', 'items', 'keys', 'pop'..'update', 'values']

  • divmod(5, 2) 返回商和余数 --->(2, 1)

  • filter(function, iterable) 按照function的规则过滤出来想要的结果

    for i in filter(lambda x:x>5, [2, 3, 5, 7, 9]): print(i)----->7\n9 filter会得到一个filter的迭代对象

  • globals() 返回程序命名空间中的所有key-value

  • locals() 返回函数的局部作用域(命名空间)的所有key-value

    以上两个关于函数作用域问题在以下文章有写

    [https://www.cnblogs.com/shiqi17/p/9331002.html]

最新文章

  1. html5 Application Cache 机制以及使用
  2. 如何在maven工程中加载oracle驱动
  3. XX管理系统案例
  4. java:jdk环境变量配置+tomcat环境变量配置
  5. JavaScript 代码片段
  6. DBus通讯
  7. setTimeout(fn, 0)引发的JavaScipt线程的思考
  8. make file 详
  9. 《Struts2技术内幕》学习笔记
  10. codeforces 598A Tricky Sum
  11. C# 多线程学习总结
  12. 伪 alter 弹窗 +弹窗统一
  13. Css清除浮动最优方式之一
  14. React入门---基础知识-大纲-1
  15. ie6下固定位置的实现
  16. 1.8分布式集群模式基础(VM安装多台服务器)
  17. MS SQL自定义函数IsPositiveInteger
  18. 数据泵expdp 在rac环境下 paralle 的处理方法
  19. 【BZOJ4025】 二分图(线段树分治)
  20. maven docker 插件集成的几个小坑

热门文章

  1. Windows安装PostgreSQL11.1
  2. 【BZOJ3622】已经没有什么好害怕的了
  3. POJ 2828 Buy Tickets(单点更新) 详细题解和思路
  4. Burp - Attack type
  5. 让sublime text3支持Vue语法高亮显示
  6. luogu-1563玩具谜题
  7. 这款 WordPress商用插件 0day 漏洞满满,且已遭利用
  8. Vue2 第二天学习
  9. cisco ospf
  10. AI Factorization Machine(FM)算法