python学习 —— 内置函数(二):basestring,execfile,issubclass,print,super,bin,iter,property,bool,filter

1、basestring

语法:

isinstance(obj, basestring)

作用 / 返回值:
basestring是一个抽象类,不能被调用或实例化;
isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode));
可以判断一个对象是否为 str 或 unicode 的实例;

2、execfile

语法:

python3中使用:exec(open(filename).read())

作用 / 返回值:
用来执行一个文件;

代码演示:
文件file.py如下:
在这里插入图片描述

exec(open('file.py').read())

在这里插入图片描述

3、issubclass

语法:

issubclass(class, classinfo)

两个参数均为类名;

作用 / 返回值:
用于判断参数 class 是否为 classinfo 的子类;(是子类返回True,否则返回False)

代码演示:

class A:
    pass

class B(A):
    pass

class C(B):
    pass

class D:
    pass

print('1、', issubclass(B, A))
print('2、', issubclass(C, A))
print('3、', issubclass(D, A))

在这里插入图片描述

4、print

语法:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

objects:一次可以输入多个对象,用逗号间隔;
sep:用来间隔多个对象,默认是空格;
end:规定输出后以什么结尾,默认是换行符;
file:要写入的文件对象;
flush:输出是否被缓存常取决于file,但若flush为Ture,流会被强制刷新;

作用 / 返回值:
打印输出;

代码演示:

f = open('file.txt', 'w')
a, b, c = 1, 'bbb', [1, 2, 3]
print(a, b, c)
print(a, b, c, sep='##')
print(a, '\n', b, '\n', c, file=f)

在这里插入图片描述
在这里插入图片描述

5、super

语法:

super(type[, object-or-type])

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

作用 / 返回值:
用于调用父类的一个方法;
解决多重继承的问题;

代码演示:

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

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

class B(A):
    def __init__(self):
        super(B, self).__init__()
        print('Child')

    def bar(self, message):
        super(B, self).bar(message)
        print('Child bar function')
        print(self.parent)

if __name__ == '__main__':
    child = B()
    child.bar('hello')

在这里插入图片描述

6、bin

语法:

bin(x)

x:int 或 long int 数字;

作用 / 返回值:
返回一个整数 int 或者长整数 long int 的二进制表示;(返回的是字符串)

代码演示:

a = bin(127)
print(a)
print(type(a))

在这里插入图片描述

7、iter

语法:

iter(object[, sentinel])

object:支持迭代的对象;
sentinel:若传入了这个参数,则object必须是一个可调用的对象(如函数),此时iter创建了一个迭代器对象,每次调用这个对象的__next__()方法时,都会调用object;

作用 / 返回值:
用来生成迭代器;

代码演示:

a_list = [1, 2, 3, 'a', 'b', 'c']
for i in iter(a_list):
    print(i)

在这里插入图片描述

8、property

语法:

class property([fget[, fset[, fdel[, doc]]]])

fget:获取属性值的函数;
fset:设置属性值的函数;
fdel:删除属性值的函数;
doc:属性描述信息;

作用 / 返回值:
将方法当作属性来访问;
在新式类中返回属性值;

代码演示:

class C(object):
    def __init__(self):
        self._x = None

    def getx(self):
        return self._x

    def setx(self, value):
        self._x = value

    def delx(self):
        del self._x

    x = property(getx, setx, delx, "I'm the 'x' property.")

经过以上定义后,在用户端访问x即可,无需使用函数名进行操作;

9、bool

语法:

bool([x])

作用 / 返回值:
将给定参数转化为布尔类型(Ture / False);
若无参数,返回False;
bool 是 int 子类;

代码演示:

print('1、', bool())
print('2、', bool(0))
print('3、', bool(1))
print('4、', bool(2))
print('5、', bool(False))
print('6、', bool(True))
print('7、', bool(''))
print('8、', issubclass(bool, int))

在这里插入图片描述

10、filter

语法:

filter(function, iterable)

function:判断函数;
iterable:序列,可迭代对象;

作用 / 返回值:
用于过滤序列;
序列的每个元素传递给函数进行判断,返回True或False,最后将返回Ture的函数放在新列表中;
(过滤到不符合条件的元素,返回迭代器对象)

代码演示:

# 过滤出所有的奇数

a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def is_odd(x):
    return x % 2 == 1

new_list = filter(is_odd, a_list)
for i in new_list:
    print(i, end=' ')

在这里插入图片描述

参考:https://www.runoob.com/python/python-func-super.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值