内置函数 zip() 【压缩】
描述zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 ***** 号操作符,可以将元组解压为列表。
语法zip 语法:
1zip([iterable, ...])
参数说明:
iterabl – 一个或多个迭代器;
返回值返回一个对象。
实例以下实例展示了 zip 的使用方法:
实例(Python 3.0+)1234567891011121314151617>>> a = [1,2,3]>>> b = [4,5,6]>>> c = [4,5,6,7,8]>>> zipped = zip(a,b) # 返回一个对象>>> zipped<zip object at 0x103abc288>>>> list(zipped) # list() 转换为列表 ...
内置函数 vars() 【字典】
描述vars() 函数返回对象object的属性和属性值的字典对象。
语法vars() 函数语法:
1vars([object])
参数
object – 对象
返回值返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值 类似 locals()。
实例以下实例展示了 vars() 的使用方法:
12345678910>>>print(vars()){'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, '__package__': None}>>> class Runoob:... a = 1... >>> print(vars(Runoob)){'a': 1, ' ...
内置函数 type() 【类型】
描述type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
语法以下是 type() 方法的语法:
12type(object)type(name, bases, dict)
参数
name – 类的名称。
bases – 基类的元组。
dict – 字典,类内定义的命名空间变量。
返回值一个参数返回对象类型, 三个参数,返回新的类型对象。
实例以下展示了使用 type 函数的实例:
1234567891011121314151617181920# 一个参数实例>>> type(1)<type 'int'>>>> type('runoob')<type 'str'>>>> ...
内置函数 tuple() 【元组】
描述tuple 函数将可迭代系列(如列表)转换为元组。
语法以下是 tuple 的语法:
1tuple( iterable )
参数
iterable – 要转换为元组的可迭代序列。
返回值返回元组。
实例以下展示了使用 tuple 的实例:
实例1234>>>list1= ['Google', 'Taobao', 'Runoob', 'Baidu']>>> tuple1=tuple(list1)>>> tuple1('Google', 'Taobao', 'Runoob', 'Baidu')
tuple() 可以将字符串,列表,字典,集合转化为元组;
1234567891011121314>>> a= 'www'>>> b=tuple(a)>>> b('w', ' ...
内置函数 super() 【超父类】
描述super() 函数是用于调用父类(超类)的一个方法。
super() 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。
MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。
语法以下是 super() 方法的语法:
1super(type[, object-or-type])
参数
type – 类。
object-or-type – 类,一般是 self
Python3.x 和 Python2.x 的一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx :
Python3.x 实例:123456789class A: def add(self, x): y = x+1 print(y)class B(A): def add(self, x): super().add(x)b = B()b.add(2) # 3
返回值无。 ...
内置函数 sum() 【求和】
描述sum() 方法对序列进行求和计算。
语法以下是 sum() 方法的语法:
1sum(iterable[, start])
参数
iterable – 可迭代对象,如:列表、元组、集合。
start – 指定相加的参数,如果没有设置这个值,默认为0。
返回值返回计算结果。
实例以下展示了使用 sum 函数的实例:
123456>>>sum([0,1,2]) 3 >>> sum((2, 3, 4), 1) # 元组计算总和后再加 110>>> sum([0,1,2,3,4], 2) # 列表计算总和后再加 212
内置函数 str() 【字符串】
描述str() 函数将对象转化为适于人阅读的形式。
语法以下是 str() 方法的语法:
1class str(object='')
参数
object – 对象。
返回值返回一个对象的string格式。
实例以下展示了使用 str() 方法的实例:
1234567>>>s = 'RUNOOB'>>> str(s)'RUNOOB'>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};>>> str(dict)"{'google': 'google.com', 'runoob': 'runoob.com'}">>>
内置函数 staticmethod() 【静态方法】
python staticmethod 返回函数的静态方法。
该方法不强制要求传递参数,如下声明一个静态方法:
1234class C(object): @staticmethod def f(arg1, arg2, ...): ...
以上实例声明了静态方法 f,从而可以实现实例化使用 **C().f()**,当然也可以不实例化调用该方法 **C.f()**。
函数语法1staticmethod(function)
参数说明:
无
实例12345678910# -*- coding: UTF-8 -*- class C(object): @staticmethod def f(): print('runoob'); C.f(); # 静态方法无需实例化cobj = C()cobj.f() # 也可以实例化后调用
以上实例输出结果为:
12runoobrunoob
内置函数 sorted() 【排序】
描述sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
语法sorted 语法:
1sorted(iterable, key=None, reverse=False)
参数说明:
iterable – 可迭代对象。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值返回重新排序的列表。
实例以下实例展示了 sorted 的最简单的使用方法:
12>>> sorted([5, 2, 3, 1, 4])[1, 2, 3, 4, 5] ...
内置函数 slice() 【切片】
描述slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。
语法slice 语法:
12class slice(stop)class slice(start, stop[, step])
参数说明:
start – 起始位置
stop – 结束位置
step – 间距
返回值返回一个切片对象。
实例以下实例展示了 slice 的使用方法:
123456789>>>myslice = slice(5) # 设置截取5个元素的切片>>> mysliceslice(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]>>>