Python基础 ---Python常用的内置函数

Posted 牵只蜗牛去散步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础 ---Python常用的内置函数相关的知识,希望对你有一定的参考价值。

 

1. abs( )函数返回数字的绝对值。

print( abs(-45))                   # 返回 45
print("abs(0.2):",abs(0.2)) # 返回 abs(0.2): 0.2

 

2. all( ) 函数用于判断给定的参数中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。元素除了是 0、空、None、False 外都算 True;空元组、空列表返回值为True。

print( all( [0.1,1,-1] )  )          # 返回 True
print( all( (None,1) )  )          # 返回 False(其中一个元素为None)
print( all( [0,1,-1] )  )             # 返回 False(其中一个元素为0)
print( all( [" ","a",""] )  )     # 返回 False (第三个元素为空)

 

3.  any( ) 函数用于判断给定的参数是否全部为False,是则返回False,如果有一个为True,则返回True。 元素除了是 0、空、False外都算 TRUE。

复制代码
# 参数全部不为 0、空、FALSE
print(any("-45"))                     #  True
print(any(["-45"]))                   #  True
print( any( ("0","ab","") ) )     #  True(注意:第一个参数0加了双引号,表示为一个字符串)

# 参数全部为 0、空、False
print( any( (0,"") ) )                  #  False
print( any( (0,"",False) ) )         #  False
复制代码

 

4. bin()函数返回一个整数int或者长整数long int的二进制表示。

print( bin(10) )         #  0b1010
print( bin(133) ) # 0b10000101

 

5. bool() 函数用于将给定参数转换为布尔类型,如果参数不为空或不为0,返回True;参数为0或没有参数,返回False。

复制代码
print( bool(10) )                         #  True
print( bool([0]) )                         #  True
print( bool(["123","s",0]) )       #  True

print( bool(0) )                           #  False
print( bool() )                             #  False
复制代码

 

6. bytearray()方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256(即0-255)。即bytearray()是可修改的二进制字节格式。

1 b = bytearray("abcd",encoding="utf-8")
2 print(b[0])            #  返回数字97,即把“abcd”的“a"对应的ascii码打印出来了
3 b[0] = 99                #  把字符串第一个字节修改为99(即对应字母为“c”)
4 print(b)                #  返回:bytearray(b\'cbcd\')---第一个字节a已被修改为c

 

7. callable()函数用于检查一个对象是否可调用的。对于函数、方法、lambda函式、类以及实现了 __call__ 方法的类实例, 它都返回 True。(可以加括号的都可以调用)

1 def sayhi():pass                    #  先定义一个函数sayhi()
2 print( callable( sayhi ) )       #  True
1 a = 1
2 print( callable( a ) )              #  False

 

8. chr()函数用一个范围在range(256)内(即0~255)的整数作参数,返回一个对应的ASCII数值。

# 把数字98在ascii码中对应的字符打印出来
print( chr(98) )                   #  返回:b

 

9. dict()函数用来将元组/列表转换为字典格式。

复制代码
print(dict(a=\'a\', b=\'b\', t=\'t\'))
#  返回:{\'b\': \'b\', \'a\': \'a\', \'t\': \'t\'}

print(dict( [ (\'one\',1),(\'two\',2),(\'three\',3) ]  ) )   # 可迭代对象方式来构造字典
#  返回:{\'two\': 2, \'one\': 1, \'three\': 3}

print(dict(zip(["1","2","3"],["a","b","c"])))          # 映射函数方式来构造字典
#  返回:{\'2\': \'b\', \'3\': \'c\', \'1\': \'a\'}
复制代码

 

10. dir()函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。

复制代码
print( dir() )           #  获得当前模块的属性列表
#  返回:[\'__builtins__\', \'__cached__\', \'__doc__\', \'__file__\', \'__loader__\', \'__name__\', \'__package__\', \'__spec__\']

print( dir([]) ) # 查看列表的方法 # 返回:[\'__add__\', \'__class__\', \'__contains__\', \'__delattr__\', \'__delitem__\', \'__dir__\', \'__doc__\', \'__eq__\', \'__format__\', \'__ge__\',
\'__getattribute__\', \'__getitem__\', \'__gt__\', \'__hash__\', \'__iadd__\', \'__imul__\', \'__init__\', \'__iter__\', \'__le__\', \'__len__\', \'__lt__\',
\'__mul__\', \'__ne__\', \'__new__\', \'__reduce__\', \'__reduce_ex__\', \'__repr__\', \'__reversed__\', \'__rmul__\', \'__setattr__\', \'__setitem__\',
\'__sizeof__\', \'__str__\', \'__subclasshook__\', \'append\', \'clear\', \'copy\', \'count\', \'extend\', \'index\', \'insert\', \'pop\', \'remove\', \'reverse\',
\'sort\']
复制代码

 

11. divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(商x,余数y)。

print( divmod(5,2) )    #  返回:(2, 1)
print( divmod(5,1) )    #  返回:(5, 0)
print( divmod(5,3) )    #  返回:(1, 2)

 

12. enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。

1 seasons = [\'Spring\', \'Summer\', \'Fall\', \'Winter\']    
2 print(list(enumerate(seasons)))                  
# 返回:[(0, \'Spring\'), (1, \'Summer\'), (2, \'Fall\'), (3, \'Winter\')]
1 print(list(enumerate(seasons, start=1)) )         # 下标从 1 开始 
# 返回:[(1, \'Spring\'), (2, \'Summer\'), (3, \'Fall\'), (4, \'Winter\')]

 

13. eval() 函数用来执行一个字符串表达式,并返回表达式的值。 

print(eval(\'3 * 2\'))          # 6
1 x = 7
2 print(eval(\'3 + x\'))        # 10

 

14. exec() 执行储存在字符串或文件中的Python语句,相比于eval,exec可以执行更复杂的Python代码。 

exec("print(\'Hello World\')")        # 执行简单的字符串
# Hello World
复制代码
exec("for i in range(5): print(\'iter time is %d\'%i)")      # 执行复杂的for循环
# iter time is 0
# iter time is 1
# iter time is 2
# iter time is 3
# iter time is 4
复制代码

 

15.  filter()用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,可用list()来转换为列表。 

注意: filter()接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或 False,最后将返回 True 的元素放到新列表中。

复制代码
res = filter(lambda n:n>5,range(10))   # 过滤掉0-9中不符合n>5的数据
for i in res:                          # 循环打印符合n>5的数据
    print(i)  
    
# 5
# 6
# 7
# 8
# 9
复制代码

 

16. format()是一种格式化字符串的函数 ,基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。

复制代码
# 位置映射

print( "{}{}".format(\'a\',\'1\') )
# a1

print(\'name:{n},url:{u}\'.format(n=\'alex\',u=\'www.xxxxx.com\'))
# name:alex,url:www.xxxxx.com
复制代码
复制代码
# 元素访问

print( "{0[0]},{0[1]}".format((\'baidu\',\'com\')) )                # 按顺序
# baidu,com

print( "{0[2]},{0[0]},{0[1]}".format((\'baidu\',\'com\',\'www\')) )   # 不按顺序
# www,baidu,com
复制代码

 

17. float() 函数用于将整数和字符串转换成浮点数。

复制代码
print(float(1))
# 1.0

print(float(0.1))
# 0.1

print(float(\'123\'))
# 123.0
复制代码

 

18. frozenset() 返回一个冻结的集合(一个无序的不重复元素序列),冻结后集合不能再添加或删除任何元素。

复制代码
1 a = frozenset(range(10))             # 先创建一个冻结集合
2 print(a)                 
3 # frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
4 
5 del a[0]                             # 试图删除冻结集合a中的元素,报错
6 # TypeError: \'frozenset\' object doesn\'t support item deletion
复制代码
1 b = frozenset("happy")               # 将字符串转换成一个集合
2 print(b)
3 # frozenset({\'a\', \'h\', \'p\', \'y\'})    # 无序不重复
1 c = frozenset()                      # 创建一个空集合
2 print(c)
3 # frozenset()                        # 如果不提供任何参数,默认会生成空集合

 

19. globals() 函数会以字典格式返回当前位置的全部全局变量。

复制代码
print(globals())     # globals 函数返回一个全局变量的字典,包括所有导入的变量。

#  {\'__file__\': \'C:/Users/Administrator/PycharmProjects/test/day4/内置函数-globals().py\', \'__spec__\': None, \'__doc__\': None, \'__package__\': None,
\'a\': \'append\', \'__cached__\': None, \'__loader__\': <_frozen_importlib_external.SourceFileLoader object at 0x0000000000666B00>,
\'__builtins__\': <module \'builtins\' (built-in)>, \'__name__\': \'__main__\'}
复制代码

 

20. hasattr() 函数用于判断对象是否包含对应的属性。如果对象有该属性返回 True,否则返回 False。

复制代码
1 class t:
2     a = 1
3     b = 2
4     c = 3
5 
6 p = t()
7 print(hasattr(p,\'a\'))    # True
8 print(hasattr(p,\'b\'))    # True
9 print(hasattr(p,\'x\'))    # False
复制代码

 

21. hash() 用于获取一个对象(数字或者字符串等)的哈希值。不能直接应用于 list、set、dictionary。

注意:在 hash() 对对象使用时,所得的结果不仅和对象的内容有关,还和对象的 id(),也就是内存地址有关。

print(hash(1))                  # 1
print(hash(20000))              # 20000
print(hash(\'123\'))              # -6436280630278763230
print(hash(\'ab12\'))             # 5468785079765213470
print(hash(\'ab12\'))             # 5468785079765213470

 

22. help() 函数用于查看函数或模块用途的详细说明。

help(\'sys\')             # 查看 sys 模块的帮助
help(\'str\')             # 查看 str 数据类型的帮助
a = [1,2,3]
help(a)                 # 查看列表 list 帮助信息
help(a.append)          # 显示list的append方法的帮助

 

23. hex() 函数用于将一个整数转换为十六进制数。返回一个字符串,以0x开头。

print(hex(1))        # 0x1

print(hex(-256))     # -0x100
print(type(hex(-256)))    #<class \'str\'>

 

24. id()函数用于获取对象的内存地址。

复制代码
a = "123"                             # 字符串
print(id(a))                          # 13870392

b = [1,2,3]                           # 列表
print(id(b))                          # 7184328

c = {\'num1\':1,\'num2\':2,\'num3\':3}       # 字典
print(id(c))                           # 6923656
复制代码

 

25. input() 函数接受一个标准输入数据,返回为 string 类型。这个函数是最最常用的了。在Python3.x中 raw_input() 和 input() 进行了整合,仅保留了input( )函数。

复制代码
a = \'123456\'
b = input("username:")

if b == a :            # 如果b的输入数据等于a存储的数据,打印”right“
    print("right")
else:                  # 否则打印”wrong“
    print("wrong")
复制代码

    

 

26. int() 函数用于将一个字符串或数字转换为整型。

print(int())                # 不传入参数时,得到结果0
print(int(0.5))             # 去掉小数部分,得到结果0
print(int(3))               # 得到结果3
print(int(\'0xa\',16))        # 十六进制数“0xa”转换成十进制整数,得到结果10
print(int(\'00010\',2))       # 二进制数“00010”转换成十进制整数,得到结果2

 

 27. isinstance() 函数来判断一个对象是否是一个已知的类型,返回布尔值。类似 type()。

复制代码
a = 2

print(isinstance(a,int))                   #  True
print(isinstance(a,str))                   #  False
print(isinstance(a,(str,tuple,dict)))      #  False
print(isinstance(a,(str,tuple,int)))       # 是元组其中的一个则返回True
复制代码
  • isinstance() 与 type() 区别:

       type() 不会认为子类是一种父类类型,不考虑继承关系。     
     isinstance() 会认为子类是一种父类类型,考虑继承关系。
  
     如果要判断两个类型是否相同推荐使用 isinstance()。

示例:
复制代码
 1 class A:
 2     pass
 3 
 4 class B(A):
 5     pass
 6 
 7 print(isinstance(A(),A))    # True
 8 print( type(A()) == A )     # True
 9 
10 print(isinstance(B(),A))    # True
11 print( type(B()) == A )     # False   --type()不考虑继承关系
复制代码

 

28. issubclass()用于判断参数class是否是类型参数classinfo的子类,是则返回True,否则返回False。

      语法:issubclass(class,classinfo)。 

复制代码
1 class a:
2     pass
3 class b(a):     # b继承了a,即b是a的子类
4     pass
5 
6 print(issubclass(a,b))    # 判断 a 是 b 的子类?
7 # False
8 print(issubclass(b,a))    # 判断 b 是 a 的子类?
9 # True
复制代码

 

 29. iter() 函数用来生成迭代器。list、tuple等都是可迭代对象,我们可以通过iter()函数获取这些可迭代对象的迭代器,然后可以对获取到的迭代器不断用next()函数来获取下条数据。iter()函数实际上就是调了可迭代对象的 __iter__ 方法。

# 注意:当已经迭代完最后一个数据之后,再次调用next()函数会抛出 StopIteration的异常,来告诉我们所有数据都已迭代完成。 

复制代码
 1 it = [1,2,3]
 2 it_list = iter(it)
 3 
 4 print(next(it_list))
 5 # 1
 6 print(next(it_list))
 7 # 2
 8 print(next(it_list))
 9 # 3
10 print(next(it_list))
11 # StopIteration
复制代码

 

30. len() 方法返回对象(字符、列表、元组等)长度或元素个数。

复制代码
# len()方法返回对象(字符、列表、元组等)长度或元素个数。
print(len(\'1234\'))              # 字符串,返回字符长度4
print(len([\'1234\',\'asd\',1]))    # 列表,返回元素个数3
print(len((1,2,3,4,50)))        # 元组,返回元素个数5

print(len(12))                  # 注意:整数类型不适用,否则报错
# TypeError: object of type \'int\' has no len()
复制代码

 

 31.  list() 方法用于将元组转换为列表。

 注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。

print( list((1,2,3)))           # [1, 2, 3]

 

32. map()接收函数f和list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。

复制代码
 1 res = map(lambda n: n*2,[0,1,2,3,4,5])    # 使用 lambda 匿名函数
 2 for i in res:
 3     print(i)
 4 
 5 # 返回以下数据:
 6 # 0
 7 # 2
 8 #以上是关于Python基础 ---Python常用的内置函数的主要内容,如果未能解决你的问题,请参考以下文章

2Docker 基础安装和基础使用

linux基础知识都有哪些

NET基础:类型基础

Scrum基础知识介绍

Android基础教程第4版 PDF下载

计算机二级 公共基础知识