做python小项目的时候发现熟练运用python内置函数,可以节省很多的时间,在这里整理一下,便于以后学习或者工作的时候查看.函数的参数可以在pycharm中ctrl+p查看。

1.abs(x):返回数字的绝对值

print ("abs(-40) : ", abs(-40))
print ("abs(100.10) : ", abs(100.10))
"""
结果:
abs(-40) : 40
abs(100.10) : 100.1
"""

2.dict():创建一个字典

>>>dict()                        # 创建空字典
{}
>>> dict(a='a', b='b', t='t') # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>>

3.min():返回给定参数的最小值,参数可以为序列

print ("min(80, 100, 1000) : ", min(80, 100, 1000))
print ("min(-20, 100, 400) : ", min(-20, 100, 400))
print ("min(-80, -20, -10) : ", min(-80, -20, -10))
print ("min(0, 100, -400) : ", min(0, 100, -400))
"""
结果:
min(80, 100, 1000) : 80
min(-20, 100, 400) : -20
min(-80, -20, -10) : -80
min(0, 100, -400) : -400
"""

4.setattr():对应函数getattr,用于设置属性值,该属性不一定存在

>>>class A(object):
... bar = 1
...
>>> a = A()
>>> getattr(a, 'bar') # 获取属性 bar 值
1
>>> setattr(a, 'bar', 5) # 设置属性 bar 值
>>> a.bar
5
#属性不存在的时候会创建一个新的对象属性,并对属性赋值
>>>class A():
... name = "runoob"
...
>>> a = A()
>>> setattr(a, "age", 28)
>>> print(a.age)
28
>>>

5.all(): 用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

元素除了是 0、空、None、False 外都算 True。

>>> all(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3]) # 列表list,存在一个为0的元素
False >>> all(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
False
>>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素
False >>> all([]) # 空列表
True
>>> all(()) # 空元组
True

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

>>>dir()   #  获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ]) # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>

7.hex():将一个指定数字转化为16进制数

>>>hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
>>> hex(12)
'0xc'
>>> type(hex(12))
<class 'str'> # 字符串

8.next():返回迭代器的下一个项目

# 首先获得Iterator对象:
it = iter([1, 2, 3, 4, 5])
# 循环:
while True:
try:
# 获得下一个值:
x = next(it)
print(x)
except StopIteration:
# 遇到StopIteration就退出循环
break

9.slice():实现切片对象,主要用在切片操作函数里的参数传递

>>>myslice = slice(5)    # 设置截取5个元素的切片
>>> myslice
slice(None, 5, None)
>>> arr = range(10)
>>> arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> arr[myslice] # 截取 5 个元素
[0, 1, 2, 3, 4]
>>>

10.any():

用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。

元素除了是 0、空、FALSE 外都算 TRUE。

>>>any(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True >>> any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
True >>> any([0, '', False]) # 列表list,元素全为0,'',false
False >>> any(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
True >>> any(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
True >>> any((0, '', False)) # 元组tuple,元素全为0,'',false
False >>> any([]) # 空列表
False >>> any(()) # 空元组
False

11.divmod():接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。

>>> divmod(7, 2)
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(8, -2)
(-4, 0)
>>> divmod(3, 1.3)
(2.0, 0.3999999999999999)

12.id():用于获取对象的内存地址

>>>a = 'runoob'
>>> id(a)
4531887632
>>> b = 1
>>> id(b)
140588731085608

13.sorted():对所有可迭代对象进行排序操作,sort只用于列表

>>>sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5] # 默认为升序 >>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
[1, 2, 3, 4, 5] #倒序
>>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
>>> result_list = sorted(example_list, key=lambda x: x*-1)
>>> print(result_list)
[7, 6, 5, 4, 3, 2, 1, 0]
>>> >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
>>> sorted(example_list, reverse=True)
[7, 6, 5, 4, 3, 2, 1, 0]

14.ascii():类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。

>>> ascii('runoob')
"'runoob'"

15.enumerate():用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>>list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>>list(enumerate(seasons, start=1)) # 小标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter') #for循环使用
>>>seq = ['one', 'two', 'three']
>>>for i, element in enumerate(seq):
... print(i, seq[i])
...
0 one
1 two
2 three
>>>

16.oct():将一个整数转化为8进制字符串

>>>oct(10)
''
>>> oct(20)
''
>>> oct(15)
''
>>>

17.bin():返回一个整数int或者长整数long int的二进制表示

>>>bin(10)
'0b1010'
>>> bin(20)
'0b10100'

18.eval():执行一个字符串表达式,并返回表达式的值

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

19.执行储存在字符串或文件中的python语句,相比eval,exec可以执行更复杂的python代码

实例1:
>>>exec('print("Hello World")')
Hello World
# 单行语句字符串
>>> exec("print ('runoob.com')")
runoob.com # 多行语句字符串
>>> exec ("""for i in range(5):
... print ("iter time: %d" % i)
... """)
iter time: 0
iter time: 1
iter time: 2
iter time: 3
iter time: 4 实例2:
x = 10
expr = """
z = 30
sum = x + y + z
print(sum)
"""
def func():
y = 20
exec(expr)
exec(expr, {'x': 1, 'y': 2})
exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4}) func()
#结果
60
33
34

20.isinstance():判断一个对象是否是一个已知的类型,考虑继承

>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True #type()和isinstance()的区别
class A:
pass class B(A):
pass isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False

21.ord():是chr()函数的配对函数,它以一个字符串(Unicode字符)作为参数,返回对应的ASCII数值,或者Unicode数值

>>>ord('a')
97
>>> ord('€')
8364
>>>

22.filter():用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

#过滤所有奇数
def is_odd(n):
return n % 2 == 1 tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist) #过滤1-100中平方根是整数的数
import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0 tmplist = filter(is_sqr, range(1, 101))
newlist = list(tmplist)
print(newlist)

最新文章

  1. 树上启发式合并 (dsu on tree)
  2. 基本排序算法——插入排序java实现
  3. PAT/查找元素习题集
  4. 请让页面中的一个元素(10px*10px)围绕坐标(200, 300) 做圆周运动
  5. [Tommas] UNION 和 UNION ALL 的区别
  6. Nginx配置中运行与启动的详细介绍【转】
  7. LightOj 1282 Leading and Trailing
  8. win7中的Uac与开机自动启动(好几种办法,特别是用不带UAC的程序启动UAC程序是一个简单的好办法,写驱动自启动更是了不得)
  9. [python笔记][第二章Python序列-list]
  10. 【Web探索之旅】第一部分:什么是Web?
  11. Dapper入门教程(三)——Dapper Query查询
  12. font-spider利器对webfont网页字体压缩使用
  13. [Postman]生成代码段(17)
  14. 辨析element.offsetXxxx和element.style.xxxx
  15. JavaScript学习第一天(一)
  16. 利用 ImageAI 在 COCO 上学习目标检测
  17. JFACE-SWT开发记录
  18. PHP利用二叉堆实现TopK-算法的方法详解
  19. oneThink的ArticleController控制,详看
  20. day04之VUE痛悟

热门文章

  1. TCP之11种状态变迁
  2. NetScaler VPX configration
  3. jmeter源代码开发环境构建
  4. koa 项目实战(五)全球公用头像的使用
  5. Shutdown 源码阅读
  6. javascript的历史和入门
  7. oracle 导入关键字说明
  8. JAVA记事本的图形用户界面应用程序含过滤
  9. iOS实现渐变颜色
  10. axios在Vue中的简单应用(一)