码迷,mamicode.com
首页 > 编程语言 > 详细

python内置函数简单归纳

时间:2019-09-24 08:05:57      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:hex   ring   reverse   不包含   倒序   ice   math   迭代   字符串   

做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)
012
>>> oct(20)
024
>>> oct(15)
017
>>>

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)

 

python内置函数简单归纳

标签:hex   ring   reverse   不包含   倒序   ice   math   迭代   字符串   

原文地址:https://www.cnblogs.com/lattesea/p/11445933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!