首页 > 编程语言 > 详细

python 内建函数

时间:2020-04-09 17:40:27      阅读:77      评论:0      收藏:0      [点我收藏+]

1、标识 id
  返回对象的唯一标识,CPython返回内存地址

2、哈希hash()
  返回一个对象的哈希值

3、类型type()
  返回对象的类型

print(type(1),type(int),type(type),type([]),type(abc),type(list))    #返回 type——> class

执行结果:
<class int> <class type> <class type> <class list> <class str> <class type>

 

4、类型转换
  float() int() bin() hex() oct() bool() list() tuple() dict() set() complex() bytes() bytearray()

5、输入input([prompt])
  接收用户输入,返回一个字符串

6、打印print(*objects, sep=‘ ‘, end=‘\n‘, file=sys.stdout, flush=False)
  打印输出默认使用空格分割,换行结尾,输出到控制台
  FD(文件描述符):0(stdin:标准输入)    1(stdout:标准输出)    2(标准错误输出)

7、对象长度len(s)
  返回一个集合类型的元素个数

8、isinstance(obj, class_or_tuple)
  判断对象obj是否属于某种类型或者元组中列出的某个类型

print(isinstance(True, int))
print(isinstance(123, (bool, str, int)))

执行结果:
True
True

 

9、issubclass(cls, class_or_tuple)
  判断类型cls是否是某种类型的子类或元组中列出的某个类型的子类

print(issubclass(bool, int))    # bool 是 int 的子类(继承关系)

执行结果:
True


10、绝对值abs(x) x为数值
  最大值max()最小值min()
  返回可迭代对象中最大或最小值
  返回多个参数中最大或最小值

11、round(x)四舍六入五取偶,round(-0.5)

print(round(1.4),round(1.5),round(1.6))

执行结果:
print(round(1.4),round(1.5),round(1.6))

 

12、pow(x, y)等价于x**y

13、range(stop)从0开始到stop-1的可迭代对象;range(start, stop[, step])从start开始到stop-1结束步长为step的可迭代对象

14、divmod(x, y)等价于tuple (x//y, x%y)

print(divmod(5,2))    # (5//2, 5%2)

执行结果:
(2, 1)


15、sum(iterable[, start]) 对可迭代对象的所有数值元素求和

# sum = 1    sum不是关键字keyword,请不要这样指定
print(sum(range(5)))
print(sum(range(5), 10))
#print(sum({range(5)}))    # 错误,请使用sum(set(range(5))

执行结果:
10
20

 

16、chr(i)给一一个一定范围的整数返回对应的字符

17、ord(c)返回字符对应的整数,返回的是Unicode

print(chr(65),chr(0x41))
print(ord(A),hex(ord(A)))    # unicode

执行结果:
A A
65 0x41

 

18、str()、repr()、 ascii()

# 字符串强制类型转换,获取一个对象的字符串表达形式
print(str(range(10)),str(list()))

执行结果:
range(0, 10) []

 

19、sorted(iterable[, key][ reverse])排序
  立即返回一个新的列表,默认升序
  reverse是反转

lst = list(range(10))
lst.sort(reverse=True)    # 默认升序,reverse=True:反转
print(lst)

执行结果:
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
lst = list(range(10))
print(sorted(lst))        # 立即返回一个新的列表,其中待排序数据必须能够比较大小
print(sorted(lst,reverse=True))

执行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
‘‘‘
为了解决不同类型之间非要排序问题,提供了一个参数 key,key是函数,这个函数可以把元素强制
装换为你指定的类型,但转换后的结果只是用来比较大小的,不改变最后生成的列表中的元素本身
‘‘‘
lst = list(range(10))
newlist = lst + [1]
print(newlist)
#sorted(newlist)    # TypeError: ‘<‘ not supported between instances of ‘str‘ and ‘int‘
print(sorted(newlist, key=int))
print(sorted(newlist + [a, b], key=str, reverse=True))

执行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1]
[0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[b, a, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1, 0]
lst = list(range(10))
newlist = lst + [1]
print(sorted({x:100 for x in newlist}, key=str))
print(sorted({str(x):100 for x in newlist}))    #覆盖:1
print(sorted({x:100 for x in newlist}, key=int))

执行结果:
[0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9]


20、翻转reversed(seq)
  返回一个翻转元素的迭代器

print(list(reversed("13579")))
#reversed(set(range(10)))    # 无序的不能倒转
#{reversed((2, 4))}          # 应使用 set(reversed((2, 4)))
for x in reversed([c,b,a]):
    print(x)
print(reversed(sorted({1, 5, 9})))    # 迭代器,惰性的

执行结果:
[9, 7, 5, 3, 1]
a
b
c
<list_reverseiterator object at 0x0000012FE07E38C8>


21、枚举enumerate(seq, start=0)
  迭代一个序列,返回索引数字和元素构成的二元组
  start表示索引开始的数字,默认是0

for x in enumerate([2,4,6,8]):
    print(x)

for x in enumerate("abcde"):
    print(x,end=" ")

执行结果:
(0, 2)
(1, 4)
(2, 6)
(3, 8)
(0, a) (1, b) (2, c) (3, d) (4, e) 


22、迭代器和取元素iter(iterable)、next(iterator[, default])
  iter将一个可迭代对象封装成一个迭代器
  next对一一个迭代器取下一个元素,如果全部元素都取过了,再次next会抛Stoplteration异常

g = iter(range(5))
print(g)
print(next(g))
print(next(g))

执行结果:
<range_iterator object at 0x000002A9B2819350>
0
1


23、可迭代对象
  能够通过迭代一次次返回不同的元素的对象
    所谓相同,不是指值是否相同,而是元素在容器中是否是同一个,例如列表中值可以重复的,[‘a‘, ‘a‘],虽然这个列表有2个元素,值一样,但是两个‘a‘是不同的元素,因为有不同的索引
  可以迭代,但是未必有序,未必可索引
  可迭代对象有:list、tuple、string、bytes、bytearray、range对象、set、dict、生成器、迭代器等
  可以使用成员操作符in、not in、in本质上对于线性结构就是在遍历对象,非线性结构求hash

print(3 in range(10))
print(3 in (x for x in range(10)))
print(3 in {x:y for x,y in zip(range(4),range(4,10))})

执行结果:
True
True
True

 

python 内建函数

原文:https://www.cnblogs.com/zyybky/p/12667971.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!