做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)
原文地址:https://www.cnblogs.com/lattesea/p/11445933.html