2. 内建函数¶
2.1. 常用内置函数¶
2.1.1. abs(x)¶
功能:就绝对值
样例:
In [1]: abs(-1)
Out[1]: 1
2.1.2. all(iterable)¶
功能:返回true,如果所有元素都是true。
样例:
In [2]: a=[1,2,3,4]
In [3]: a
Out[3]: [1, 2, 3, 4]
In [4]: all(a)
Out[4]: True
In [5]: a.append(None)
In [6]: a
Out[6]: [1, 2, 3, 4, None]
In [7]: all(a)
Out[7]: False
2.1.3. any(iterable)¶
功能:返回true,只要任何一个元素为true。
样例:
In [8]: a=[a,None,""]
In [9]: any(a)
Out[9]: True
In [10]: a=[None,""]
In [11]: any(a)
Out[11]: False
2.1.4. bool(x)¶
功能:返回值是不是true
样例:
In [15]: bool(a)
Out[15]: False
In [16]: a=[""]
In [17]: bool(a)
Out[17]: True
2.1.5. callable(object)¶
功能:判断对象是不是可调用
样例:
In [21]: callable("a".upper)
Out[21]: True
2.1.6. chr(i)¶
功能:数值转ascii
样例:
In [26]: chr(97)
Out[26]: 'a'
In [27]: chr(98)
Out[27]: 'b'
与这个函数相对的就是ord了,从字符转数值。
2.1.7. classmethod¶
功能: 转化方法成类方法
样例:
class C:
@classmethod
def f(cls,arg1,arg2):
pass
# 调用方式
C.f()
C().f()
2.1.8. delattr(object,name)¶
功能:删除对象的属性
样例:
In [30]: class People:
...: pass
...:
In [31]: p=People()
In [32]: p.name="zhaojiedi"
In [33]: p.age="20"
In [34]: p.age
Out[34]: '20'
In [35]: delattr(p,"age")
In [35]: p.age
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-40-ebe3f80b9437> in <module>()
----> 1 p.age
AttributeError: 'People' object has no attribute 'age'
删除了属性后再去访问这个属性,就会触发属性错误异常。
2.1.9. dict(**kwarg)¶
功能:转化为一个字典
样例:
In [42]: p =dict (name="zhaojiedi",age=26)
In [43]: p
Out[43]: {'age': 26, 'name': 'zhaojiedi'}
2.1.10. dir(x)¶
功能:如果没有参数,返回本地作用域的名称列表,如果有参数,返回有效属性列表
样例:
In [46]: dir(string)
Out[46]:
['Formatter',
'Template',
'_ChainMap',
'_TemplateMetaclass',
'__all__',
'__builtins__',
'__cached__',
'__doc__',
'__file__',
'__loader__',
'__name__',
'__package__',
'__spec__',
'_re',
'_string',
'ascii_letters',
'ascii_lowercase',
'ascii_uppercase',
'capwords',
'digits',
'hexdigits',
'octdigits',
'printable',
'punctuation',
'whitespace']
2.1.11. enumerate(iterable, start=0)¶
功能:返回一个枚举对象
样例:
In [49]: seasons=['spring','summer','fall','winter']
In [50]: list(seasons)
Out[50]: ['spring', 'summer', 'fall', 'winter']
In [51]: list(enumerate(seasons))
Out[51]: [(0, 'spring'), (1, 'summer'), (2, 'fall'), (3, 'winter')]
In [52]: list(enumerate(seasons,start=2))
Out[52]: [(2, 'spring'), (3, 'summer'), (4, 'fall'), (5, 'winter')]
2.1.12. eval(expression, globals=None, locals=None)¶
功能:用于计算表达式
样例:
In [53]: x=1
In [54]: eval('x+1')
Out[54]: 2
2.1.13. float(x)¶
功能:
样例:
In [57]: float('-00.1')
Out[57]: -0.1
In [58]: float('1e6')
Out[58]: 1000000.0
2.1.14. getattr(object, name[, default])¶
功能:读取属性值
样例:
In [59]: class p2:
...: pass
...:
In [60]: p=p2()
In [61]: p.name="zhaojiedi"
In [62]: getattr(p,"name")
Out[62]: 'zhaojiedi'
In [63]: getattr(p,"age",26)
Out[63]: 26
不提供默认值去访问一个不存在的属性,会抛出属性错误的。
2.1.15. hasattr(object, name)¶
功能:判断是否有特定属性
样例:
In [65]: p=p2()
In [66]: hasattr(p,"name")
Out[66]: False
In [67]: p.name="zhaojiedi"
In [68]: hasattr(p,"name")
Out[68]: True
2.1.16. hex(x)¶
功能:转化一个整数为16进制
样例:
In [69]: hex(11)
Out[69]: '0xb'
In [70]: hex(10)
Out[70]: '0xa'
In [71]: hex(9)
Out[71]: '0x9'
这是转16进制的,当然还有oct转8进制的。
2.1.17. input(prompt)¶
功能:接受输入参数,将输入赋值给变量
样例:
In [73]: s=input("please input a string:")
please input a string:zhaojiedi
In [74]: s
Out[74]: 'zhaojiedi'
2.1.18. isinstance(object,classinfo)¶
功能:判断对象是不是特定类
样例:
In [79]: isinstance("a",str)
Out[79]: True
In [80]: isinstance("a",list)
Out[80]: False
In [82]: isinstance("a",(list,str))
Out[82]: True
2.1.19. issubclass(class, classinfo)¶
功能:是否是子类的
样例:
In [90]: class p5():
...: pass
...:
In [91]: class p6(p5):
...: pass
...:
In [92]: issubclass(p6,p5)
Out[92]: True
2.1.20. iter(object[, sentinel])¶
功能:返回一个迭代对象
样例:
In [96]: with open('test.txt') as fp:
...: for line in iter(fp.readline,''):
...: print(line)
2.1.21. len(x)¶
功能:获取长度
样例:
In [97]: len("abc")
Out[97]: 3
In [98]: len([1,2,3,4])
Out[98]: 4
2.1.22. open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)¶
功能:打开文件
模式
字符 |
描述 |
---|---|
r |
读取,这是默认值 |
w |
写文件 |
x |
打开去执行创建 |
a |
追加 |
b |
二进制模式 |
t |
文本模式,默认值 |
+ |
读写模式 |
样例:
In [101]: with open('a.txt','w') as f:
...: f.write("this is a test")
2.1.23. powpow(x, y[, z])¶
功能: 字符计算的,如果有z值指定,就是x的y次方对z求余数。
样例:
In [102]: pow(2,3)
Out[102]: 8
In [103]: pow(3,2)
Out[103]: 9
In [104]: pow(3,2,5)
Out[104]: 4
2.1.24. range(start,stop,step)¶
功能:生成一组连续的数值
样例:
In [106]: list(range(3))
Out[106]: [0, 1, 2]
In [107]: list(range(2,4))
Out[107]: [2, 3]
In [108]: list(range(2,10,3))
Out[108]: [2, 5, 8]
2.1.25. repr(object)¶
功能:得到对象的打印信息
样例:
In [113]: class p8():
...: def __repr__(self):
...: return " this is a test"
...:
In [114]: p=p8()
In [115]: p
Out[115]: this is a test
In [116]: repr(p)
Out[116]: ' this is a test'
2.1.26. reversed(seq)¶
功能:反转一个对象
样例:
In [117]: a=[1,2,3]
In [118]: reversed(a)
Out[118]: <list_reverseiterator at 0x2480c111320>
In [119]: list(reversed(a))
Out[119]: [3, 2, 1]
2.1.27. round(number[, ndigits])¶
功能:四舍五入功能
样例:
In [121]: round(101,-1)
Out[121]: 100
In [122]: round(101.667,2)
Out[122]: 101.67
In [123]: round(101.667,1)
Out[123]: 101.7
2.1.28. setattr(object,name,value)¶
功能:用于设置对象的特定属性为value值。
样例:
In [125]: p=p9()
In [126]: p
Out[126]: <__main__.p9 at 0x2480c1c40f0>
In [127]: p.name
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-127-1c57ed665d7c> in <module>()
----> 1 p.name
AttributeError: 'p9' object has no attribute 'name'
In [128]: setattr(p,"name","zhaojiedi")
In [129]: p.name
Out[129]: 'zhaojiedi'
2.1.29. class slice(start, stop[, step])¶
功能:分片功能,用于提取迭代对象的一部分
样例:
In [130]: a=[1,2,3,4]
In [131]: slice(a,1)
Out[131]: slice([1, 2, 3, 4], 1, None)
In [132]: a[1]
Out[132]: 2
In [133]: a[1:]
Out[133]: [2, 3, 4]
In [134]: a[1:2]
Out[134]: [2]
2.1.30. sorted(iterable, *, key=None, reverse=False)¶
功能: 排序功能
样例:
In [137]: a=["aAbc","bC","Bc"]
In [138]: sorted(a,key=str.upper)
Out[138]: ['aAbc', 'bC', 'Bc']
2.1.31. @staticmethod¶
功能:转化一个方法为静态方法
样例:
class C:
@staticmethod
def f(arg1,arg2):
pass
2.1.32. sum(iterable[, start])¶
功能:求和
样例:
In [139]: a=[1,2,3,4]
In [140]: sum(a)
Out[140]: 10
In [141]: sum(a,1)
Out[141]: 11
In [142]: sum(a,100)
Out[142]: 110
2.1.33. super([type[, object-or-type]])¶
功能:返回一个将方法调用委托给父类或兄弟类的代理对象。 这对访问在类中被覆盖的继承方法很有用
样例:
class C(B):
def method(self, arg):
super().method(arg)
2.1.34. tuple(iterable)¶
功能:转化为元组
样例:
In [143]: a=[1,2,3,4]
In [144]: tuple(a)
Out[144]: (1, 2, 3, 4)
2.1.35. type(object)¶
功能:获取对象的类型
样例:
In [145]: type("aaa")
Out[145]: str
In [146]: type([1,2,3])
Out[146]: list
2.1.36. zip(*iterables)¶
功能:获取对象的类型
样例:
In [148]: a=[1,2,3,4]
In [149]: b=["a","b","c","d"]
In [150]: c=zip(a,b)
In [151]: list(c)
Out[151]: [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]