python3 内置函数(四)

str()函数

    描述:str()函数将对象转化为适合于人阅读的形式

    语法:class str(object=' ')

    参数:object--对象

    返回值:返回一个对象的string格式

    python3中实例

s = 'QILIN'
a = str(s)          #QILIN
dict = {'runoob':'runoob.com','google':'google.com'}
b = str(dict)

print(a,b)          #{'runoob': 'runoob.com', 'google': 'google.com'}

bool()函数

    描述:bool()函数用于将给定参数转换为布尔类型,若没有参数,返回False

    语法:class bool([x])

    参数:x--要进行转换的参数

    返回值:返回True或False

    python3中实例:

a = bool()          #False
b = bool(0)         #False
c = bool(1)         #True
d = issubclass(bool, int)   #boolint子类,返回True

print(a,b,c,d)

exec函数

    描述:exec执行储存在字符串或文件中的python语句,相比于 eval,exec可以执行更复杂的 Python 代码。

    语法:exec(object[, globals[, locals]])

    参数:object--必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行

               globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。

             locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

    返回值:exec返回值永远为None

    python3中实例:

#单行语句字符
exec('print("Hello World")')
#Hello World

#多行语句字符串
exec ("""for i in range(5):
                print ("iter time: %d" % i)
         """)
# iter time: 0
# iter time: 1
# iter time: 2
# iter time: 3
# iter time: 4

isinstance()函数

    描述:isinstance()函数来判断一个对象是否是一个已知的类型,类似type()

                isinstance()与type()区别:

                        type()不会认为子类是一种父类类型,不考虑继承关系

                        isinstance()会认为子类是一种父类类型,考虑继承关系

                如果要判断两个类型是否相同推荐使用isinstance()

    语法:isinstance(object, classinfo)

    参数:object--实例对象

                classinfo--可以是直接或间接类名、基本类型或由他们组成的元组

    返回值:如果对象的类型与参数的类型(classinfo),相同返回True,不同返回False

    python3中实例:

a = 2
c=isinstance(a,int)          #True
d=isinstance(a,str)          #False
e=isinstance(a,(str,int,list))  #True
print(c,d,e)
#type()isinstance()的区别
class A:
    pass
class B:
    pass

isinstance(A(),A)       # returns True
type(A()) == A          # returns True
isinstance(B(),A)       # returns True
type(B()) == A          # returns False

ord()函数

    描述:ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

    语法:ord(c)

    参数:c--字符

    返回值:返回值是对应的十进制整数

    python3中实例:

A = ord('a')        #97
B = ord('b')        #98
C = ord('c')        #99
print(A,B,C)

sum()函数

    描述:sum()方法对系列进行求和计算

    语法:sum(iterable[, start])

    参数:iterable--可迭代对象,如:列表、元组、集合

                start--指定相加的参数,如果没有设置这个值,默认为0

    返回值:返回计算结果

    python3中实例:

a = sum([0,1,2])
b = sum((2, 3, 4), 1)       # 元组计算总和后再加 1
c = sum([0,1,2,3,4], 2)     # 元组计算总和后再加 2

print(a,b,c)    #3 10 12

bytearray()函数

    描述:bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

    语法:class bytearray(source[, encoding[, errors]])

    参数:    

  • 如果 source 为整数,则返回一个长度为 source 的初始化数组;
  • 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
  • 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
  • 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
  • 如果没有输入任何参数,默认就是初始化数组为0个元素。

    返回值:返回新字节数组

    python3中实例:

a = bytearray()             #bytearray(b'')
b = bytearray([1,2,3])      #bytearray(b'\x01\x02\x03')
c = bytearray('good', 'utf-8')  #bytearray(b'good')

print(a,b,c)

filter()函数

    描述:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表

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

    语法:filter(function, iterable)

    参数:function--判断函数

                iterable--可迭代对象

    返回值:返回列表

    python3中实例:

#过滤出列表中的所有奇数:
def is_odd(n):
    return n % 2 == 1

newlist = filter(is_odd,[1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)    #[1, 3, 5, 7, 9]

#过滤出1~100中平方根是整数的数:
import math
def is_sqr(x):
    return math.sqrt(x) % 1 == 0

newlist = filter(is_sqr, range(1, 101))
print(newlist)  #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

issubclass()函数

    描述:issubclass()方法用于判断参数class是否是类型参数classinfo的子类

    语法:issubclass(class, classinfo)

    参数:class--类

              classinfo--类

    返回值:如果class是classinfo的子类返回True,否则返回False

    python3中实例:

class A:
    pass
class B(A):
    pass

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

pow()函数

    描述:pow()方法返回 x^y(x的y次方)的值

    语法:pow(x, y[, z])

    参数:x、y、z皆为数字表达式

    返回值:返回 x的y次方 的值

    python3中实例:

import math

print ("math.pow(100, 2) : ", math.pow(100, 2))
# 使用内置,查看输出结果区别
print ("pow(100, 2) : ", pow(100, 2))
print ("math.pow(100, -2) : ", math.pow(100, -2))
print ("math.pow(2, 4) : ", math.pow(2, 4))
print ("math.pow(3, 0) : ", math.pow(3, 0))

#运行结果如下
#pow(100, 2) :  10000
#math.pow(100, -2) :  0.0001
#math.pow(2, 4) :  16.0
#math.pow(3, 0) :  1.0

super()函数

    描述:    super() 函数是用于调用父类(超类)的一个方法。

                    super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

                    MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。

    语法:super(type[, object - or - type])

    参数:type--类型

                object - or - type--类,一般是self

    返回值:无

    python3中实例:

class FooParent(object):
    def __init__(self):
        self.parent = 'I\'m the parent.'
        print('Parent')

    def bar(self, message):
        print("%s from Parent" % message)


class FooChild(FooParent):
    def __init__(self):
        # super(FooChild,self) 首先找到 FooChild 的父类(就是类 FooParent),然后把类B的对象 FooChild 转换为类 FooParent 的对象
        super(FooChild, self).__init__()
        print('Child')

    def bar(self, message):
        super(FooChild, self).bar(message)
        print('Child bar fuction')
        print(self.parent)


if __name__ == '__main__':
    fooChild = FooChild()
    fooChild.bar('HelloWorld')

#运行结果:
# Parent
# Child
# HelloWorld from Parent
# Child bar fuction
# I'm the parent


               

猜你喜欢

转载自blog.csdn.net/qq_39097722/article/details/80948838