欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-12 17:56:41
...

这里接着上次的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学习教程就到这了,关于内置函数,伙伴们有要补充的欢迎留言。

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

相关标签: Python学习教程