Python学习教程:Python内置函数大总结(下篇)

这里接着上次的Python学习教程,给大家总结了Python 剩下的33个内置函数。

31 hash()  

返回对象的哈希值

In [112]: hash(xiaoming)Out[112]: 6139638

32 help()  

返回对象的帮助文档

In [113]: help(xiaoming)Help on Student in module __main__ object:class Student(builtins.object) |  Methods defined here: | |  __init__(self, id, name) | |  __repr__(self) | |  ---------------------------------------------------------------------- |  Data descriptors defined here: | |  __dict__ |      dictionary for instance variables (if defined) | |  __weakref__ |      list of weak references to the object (if defined)

33 id()  

返回对象的内存地址

In [115]: id(xiaoming)Out[115]: 98234208

34 input()  

获取用户输入内容

In [116]: input()aaOut[116]: \'aa\'

35 int()  

int(x, base =10) , x可能为字符串或数值,将x 转换为一个普通整数。如果参数是字符串,那么它可能包含符号和小数点。如果超出了普通整数的表示范围,一个长整数被返回。

In [120]: int(\'12\',16)Out[120]: 18

36 isinstance(object, classinfo)

判断object是否为类classinfo的实例,是返回true

In [20]: class Student():    ...:     ...:     def __init__(self,id,name):    ...:     ...:         self.id = id    ...:     ...:         self.name = name    ...:     ...:     def __repr__(self):    ...:     ...:         return \'id = \'+self.id +\', name = \'+self.name    ...:In [21]: xiaoming = Student(\'001\',\'xiaoming\')In [22]: isinstance(xiaoming,Student)Out[22]: True

37 issubclass(class, classinfo)

如果class是classinfo类的子类,返回True:

In [27]: class undergraduate(Student):    ...:     def studyClass(self):    ...:         pass    ...:     def attendActivity(self):    ...:         pass    ...:In [28]: issubclass(undergraduate,Student)Out[28]: TrueIn [29]: issubclass(object,Student)Out[29]: FalseIn [30]: issubclass(Student,object)Out[30]: True

如果class是classinfo元组中某个元素的子类,也会返回True

In [26]: issubclass(int,(int,float))Out[26]: True

38 iter(object, sentinel)

返回一个可迭代对象, sentinel可省略

 

39 len(s)

返回对象的长度(元素个数)

In [83]: dic = {\'a\':1,\'b\':3}In [84]: len(dic)Out[84]: 2

40 list([iterable])

返回可变序列类型

In [85]: list(map(lambda x: x%2==1, [1,3,2,4,1]))Out[85]: [True, True, False, False, True]

41 map(function, iterable, …)

返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器:

In [85]: list(map(lambda x: x%2==1, [1,3,2,4,1]))Out[85]: [True, True, False, False, True]

可以传入多个iterable对象,输出长度等于最短序列的长度:

In [88]: list(map(lambda x,y: x%2==1 and y%2==0, [1,3,2,4,1],[3,2,1,2]))Out[88]: [False, True, False, False]

42 max(iterable,*[, key, default])

返回最大值:

In [99]: max(3,1,4,2,1)Out[99]: 4In [100]: max((),default=0)Out[100]: 0In [89]: di = {\'a\':3,\'b1\':1,\'c\':4}In [90]: max(di)Out[90]: \'c\'In [102]: a = [{\'name\':\'xiaoming\',\'age\':18,\'gender\':\'male\'},{\'name\':\'     ...: xiaohong\',\'age\':20,\'gender\':\'female\'}]In [104]: max(a,key=lambda x: x[\'age\'])Out[104]: {\'name\': \'xiaohong\', \'age\': 20, \'gender\': \'female\'}

43 min(iterable,*[, key, default])

返回最小值

44 memoryview(obj)

返回由给定实参创建的“内存视图”对象, Python 代码访问一个对象的内部数据,只要该对象支持 缓冲区协议 而无需进行拷贝

45 next(iterator,[, default])

返回可迭代对象的下一个元素

In [129]: it = iter([5,3,4,1])In [130]: next(it)Out[130]: 5In [131]: next(it)Out[131]: 3In [132]: next(it)Out[132]: 4In [133]: next(it)Out[133]: 1In [134]: next(it,0) #迭代到头,默认返回值为0Out[134]: 0In [135]: next(it)----------------------------------------------------------------------StopIteration                        Traceback (most recent call last)<ipython-input-135-bc1ab118995a> in <module>----> 1 next(it)StopIteration:

46 object()

返回一个没有特征的新对象。object 是所有类的基类。

In [137]: o = object()In [138]: type(o)Out[138]: object

47 open(file)

返回文件对象

In [146]: fo = open(\'D:/a.txt\',mode=\'r\', encoding=\'utf-8\')In [147]: fo.read()Out[147]: \'\\ufefflife is not so long,\nI use Python to play.\'

mode取值表:

Python学习教程:Python内置函数大总结(下篇)

48 pow(base, exp[, mod])

base为底的exp次幂,如果mod给出,取余

In [149]: pow(3, 2, 4)Out[149]: 1

49 print(objects)

打印对象,此函数不解释

50 class property(fget=None, fset=None, fdel=None, doc=None)

返回 property 属性,典型的用法:

class C:    def __init__(self):        self._x = None    def getx(self):        return self._x    def setx(self, value):        self._x = value    def delx(self):        del self._x    # 使用property类创建 property 属性    x = property(getx, setx, delx, "I\'m the \'x\' property.")

使用python装饰器,实现与上完全一样的效果代码:

class C:    def __init__(self):        self._x = None    @property    def x(self):        return self._x    @x.setter    def x(self, value):        self._x = value    @x.deleter    def x(self):        del self._x

51 range(stop)

range(start, stop[,step])

生成一个不可变序列:

In [153]: range(11)Out[153]: range(0, 11)In [154]: range(0,11,1)Out[154]: range(0, 11)

52 reversed(seq)

返回一个反向的 iterator:

In [155]: rev = reversed([1,4,2,3,1])In [156]: for i in rev:     ...:     print(i)     ...:13241

53 round(number[, ndigits])

四舍五入,ndigits代表小数点后保留几位:

In [157]: round(10.0222222, 3)Out[157]: 10.022

54 class set([iterable])

返回一个set对象,可实现去重:

In [159]: a = [1,4,2,3,1]In [160]: set(a)Out[160]: {1, 2, 3, 4}

55 class slice(stop)

 

返回一个表示由 range(start, stop, step) 所指定索引集的 slice对象

In [170]: a = [1,4,2,3,1]In [171]: a[slice(0,5,2)] #等价于a[0:5:2]Out[171]: [1, 2, 1]

56 sorted(iterable, *, key=None, reverse=False)

排序:

In [174]: a = [1,4,2,3,1]In [175]: sorted(a,reverse=True)Out[175]: [4, 3, 2, 1, 1]In [178]: a = [{\'name\':\'xiaoming\',\'age\':18,\'gender\':\'male\'},{\'name\':\'     ...: xiaohong\',\'age\':20,\'gender\':\'female\'}]In [180]: sorted(a,key=lambda x: x[\'age\'],reverse=False)Out[180]:[{\'name\': \'xiaoming\', \'age\': 18, \'gender\': \'male\'}, {\'name\': \'xiaohong\', \'age\': 20, \'gender\': \'female\'}]

57 @staticmethod

将方法转换为静态方法,不做解释

58 class str(object=\'\')

返回一个 str版本的 object,str 是内置字符串 class

59 sum(iterable, /, start=0)

求和:

In [181]: a = [1,4,2,3,1]In [182]: sum(a)Out[182]: 11In [185]: sum(a,10) #求和的初始值为10Out[185]: 21

60 super([type[, object-or-type]])

返回一个代理对象,它会将方法调用委托给 type 的父类或兄弟类

61 tuple([iterable])

虽然被称为函数,但 tuple 实际上是一个不可变的序列类型

62 class type(object)

class type(name, bases, dict)

传入一个参数时,返回 object 的类型:

In [186]: type(xiaoming)Out[186]: __main__.StudentIn [187]: type(tuple())Out[187]: tuple

63 zip(*iterables)

创建一个聚合了来自每个可迭代对象中的元素的迭代器:

In [188]: x = [3,2,1]In [189]: y = [4,5,6]In [190]: list(zip(y,x))Out[190]: [(4, 3), (5, 2), (6, 1)]In [191]: a = range(5)In [192]: b = list(\'abcde\')In [193]: bOut[193]: [\'a\', \'b\', \'c\', \'d\', \'e\']In [194]: [str(y) + str(x) for x,y in zip(a,b)]Out[194]: [\'a0\', \'b1\', \'c2\', \'d3\', \'e4\']

本期的Python学习教程就到这了,关于内置函数,伙伴们有要补充的欢迎留言。

更多的教程也会继续为大家更新!

发布了594 篇原创文章 · 获赞 118 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/chen801090/article/details/104023066