python的内置函数2--2018-08-10

2018-08-14  本文已影响0人  有可能_666

1.isinstance()函数
描述:isinstance()函数判断一个对象是否是一个已知的类型,类似type()
isinstance() 与type()区别:
type()不会认为子类是一种父类类型,不考虑继承关系。
isinstance()会认为子类是一种父类类型,考虑继承关系
如果要判断两个类型是否相同推荐使用isinstance()
语法:
isinstance(object,classinfo)
参数:


>>>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

2.issubclass()函数
描述:issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。
语法:
issubclass(class, classinfo)
参数:


class A:
    pass
class B(A):
    pass

print(issubclass(B,A))    # 返回 True

3.iter()函数
描述:iter() 函数用来生成迭代器。
语法:iter(object[, sentinel])
参数:


>>>lst = [1, 2, 3]
>>> for i in iter(lst):
...     print(i)
... 
1
2
3

4.map()函数
描述:
map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
语法:
map(function, iterable, ...)
参数:

返回值:

实例:

>>>def square(x) :            # 计算平方数
...     return x ** 2
... 
>>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用lambda 匿名函数
[1, 4, 9, 16, 25]

# 提供了两个列表,对相同位置的列表数据进行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

5.property()函数
描述:
property()函数的作用在新式类中返回属性值
语法:
class property([fget[, fset[, fdel[, doc]]]])
参数:
fegt--获取属性值的函数
fset--设置属性值的函数
fdel--删除属性值的函数
doc--属性描述信息

返回值:
返回新式类属性
实例:http://www.runoob.com/python/python-func-property.html


6.repr()函数
描述:repr()函数将对象转化为供解释器读取的形式
语法:
repr(object)
返回值:返回一个对象的string格式
实例:


>>>s = 'RUNOOB'
>>> repr(s)
"'RUNOOB'"
>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
>>> repr(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>

7.reversed函数
描述:
reversed函数返回一个反转迭代器。
语法
reversed(seq)
参数:
seq -- 要转换的序列,可以是 tuple, string, list 或 range。
返回值:
返回一个反转的迭代器
实例:


# 字符串
seqString = 'Runoob'
print(list(reversed(seqString)))

# 元组
seqTuple = ('R', 'u', 'n', 'o', 'o', 'b')
print(list(reversed(seqTuple)))

# range
seqRange = range(5, 9)
print(list(reversed(seqRange)))

# 列表
seqList = [1, 2, 4, 3, 5]
print(list(reversed(seqList)))



['b', 'o', 'o', 'n', 'u', 'R']
['b', 'o', 'o', 'n', 'u', 'R']
[8, 7, 6, 5]
[5, 3, 4, 2, 1]

8.sorted()函数
描述:
sorted()函数对所有课迭代的对象进行排序操作
sort与sorted区别:
sort是应用在list上的方法,sorted可以对所有可迭代对象进行排序操作,list的sort方法返回的是对已经存在的列表进行操作,而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行操作

语法:sorted(iterable, key=None, reverse=False)

参数说明:

返回值 :返回重新排序的列表。
实例:


>>>sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]                      # 默认为升序
你也可以使用 list 的 list.sort() 方法。这个方法会修改原始  的 list(返回值为None)。
通常这个方法不如sorted()方便-如果你不需要原始的 list,list.sort()方法效率会稍微高一些。

>>>a=[5,2,3,1,4]
>>> a.sort()
>>> a
[1,2,3,4,5]
另一个区别在于list.sort() 方法只为 list 定义。而 sorted() 函数可以接收任何的 iterable。

>>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
[1, 2, 3, 4, 5]
利用key进行倒序排序

>>>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]
>>>
上一篇下一篇

猜你喜欢

热点阅读